문제
다음 테이블들이 공통으로 만족하는 가장 높은 정규형은?
[테이블A] 학번(PK), 과목코드(PK), 교수코드, 성적 ※ 학번 + 과목코드 → 교수코드, 성적 ※ 교수코드 → 과목코드
[테이블B] 주문번호(PK), 상품코드(PK), 수량, 단가 ※ 주문번호 + 상품코드 → 수량, 단가
① 제1정규형
② 제2정규형
③ 제3정규형
④ BCNF
정답
2번
해설
정답: ② 테이블A 분석: 복합키는 (학번, 과목코드)이고, 교수코드와 성적은 모두 전체 복합키에 의해 결정되므로 부분함수종속은 없어 2NF를 만족합니다. 그러나 교수코드 → 과목코드라는 이행적함수종속이 존재합니다(학번 → 교수코드 → 과목코드). 이는 비주요속성인 교수코드가 주요속성인 과목코드를 결정하는 상황으로 3NF를 위반합니다. 테이블B 분석: 부분함수종속과 이행적함수종속이 없고 모든 결정자가 후보키이므로 BCNF까지 만족합니다. 따라서 두 테이블이 공통으로 만족하는 최고 정규형은 2NF입니다. ① 테이블A가 2NF까지는 만족합니다. ③ 테이블A가 이행적함수종속으로 인해 3NF를 위반합니다. ④ 테이블A가 3NF도 만족하지 않으므로 BCNF는 만족할 수 없습니다.