PARTICIPATION

참여 제약은 필수 관계와 선택 관계를 구분한다

전체 참여는 모든 인스턴스가 반드시 관계에 참여해야 함을, 부분 참여는 참여하지 않는 인스턴스도 허용함을 뜻합니다.

전체 참여
부분 참여
구현 한계
전체 참여직원은 반드시 부서에 소속

N쪽 FK가 존재하는 구조라면 NOT NULL로 표현할 수 있습니다.

employees.dept_id NOT NULL
부분 참여회원은 주문하지 않을 수 있음

회원 행이 주문 행을 반드시 가질 필요는 없습니다.

orders.member_id exists only when ordered
“최소 1개 이상의 자식 행이 있어야 한다” 같은 규칙은 단순 NOT NULL만으로 부족할 수 있어 트랜잭션/트리거/서비스 로직을 함께 봅니다.