문제
다음 중 데이터베이스 정규화에서 BCNF(Boyce-Codd Normal Form)에 대한 설명으로 가장 옳은 것은?
① BCNF는 3NF의 조건을 모두 만족하면서 추가로 다치 종속성을 제거한 형태이다 ② BCNF에서는 모든 결정자가 반드시 후보키여야 하며, 후보키가 아닌 결정자는 존재할 수 없다 ③ BCNF는 항상 무손실 분해와 종속성 보존을 동시에 만족할 수 있다 ④ BCNF 조건을 만족하면 자동으로 4NF 조건도 만족하게 된다
정답
2번
해설
② BCNF의 핵심 조건은 모든 결정자가 후보키여야 한다는 것이다. 즉, 함수 종속성 X→Y에서 X는 반드시 후보키여야 한다. ① BCNF는 3NF보다 강한 조건이지만 다치 종속성 제거는 4NF의 조건이다. ③ BCNF는 항상 무손실 분해를 보장하지만 종속성 보존은 보장하지 않는다. 경우에 따라 종속성 보존을 위해 3NF에서 멈춰야 할 수도 있다. ④ BCNF 조건을 만족해도 다치 종속성이 존재하면 4NF 위반이 될 수 있다.