FK가 보장하는 방향과 남은 assertion
공유 PK·FK는 자식이 존재할 때 부모가 있음을 보장하지만 모든 부모에 정확히 한 자식이 있는지는 보장하지 않습니다.
| 규칙 | 보장하는 것 | 남는 반례 | 보완 |
|---|---|---|---|
| Child PK·FK | child → parent 존재 | 자식 0개인 parent | 완료 전 비노출 |
| 각 child PK | 유형별 자식 중복 차단 | 서로 다른 detail 2개 | 존재 합계 = 1 audit |
| Constructor | parent + 올바른 detail 원자 생성 | 우회 직접 쓰기 | 최소 권한·주기 대사 |
핵심: 유형별 constructor와 사후 audit가 판별자와 실제 detail 수를 함께 검사해야 완전성이 닫힙니다.