문제
다음 테이블 구조에서 발생하는 정규화 위반 상황을 분석하시오.
Code[계약] 계약번호(PK), 업체코드, 업체명, 담당자명, 계약금액 - 업체코드 → 업체명 (하나의 업체코드는 하나의 업체명을 가짐) - 업체코드 → 담당자명 (하나의 업체는 하나의 담당자를 가짐)
다음 중 이 테이블의 정규화 위반 분석으로 가장 적절한 것은?
① 제1정규형 위반: 원자값이 아닌 속성 존재 ② 제2정규형 위반: 기본키의 일부에 대한 함수 종속 ③ 제3정규형 위반: 기본키가 아닌 속성 간 이행적 종속 ④ BCNF 위반: 결정자가 후보키가 아닌 함수 종속
정답
3번
해설
계약번호→업체코드→업체명, 계약번호→업체코드→담당자명으로 이행적 함수 종속이 발생하여 제3정규형을 위반합니다. 업체명과 담당자명이 기본키가 아닌 업체코드에 의해 결정되는 상황입니다.