Différence entre BCNF et 3NF Différence entre

Anonim

BCNF par rapport à 3NF

Boyce Codd forme normale (également appelée BCNF) est un formulaire normal qui fournit des critères pour déterminer le degré de vulnérabilité d'une table aux incohérences logiques et aux anomalies. Cette forme normale est utilisée dans la normalisation de la base de données. C'est un peu plus fort que son prédécesseur, la troisième forme normale (aussi appelée 3NF). Une table est supposée être en BCNF si et seulement si pour chacune si ses dépendances fonctionnelles non-triviales - c'est-à-dire une limite qui est définie entre deux ensembles d'attributs dans une relation tirée d'une base de données - est une superkey (un ensemble de attributs d'une variable relationnelle qui postule que dans toutes les relations affectées à cette variable spécifique, il n'y a pas deux lignes distinctes contenant la même valeur pour les attributs dans cet ensemble particulier). BCNF postule que toute table qui ne répond pas aux critères à attribuer 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 base de données. On pense qu'une table est dans 3NF si et seulement si 1) la table est dans la deuxième forme normale (ou 2NF, qui est un premier code normal, ou 1NF, qui a rencontré les critères pour devenir 2NF), et 2) Chaque attribut non premier de la table dépend non-transitoire de chaque clé de la table (ce qui signifie qu'elle ne dépend pas directement de chaque clé). Il y a une autre postulation de 3NF qui est également utilisée pour définir les différences entre 3NF et le BCNF.

Ce théorème a été conçu par Carlo Zaniolo en 1982. Il énonce 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 tenir: soit X â † 'A, X est une super-clé, soit A est un attribut premier (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 agit comme une version plus récente du théorème 3NF, il y a une dérivation du théorème de Zaniolo. Il indique que X â † 'A est non trivial. Si cela est vrai, soit A un attribut midi-clé et soit Y une clé de R. Si cela est vrai alors Y â † 'X. Cela signifie que A n'est pas dépendante 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, est une super-forme, 3NF est une forme normale dans laquelle la table est dans 2NF et chaque attribut non-premier dépend non-transitoire de chaque clé de la table.