L'objectif de Boyce-Codd Normal Form (BCNF) est d'accroître l'intégrité des données en organisant les colonnes et les tables d'une base de données relationnelle afin de réaliser la normalisation de la base de données. La normalisation de la base de données se produit lorsqu'il existe des relations établies entre les tables et lorsque les tables ont des règles définies pour rendre la base de données plus flexible et pour conserver les données.
Les objectifs de la normalisation de la base de données sont d'éliminer les données redondantes et de garantir que les dépendances de données ont un sens.
Une base de données est normalisée lorsque les mêmes données ne sont pas stockées dans plus d'une table et que seules les données associées sont stockées dans une table.
Origine de la forme normale de Boyce-Codd
En suivant une série de directives, assurez-vous que les bases de données sont normalisées. Ces directives sont appelées des formulaires normaux et sont numérotées de un à cinq. Une base de données relationnelle est décrite comme normalisée si elle répond aux trois premières formes: 1NF, 2NF et 3NF.
BCNF a été créée en 1974 par Raymond Boyce et Edgar Codd dans le prolongement de la troisième forme normale, ou 3NF. Les hommes travaillaient à la création de schémas de base de données minimisant les redondances dans le but de réduire le temps de calcul. La troisième forme normale supprime les colonnes qui ne dépendent pas de la clé primaire en plus de respecter les instructions des première et deuxième formes normales. La BCNF, parfois appelée 3.5NF, répond à toutes les exigences de la 3NF et impose aux clés candidates de ne pas dépendre d'autres attributs d'une table.
Au moment de la création de la BCNF, Boyce était l’un des principaux développeurs du langage de requête structuré en anglais (SQL), qui améliorait la récupération des données en utilisant le modèle relationnel de Codd. Selon ce modèle, Codd postulait que la complexité structurelle des bases de données pourrait être réduite, ce qui signifie que les requêtes pourraient être plus puissantes et plus flexibles.
À l'aide de ses connaissances en bases de données relationnelles, Codd a défini les directives 1NF, 2NF et 3NF. Il a fait équipe avec Boyce pour définir BCNF.
Clés candidates et BCNF
Une clé candidate est une colonne ou une combinaison de colonnes dans une table qui forme une clé unique dans la base de données. La combinaison d'attributs peut être utilisée pour identifier un enregistrement de base de données sans faire référence à d'autres données. Chaque table peut contenir plusieurs clés candidates, dont l'une peut être qualifiée de clé primaire. Une table contient une seule clé primaire.
Les clés du candidat doivent être uniques.
Une relation est dans BCNF si chaque déterminant est une clé candidate. Considérons une table de base de données qui stocke les informations sur les employés et possède les attributs <> >,
Dans ce tableau, le champ
Numéro d'employé | Prénom | Nom de famille | Titre |
13133 | Emilie | Forgeron | Directeur |
13134 | Jim | Forgeron | Associer |
13135 | Emilie | Jones | Associer |
La clé candidate pour cette base de données est la