문제
다음 중 제3정규형(3NF)을 만족하지만 BCNF를 위반할 수 있는 경우에 해당하는 것은?
① 기본키가 아닌 속성이 기본키의 일부에만 종속되는 경우 ② 기본키가 아닌 속성들 간에 이행적 함수 종속이 존재하는 경우 ③ 후보키가 아닌 결정자가 후보키의 일부 속성(주요 속성)을 결정하는 함수 종속이 존재하는 경우 ④ 다치 종속이 존재하는 경우
정답
3번
해설
BCNF는 모든 함수 종속 X → Y에서 결정자 X가 후보키여야 한다는 조건을 요구한다. 3NF는 결정자가 후보키가 아니더라도 종속되는 속성이 후보키의 일부인 주요 속성이면 허용될 수 있다. 따라서 후보키가 아닌 결정자가 주요 속성을 결정하는 경우 3NF는 만족할 수 있지만 BCNF는 위반할 수 있다. ①은 2NF 위반, ②는 3NF 위반, ④는 4NF와 관련된다.