Domaine-clé forme normale sql (dk / nf) et forme anormale

Après une base de données SQL est en troisième forme normale, vous avez éliminé la plupart, mais pas tous, les chances d`anomalies de modification. Les formes normales au-delà de la troisième sont définis pour écraser les quelques bugs restants.

Clé de domaine forme normale (DK / NF)

forme normale Boyce-Codd (BCNF), quatrième forme normale (4NF) et cinquième forme normale (5NF) sont des exemples de telles formes. Chaque formulaire élimine une anomalie de modification possible, mais ne garantit pas la prévention de toutes les anomalies de modification possibles. forme normale-clé de domaine, cependant, fournit une telle garantie.

Video: Algorithme 4ième forme normale 4NF

Une relation est en domaine clé forme normale (DK / NF) si toutes les contraintes de la relation est une conséquence logique de la définition des clés et des domaines. UNE contrainte dans cette définition est une règle qui est assez précis que vous pouvez évaluer si oui ou non il est vrai. UNE clé est un identificateur unique d`une ligne dans une table. UNE domaine est l`ensemble des valeurs autorisées d`un attribut.

Regardez cette base de données, qui est en 1NF, pour voir ce que vous devez faire pour mettre cette base de données DK / NF.

Video: Normaliser une relation en 3NF BD TD 2 Ex1 Q2

Table: VENTES (N ° de client, Produit, Prix)

Clé: N ° de client

Contraintes:

N ° de client détermine Produit

  • Produit détermine Prix

  • N ° de client doit être un entier gt; 1000

  • Pour appliquer Constraint 3 (que N ° de client doit être un entier supérieur à 1000), vous pouvez simplement définir le domaine pour N ° de client d`intégrer cette contrainte. Cela fait la contrainte une conséquence logique du domaine de la N ° de client colonne. Produit dépend de N ° de client, et N ° de client est une clé, vous avez donc aucun problème avec la contrainte 1, ce qui est une conséquence logique de la définition de la clé.

    contrainte 2 est un problème. Prix dépend (est une conséquence logique de) Produit, et Produit n`est pas une clé. La solution consiste à diviser la table sales dans deux tables. On utilise de table N ° de client comme une clé, et les autres utilisations Produit comme une clé. La base de données, en plus d`être en 3FN, est également DK / NF.

    Concevez vos bases de données afin qu`ils soient dans DK / NF si possible. Si vous pouvez le faire, faire respecter les restrictions de clés et de domaine fait toutes les contraintes à respecter, et les anomalies de modification ne sont pas possibles. Si la structure de base de données est conçue pour vous empêcher de le mettre dans DK / NF, vous devez construire les contraintes dans le programme d`application qui utilise la base de données. La base de données elle-même ne garantit pas que les contraintes seront satisfaites.

    Video: Base de données: Exercice sur la normalisation

    forme anormale

    Comme dans la vie, donc dans les bases de données: Parfois, être anormal paie. Vous pouvez vous laisser emporter par la normalisation et aller trop loin. Vous pouvez briser une base de données en autant de tables que l`ensemble de chose devient difficile à manier et inefficace. Les performances peuvent chuter. Souvent, la structure optimale de votre base de données est un peu dénormaliser.

    En fait, les bases de données pratiques (les ceux qui sont vraiment grands, de toute façon) ne sont presque jamais normalisées jusqu`au DK / NF. Vous souhaitez normaliser les bases de données que vous concevez autant que possible, cependant, d`éliminer la possibilité de corruption de données résultant d`anomalies de modification.

    Une fois que vous normalisez la base de données aussi loin que vous pouvez, faire quelques récupérations en marche à sec. Si les performances ne sont pas satisfaisantes, examinez votre conception pour voir si la dénormalisation sélective améliorerait les performances sans sacrifier l`intégrité. En ajoutant soigneusement la redondance dans des endroits stratégiques et dénormaliser juste assez, vous pouvez arriver à une base de données qui est à la fois efficace et à l`abri des anomalies.

    Articles connexes