문제
다음 테이블들이 모두 만족하는 가장 높은 정규형은?
[테이블A] 학번(PK), 과목코드(PK), 교수코드, 성적 ※ 교수코드 → 과목코드 (한 교수는 한 과목만 담당)
[테이블B] 직원코드(PK), 프로젝트코드(PK), 역할, 참여시간 ※ 함수 종속 관계 없음
[테이블C] 주문번호(PK), 상품코드, 상품명, 수량, 단가 ※ 상품코드 → 상품명, 단가
① 제1정규형 ② 제2정규형 ③ 제3정규형 ④ BCNF
정답
2번
해설
테이블A: 교수코드→과목코드에서 과목코드가 PK 구성 속성(prime attribute) 이므로 3NF는 만족. 단, 교수코드가 슈퍼키가 아니므로 BCNF 위반. → 3NF까지 만족 테이블B: FD가 존재하지 않으므로 BCNF까지 자명하게 만족. 테이블C: 주문번호→상품코드→(상품명,단가) 이행 종속 존재. 상품명·단가가 prime attribute가 아니므로 3NF 위반. 부분 종속은 없으므로 2NF는 만족. → 2NF까지 만족
세 테이블의 공통 최고 정규형 = min(3NF, BCNF, 2NF) = 2NF