L3 Info : SGBD
 
◃  Ch. 2 Le Modèle Relationnel  ▹
 

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 :
      ABC
      a1b1c1
      a1b2c1
    • La décomposition de R(A, B, C) et S(A,B) et T(C,A) résoud le problème :
      AB
      a1b1
      a1b2
      AC
      a1c1
  • 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.