보이스/코드 정규화(Boyce/Code Normal Form)
- 보이스 코드 정규화가 필요한 경우는 3차 정규화까지 완료된 상태에서 후보키가 아닌 결정자가 있다면 보이스/코드 정규화가 필요하다고 볼 수 있다.
위의 강좌신청 릴레이션에서는 [고객아이디, 인터넷강좌]가 기본키이다.
위의 릴레이션의 함수 종속 다이어그램을 보면 [고객아이디, 인터넷강좌]가 담당 강사번호를 결정하고 담당 강사번호가 인터넷 강좌를 결정한다. 담당 강사번호는 후보키가 아니면서 인터넷강좌의 결정자이니 이상현상이 발생할 가능성이 있어 보이스/코드 정규화가 필요한 상태이다.
보이스 코드 정규화를 진행하면 아래와 같이 테이블이 분리된다.