Différence entre 3NF et BCNF
Quelle est la différence entre 3NF et BCNF ? – On recoure à la normalisation pour supprimer la redondance d’une relation, minimisant ainsi les anomalies d’insertion, de suppression et de mise à jour qui dégradent les performances des bases de données. Dans cet article, nous ferons la distinction entre deux formes normales supérieures, à savoir 3NF et BCNF. La différence clé entre 3NF et BCNF est que 3NF élimine la dépendance transitive d’une relation pour qu’il respect la forme BCNF, la dépendance fonctionnelle triviale X -> Y dans une relation doit être maintenue, seulement si X est super clé.
Définition de 3NF
La différence subtile est que 3NF fait la distinction entre les attributs clés et non clés, contrairement à BCNF.
Une relation, R, est en 3NF ssi pour chaque dépendance fonctionnelle DF non triviale (X-> A) satisfaite par R au moins une des conditions suivantes est vraie:
- X est une super-clé pour R, ou
- A est un attribut clé pour R
la citation 3NF dit explicitement « rien que la clé« , ce qui signifie que tous les attributs dépendent uniquement de la clé primaire.
Définition de BCNF
BCNF nécessite (a) mais ne traite pas (b) comme un cas particulier. En d’autres termes, BCNF exige que chaque déterminant non trivial soit une super-clé, même si ses attributs dépendants font partie d’une clé.
Une relation, R, est en BCNF ssi pour chaque dépendance fonctionnelle DF non triviale (X-> A) satisfaite par R la condition suivante est vraie:
- X est une super-clé pour R
BCNF est donc plus strict.
Différences clés entre 3NF et BCNF
- 3NF indique qu’aucun attribut non premier ne doit dépendre de manière transitoire de la clé candidate de la relation. Par ailleurs, BCNF déclare que si une dépendance fonctionnelle triviale X -> Y existe pour une relation; alors X doit être une super clé.
- 3NF peut être obtenu sans sacrifier la dépendance de la relation. Cependant, la dépendance peut ne pas être préservée lors de l’obtention de BCNF.
- 3NF peut être réalisé sans perdre aucune information de l’ancienne table alors que, tout en obtenant BCNF, nous pouvons perdre des informations de l’ancienne table.
Conclusion
La BCNF est beaucoup plus restrictive que la 3NF, ce qui aide à normaliser davantage la table. La relation dans 3NF a une redondance minimale par rapport à BCNF.