BCNF vs. 3NF
La forme normale de Boyce Codd (également appelée BCNF) est une forme normale. Il s'agit d'une forme qui fournit des critères pour déterminer le degré de vulnérabilité d'une table face à des incohérences et des anomalies logiques. Cette forme normale est utilisée dans la normalisation de la base de données. Il est un peu plus fort que son prédécesseur, la troisième forme normale (également appelée 3NF). Une table est supposée être dans BCNF si et seulement si pour tout un si ses dépendances fonctionnelles non triviales, c'est-à-dire une limite définie entre deux ensembles d'attributs dans une relation tirée d'une base de données, est une super clé (un attributs d’une variable relationnelle postulant que, dans toutes les relations affectées à cette variable spécifique, il n’existe pas deux lignes distinctes contenant la même valeur pour les attributs de cet ensemble particulier). BCNF postule que toute table qui ne répond pas aux critères pour être attribuée en tant que BNCF est vulnérable aux incohérences logiques.
3NF est une forme normale qui est également utilisée dans la normalisation de la base de données. On pense qu'une table est en 3NF si et seulement si 1) la table est en seconde forme normale (ou 2NF, qui est un premier code normal, ou 1NF, qui remplit les critères pour devenir 2NF), et 2) chaque attribut non principal de la table dépend de manière non transitoire de chaque clé de la table (ce qui signifie qu'il ne dépend pas directement de chaque clé). Une autre postulation de 3NF est également utilisée pour définir les différences entre 3NF et BCNF..
Ce théorème a été conçu par Carlo Zaniolo en 1982. Il indique qu'une table est en 3NF si et seulement si, pour chaque dépendance fonctionnelle, où X → A, au moins une des trois conditions doit être vérifiée: soit X → A, X est une super-clé ou A est un attribut principal (ce qui signifie que A est contenu dans une clé candidate ou une super-clé minimale pour cette relation). Cette nouvelle définition diffère du théorème d'un BCNF en ce que ce dernier modèle éliminerait simplement la dernière condition. Même s'il s'agit d'une version plus récente du théorème 3NF, il existe une dérivation du théorème de Zaniolo. Il est dit que X → A n'est pas trivial. Si cela est vrai, prenons A comme attribut midi-clé et Y une clé de R. Si cela est vrai, alors Y † X. Cela signifie que A ne dépend pas de façon transitoire de Y si et seulement si X †. 'Y (ou si X est une super clé.
Résumé:
1. BCNF est une forme normale dans laquelle, pour chacune des dépendances fonctionnelles non triviales d'une table, se trouve une super-clé; 3NF est la forme normale dans laquelle la table est en 2NF et chaque attribut non principal est non-transitivement dépendant de chaque clé de la table.