Différence entre 3NF et BCNF

3NF vs BCNF

La normalisation est un processus qui vise à minimiser les redondances présentes dans les données des bases de données relationnelles. Ce processus divisera principalement les grandes tables en petites tables avec moins de redondances. Ces petites tables seront reliées entre elles par le biais de relations bien définies. Dans une base de données bien normalisée, toute modification ou modification des données ne nécessite la modification que d’une seule table. La troisième forme normale (3NF) a été introduite en 1971 par Edgar F. Codd, qui est également l'inventeur du modèle relationnel et du concept de normalisation. La forme normale Boyce-Codd (BCNF) a été introduite en 1974 par Codd et Raymond F. Boyce.

Qu'est-ce que 3NF??

3NF est la troisième forme normale utilisée dans la normalisation de bases de données relationnelles. Selon la définition du Codd, une table est dite en 3NF, si et seulement si, cette table est dans la seconde forme normale (2NF), et chaque attribut de la table qui n'appartient pas à une clé candidate doit dépendre directement de chaque clé candidate de cette table. En 1982, Carlo Zaniolo a élaboré une définition du 3NF exprimée différemment. Les tables conformes au 3NF ne contiennent généralement pas d'anomalies lors de l'insertion, de la suppression ou de la mise à jour d'enregistrements dans la table.

Qu'est-ce que BCNF??

BCNF (également connu sous le nom de 3.5NF) est une autre forme normale utilisée dans la normalisation de bases de données relationnelles. Il a été introduit pour capturer certaines des anomalies non traitées par la 3NF. Une table est dite en BCNF, si et seulement si, pour chacune des dépendances de la forme A → B non triviales, A est une super-clé. La décomposition d'une table qui n'est pas sous la forme normale BCNF ne garantit pas la production de tables sous la forme BCNF (tout en préservant les dépendances présentes dans la table d'origine).

Quelle est la différence entre 3NF et BCNF?

3NF et BCNF sont des formulaires normaux utilisés dans les bases de données relationnelles pour minimiser les redondances dans les tables. Dans une table de la forme normale BCNF, pour chaque dépendance fonctionnelle non triviale de la forme A → B, A est une super-clé alors qu'une table conforme à 3NF doit être dans le 2NF, et chaque non-prime attribut devrait dépendre directement de chaque clé candidate de cette table. BCNF est considéré comme une forme normale plus forte que la 3NF et a été développé pour capturer certaines des anomalies qui n'ont pas pu être capturées par la 3NF. L'obtention d'une table conforme à la forme BCNF nécessitera la décomposition d'une table se trouvant dans le 3NF. Cette décomposition entraînera des opérations de jointure supplémentaires (ou des produits cartésiens) lors de l'exécution de requêtes. Cela augmentera le temps de calcul. D'autre part, les tables conformes à BCNF auraient moins de redondances que les tables ne respectant que 3NF. De plus, la plupart du temps, il est possible d’obtenir une table conforme à la norme 3NF sans entraver la préservation de la dépendance et la jonction sans perte. Mais ce n’est pas toujours possible avec BCNF.