티스토리 뷰

etc/개발 Note

개발 Note - Jun 22 Mon

KyeongRok Kim 2015. 6. 22. 16:05

개발 Note - Jun 22 Mon





Table 2개에 data를 넣어야 하는 경우

table, table_mapping table 2개를 가지고 프로그램을 만든 경우 얘네들 각각의 상태를 함께 관리 해주어야하는 경우가 있다.


이 작업이 생각보다 까다롭다.


경우의 수가 여러가지가 나오는데 그걸 다 처리 해주어야 하기 때문이다.

실제로 사용 하는 table은 mapping table이지만 data는 mapping table과 연결된 table이 들고 있는 경우이다.


예를 들어 '학생' table 'student'를 사용 해서 '학생이 속해있는 반'에 대한 정보를 관리 해야 하는 경우이다.

고등학교라고 하면 '학생'은 학년별로 속해있는 반이 달라지고, 전학을 갈 수도 있고 전학을 올 수도 있다.

'student' table에 '반' 정보를 넣는 다면 학생이 학년이 올라가게 되면 'student' table에 '반' field를 수정 해주어야 한다.


내가 '담임'이라면 한 학년의 한개 '반'만 관리 하면 되므로 'student' table에 '반'정보를 넣는 방법도 괜찮겠지만 학교 전체 학생을 관리해야 하는 경우 이 작업은 db를 수정하는 과정에서 오류가 생길 가능성이 많은 작업으로 생각된다.



그래서 '학생'을 '반'과 연결을 해주는 table을 따로 만들어서 관리 하는 방법을 사용한다. 그런데 table을 나누는 작업은 table을 일단 나누어 주어야 하는 복잡도가 증가 하고, data를 넣거나 수정 할 때도 두가지 table을 고려 해야 하기 때문에 이것도 나름 복잡하다.


하지만 조금 더 넓은 범위를 관리하려면 추상화한 방법이 비교적 좋기 때문에 나누어서 가는걸로 한다.



end.



'etc > 개발 Note' 카테고리의 다른 글

개발 Note - Jun 25 Thur  (0) 2015.06.25
개발 Note - Jun 23 Tue  (0) 2015.06.23
Programming Lesson 일지 - Jun 20 Sat  (0) 2015.06.22
개발 Note - Jun 21 Sun  (0) 2015.06.21
개발 Note - Jun 19 fri  (0) 2015.06.19
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함