대부분의 관계를 설명하는 두 모양
일대다에서는 한 부모가 여러 자식을 가질 수 있고 자식은 부모 1개를 가리켜. 고객과 주문이 대표적이야. 다대다에서는 양쪽 모두 여러 상대와 연결되므로 두 외래 키를 가진 연결 테이블을 사이에 둬.
일대일은 제약을 더한 일대다야
자식의 외래 키에 UNIQUE를 더하면 부모 1개당 자식 1개만 허용할 수 있어. 별도 테이블로 나눌 이유가 없다면 같은 테이블의 열로 두는 편이 단순하고, 보안·선택적 존재·수명 주기가 다를 때 분리해.
연결 테이블도 독립된 데이터야
다대다 값을 'red,blue,green' 같은 문자열 한 칸에 넣지 마. 연결 테이블은 등록 시각, 역할, 수량처럼 관계 자체의 속성을 담을 수 있어. 예를 들어 enrollments는 학생과 강좌를 잇는 동시에 등록 기록이라는 정식 개념이야.