1
참여 형태를 먼저 확인
예시 관계: 사원과 주차공간은 1:1이지만, 두 개체가 관계에 참여하는 강도는 다를 수 있습니다.
사원
주차공간이 없을 수도 있음
→ 부분 참여
→ 부분 참여
주차공간
반드시 어떤 사원에게 배정됨
→ 전체 참여
→ 전체 참여
한쪽이 반드시 관계에 참여한다면 그쪽 테이블에 FK를 두는 것이 자연스럽습니다. 모든 행에 값이 들어가므로 불필요한 NULL을 만들지 않습니다.
예시 관계: 사원과 주차공간은 1:1이지만, 두 개체가 관계에 참여하는 강도는 다를 수 있습니다.
이 예시에서는 주차공간이 관계에 항상 들어오므로, FK는 주차공간 테이블에 두는 편이 맞습니다.
둘 다 관계가 없을 수 있으면 어느 쪽에 FK를 두어도 이론적으로 가능합니다.
전체 참여가 보이면 그쪽에 FK, 양쪽이 모두 부분 참여면 접근 빈도가 높은 쪽을 고릅니다.