티스토리 뷰

etc/개발 Note

개발 Note - Jun 23 Tue

KyeongRok Kim 2015. 6. 23. 16:01

개발 Note - Jun 23 Tue



DB에서 Foreign key 쓰는 이유


에 대해서 생각해 보았다.


왜 Foreign key를 쓰는가? 당연히 필요하니까 쓰겠지 했는데 이번에 data를 1년치 1만건 정도를 썼다 지웠다 고쳤다 하는 프로그램을 만들면서 필요성을 어렴풋이 인지 했다.


Foreign key를 안쓰면 table 간에 관계가 맺어지지 않아서 데이터가 잘못 들어가도 프로그램이 db에 넣을 때 db가 에러를 안뱉기 때문에 문제가 될 수 있다.



Primary key도 마찬가지임. Primary key를 여러개의 field로 구성을 할 수도 있는데 이를테면 '이름', '생년월일'로 하는 경우이다.


이름과 생일이 모두 같은 경우는 매우 드물기 때문에 key로 정할 수 있는 기준이 몇개 없을때는 '이름', '생년월일'도 꽤 괜찮은 pk가 될 수 있다고 생각한다.


data가 한눈에 보인다면 굳이 index를 걸지 않고도 손쉽게 중복 여부를 눈으로 확인 할 수 있지만 index를 걸어놓지 않고 중복된 경우에 data가 많아서 스크롤로 2-3페이지 넘어가 버리면 식별이 안되기 때문에 key를 걸어서 중복된 데이터를 db가 알아서 걸러주도록 하는게 좋은 방법이지 싶다. ㅇㅇ 그러하다.


key를 정하지 않고 db 작업을 하면 중복 될까봐 계속 신경쓰인다.



end.




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

Programming Lesson 일지 - Jun 28 Sun  (0) 2015.06.29
개발 Note - Jun 25 Thur  (0) 2015.06.25
개발 Note - Jun 22 Mon  (0) 2015.06.22
Programming Lesson 일지 - Jun 20 Sat  (0) 2015.06.22
개발 Note - Jun 21 Sun  (0) 2015.06.21
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함