15.00 - Relationship Between 3NF and BCNF - Teradata Database

Teradata Database Design

Teradata Database
User Guide

Relationship Between 3NF and BCNF

Zaniolo demonstrates that BCNF is strictly stronger than 3NF with an elegant proof. First, consider his definition of 3NF.

Let R be a relation variable, let X be any subset of the attributes of R, and let A be any single attribute of R.

R is in 3NF iff for every functional dependency X  A in R, at least one of the following assertions is true:

  • X contains A, making the functional dependency trivial.
  • X is a superkey.
  • A is contained in a candidate key of R.
  • If the third assertion is eliminated from consideration, the definition for BCNF follows, clearly indicating that BCNF is a stronger form than 3NF. Note that the third assertion constitutes the inadequacy of the original formulation of 3NF proposed by Codd.