문제
다음 테이블들이 모두 만족하는 가장 높은 정규형은?
[테이블A] 학번(PK), 과목코드(PK), 교수코드, 성적 ※ 교수코드 → 과목코드 (한 교수는 한 과목만 담당)
[테이블B] 직원코드(PK), 프로젝트코드(PK), 역할, 참여시간 ※ 함수 종속 관계 없음
[테이블C] 주문번호(PK), 상품코드, 상품명, 수량, 단가 ※ 상품코드 → 상품명, 단가
① 제1정규형 ② 제2정규형 ③ 제3정규형 ④ BCNF
정답
1번
해설
각 테이블을 분석하면: 테이블A는 복합키 (학번,과목코드)에서 (학번,과목코드)→교수코드→과목코드의 이행적 함수 종속이 발생하여 3NF를 위반합니다. 또한 교수코드가 후보키가 아닌 결정자이므로 BCNF도 위반합니다. 테이블B는 함수 종속이 없으므로 모든 정규형을 만족합니다. 테이블C는 주문번호→상품코드→상품명,단가의 이행적 함수 종속으로 3NF를 위반하지만, 부분 함수 종속은 없어 2NF는 만족합니다. 테이블A가 이행적 종속으로 인해 2NF까지만 만족하므로, 세 테이블이 공통으로 만족하는 가장 높은 정규형은 2NF입니다.