IS-A

일반화/특수화 변환은 조회 패턴과 제약 표현의 선택이다

상위-하위 개체를 테이블로 옮길 때는 JOIN 비용, NULL 허용, 공통 조회, 타입별 제약을 함께 비교합니다.

상위+하위
단일 테이블
하위별 테이블
상위+하위 테이블정규화형

공통 속성은 employees, 타입별 속성은 full_time/contract에 둡니다.

명확하지만 JOIN이 필요합니다.

단일 테이블통합형

emp_type으로 구분하고 모든 속성을 한 테이블에 둡니다.

단순하지만 NULL과 제약 표현이 어려울 수 있습니다.

하위별 테이블구체 타입형

full_time_employees, contract_employees처럼 나눕니다.

공통 속성이 중복되고 전체 조회는 UNION이 필요합니다.

정답은 하나가 아니라 “하위 타입이 겹치는가, 전체 직원 조회가 많은가, 타입별 제약이 강한가”에 따라 달라집니다.