모든 비주요 속성은 기본 키에만 직접적으로 종속되어야 한다.
즉, 비주요 속성이 다른 비주요 속성에 종속되지 않아야 한다.
제 2 정규형(2NF)을 만족해야 한다.
이행적 함수 종속이 없어야 한다. 즉, 비주요 속성(기본 키에 속하지 않는 속성)이 기본 키에만 직접적으로 종속되어야 하며, 다른 비주요 속성에 종속되지 않아야 한다.
이행적 함수 종속:
테이블에서 X, Y, Z라는 3 개의 속성이 있을 때 X→Y, Y→Z 이란 종속 관계가 있을 경우,
X→Z가 성립될 때 이행적 함수 종속이라고 한다. 즉, X를 알면 Y를 알고 그를 통해 Z를 알 수 있는 경우를 말한다.
데이터 중복 감소: 중복된 데이터가 줄어들어 저장 공간을 절약할 수 있다.
데이터 무결성 향상: 데이터의 일관성을 유지하고, 삽입, 삭제, 갱신 이상(anomaly)을 방지할 수 있다.
유연한 데이터 관리: 데이터 구조가 명확해져 유지보수 및 확장이 용이해진다.
테이블의 모든 결정자가 후보 키여야 한다.
테이블에 존재하는 모든 함수 종속성에서, 결정자(좌측 속성)가 반드시 후보 키여야 한다.
제 3정규형(3NF)에서도 후보 키가 아닌 속성이 결정자가 될 수 있는 상황이 발생할 수 있다.
이러한 경우 데이터 중복이나 이상(anomaly)이 발생할 수 있기 때문에 이를 방지하기 위해 BCNF가 필요하다.