문제
다음 슈퍼타입-서브타입 모델링에서 물리적 구현 방식과 그 특징으로 가장 적절하지 않은 것은?
Code[차량] - 슈퍼타입 ├─ [승용차] - 서브타입 (배기량, 연료타입) ├─ [트럭] - 서브타입 (적재중량, 축수) └─ [버스] - 서브타입 (승객정원, 노선번호)
① OneToOne-Type: 슈퍼타입과 서브타입을 각각 별도 테이블로 구현하여 정규화 수준이 높다 ② All-in-One-Type: 모든 속성을 하나의 테이블에 통합하여 조인 없이 빠른 조회가 가능하다 ③ Plus-Type: 공통 속성은 슈퍼타입 테이블에, 개별 속성은 서브타입 테이블에 분리 저장한다 ④ All-in-One-Type에서는 서브타입 구분자 없이도 데이터 무결성을 자동으로 보장한다
정답
4번
해설
All-in-One-Type 구현에서는 반드시 서브타입 구분자(타입 코드)가 필요하며, 이를 통해 어떤 서브타입에 해당하는지 식별하고 해당하지 않는 서브타입의 속성들은 NULL로 처리해야 합니다. 구분자 없이는 데이터 무결성을 보장할 수 없습니다. ①OneToOne-Type은 정규화 수준이 높음, ②All-in-One-Type은 조인 없는 빠른 조회 가능, ③Plus-Type은 공통/개별 속성 분리 저장이 맞습니다.