Différence entre 3NF et BCNF

3NF vs BCNF

La normalisation est un processus qui est réalisé pour minimiser les redondances présentes dans les bases de données relationnelles. Ce processus divisera principalement les grandes tables en petites tables avec moins de redondances. Ces tables plus petites seront reliées les unes aux autres grâce à des relations bien définies. Dans une base de données bien normalisée, toute modification ou modification des données nécessitera la modification d'une seule table. La troisième forme normale (3NF) a été introduite en 1971 par Edgar F. Codd, qui est aussi l'inventeur du modèle relationnel et du concept de normalisation. La forme normale de 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 la base de données relationnelle. Selon la définition de Codd, une table est dite dans 3NF, si et seulement si cette table est dans la deuxième forme normale (2NF), et chaque attribut de la table qui n'appartient pas à une clé candidate devrait dépendre directement de chaque candidat clé de cette table. En 1982 Carlo Zaniolo a produit une définition différemment exprimée pour 3NF. Les tables conformes à la norme 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 (aussi connu comme 3. 5NF) est une autre forme normale utilisée dans la normalisation de base de données relationnelle. Il a été introduit pour capturer certaines des anomalies qui ne sont pas traitées par le 3NF. Une table est dite en BCNF, si et seulement si, pour chacune des dépendances de la forme A → B qui ne sont pas triviales, A est une super-clé. La décomposition d'une table qui n'est pas dans la forme normale BCNF ne garantit pas la production de tables dans le formulaire 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 formes normales utilisées dans les bases de données relationnelles pour minimiser les redondances dans les tables. Dans une table de forme normale BCNF, pour toute dépendance fonctionnelle non triviale de la forme A → B, A est une super-clé alors qu'une table conforme à 3NF devrait être dans le 2NF et chaque non-prime attribut devrait dépendre directement de chaque clé candidate de cette table. Le BCNF est considéré comme une forme normale plus forte que le 3NF et il a été développé pour capturer certaines des anomalies qui n'ont pas pu être capturées par 3NF. L'obtention d'une table conforme au formulaire BCNF nécessite la décomposition d'une table qui se trouve dans le 3NF. Cette décomposition se traduira par 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. En revanche, les tables conformes à BCNF auraient moins de redondances que les tables qui ne respectent que 3NF.De plus, la plupart du temps, il est possible d'obtenir une table conforme à la norme 3NF sans entraver la conservation des dépendances et l'assemblage sans perte. Mais ce n'est pas toujours possible avec BCNF.