Boyce-Codd Normal Form (BCNF)
BCNF further requires, on top of 3NF, that every determinant be a candidate key; a strengthened version of 3NF.
Purpose
To eliminate anomalies that remain in 3NF (partial/transitive dependencies of prime attributes on candidate keys).
Mechanism
For every functional dependency X→Y, X must be a superkey (containing a candidate key). Stricter than 3NF: 3NF constrains only non-prime attributes, BCNF constrains all. BCNF may fail to preserve functional dependencies.
Use cases
- Database design
- Normalization
- Anomaly elimination