BCNF 규칙

BCNF 판단 기준

후보키보다 넓은 개념인 슈퍼키를 기준으로 검사하므로 3NF보다 더 엄격하다. 각 비자명 함수 종속 X → Y를 꺼내 X가 행을 유일하게 식별하는지 묻는 것이 핵심이다.

통과
위반
BCNF 판정

통과

슈퍼키 결정자
{학생, 교수}과목

왼쪽이 후보키이므로 같은 학생-교수 조합의 행을 하나로 고정한다.

위반

비슈퍼키 결정자
교수과목

교수만으로 학생을 식별하지 못하므로 교수 정보가 여러 행에 반복된다.

검사 순서

후보키를 먼저 찾고, 비자명 FD만 남긴 뒤, 각 결정자가 슈퍼키인지 표시한다.

분해 판단

위반 FD는 X와 Y를 한 관계로 분리하고, 남은 속성에는 X를 보존해 손실 없는 조인을 만든다.

주의점

3NF에서 허용되는 “Y가 prime attribute” 예외도 BCNF에서는 통과 조건이 아니다.