TABLE PER TYPE

상위/하위 테이블 전략은 정규화와 조인의 균형이다

공통 속성은 상위 테이블에 두고, 타입별 속성은 하위 테이블이 같은 PK로 참조한다.

SupertypeSubtypeJoin
users(id PK, name, type)
students(user_id PK/FK, student_no, gpa)
professors(user_id PK/FK, prof_no, department)
장점공통 속성 중복이 적고 NULL이 줄어든다
단점타입별 상세 조회 시 조인이 필요하다
제약total/disjoint 조건은 DB 제약만으로 어려울 수 있다