Algorithm

BCNF 알고리즘은 위반 FD를 찾고 반복 분해한다

각 릴레이션에서 비슈퍼키 결정자를 찾고, 그 결정자와 종속자를 별도 릴레이션으로 뽑아낸다.

검사
위반
반복
1FD 검사

모든 비자명 X→Y를 확인한다.

2X가 슈퍼키인가?

아니면 BCNF 위반이다.

3R1(X,Y), R2(X ∪ (R-Y))

분해 후 각 릴레이션을 다시 검사한다.

BCNF 분해는 무손실 조인을 보장하도록 진행하지만, 종속성 보존은 항상 보장하지 않는다.