15.00 - Definition of Boyce-Codd Normal Form - Teradata Database

Teradata Database Design

Teradata Database
User Guide

Definition of Boyce‑Codd Normal Form

When the relational model of database management was originally proposed, it only addressed what are now known to be the first three normal forms. Later theoretical work with the model showed that 3NF required further refinement to eliminate certain update anomalies.

The classic definition for third normal form does not handle situations in which a relation R has multiple composite candidate keys with overlapping attributes such as the following, where CK1, CK2, and CK3 represent overlapping candidate keys on the overlapping attribute composites A1-A2, A2-A3, and A3‑A4, respectively:


While this situation does not occur frequently, it does present itself from time to time, and once the problem was recognized, a solution had to be found.

To eliminate the deficiencies of the classic 3NF definition, Heath, Codd, and Boyce developed what has traditionally been called Boyce-Codd Normal Form (BCNF), which reduces to 3NF whenever the special situation that defines this problem does not apply.

A relation is in BCNF if and only if every determinant is a candidate key. This means that only determinants can be candidate keys.

Somewhat more formally, a relation is said to be in Boyce-Codd Normal Form when it is in 2NF and the following is true: if whenever X   A and A does not belong to X, then X is a superkey.