Forme normale de Boyce-Codd (BCNF)
- Relations en BCNF : 3NF et tout attribut non clé n'est pas source de df vers une partie de la clé.
- Un schéma en 3NF qui n'admet qu'une clé minimale est en BCNF
- Un schéma R muni d'une seule df de la forme X→Y, avec X∪Y=R est en BCNF
- Une relation est en BCNF si et seulement si tous les membres gauches de ses df sont des clés.
- Exemple :
- Soit R(A, B, C) un schéma de relation muni de F = {AB→C ; C→A}
- AB et BC sont les 2 clés minimales de R
- R est 2NF car toutes les df sont élémentaires
- R est 3NF car aucun attribut non clé ne dépend d'un autre attribut non clé
- R n'est pas en BCNF à cause de C→A : C non clé source d'une df vers A partie de la clé
- Illustre une redondance potentielle :
- La décomposition de R(A, B, C) et S(A,B) et T(C,A) résoud le problème :
- Exemple :Soit une relation Recolte(producteur, année, quantité, numvin)
muni de FRecolte = { (producteur, année)→quantité ; (producteur,année)→numvin ; numvin→producteur }
- numvin→producteur avec numvin non clé et producteur partie de la clé donc la relation n'est pas BCNF
- En décomposant Recolte(numvin,annee,quantite) et Vin(numvin,producteur) on obtient des relations en BCNF.