Exercices Corrigés Dépendances fonctionnelles(Forme Normale) – Partie 9

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec les dépendances fonctionnelles et normalisation des bases de données. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur les Dépendances fonctionnelles et Normalisation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur les dépendances fonctionnelles et normalisation des bases de données avant de résoudre les exercices suivants.

 
 

Rappel:

Vous savez que la dépendance fonctionnelle A -> B signifie que B dépend de A, c’est-à-dire qu’à partir de la valeur de A, nous pouvons trouver la valeur de B dans la relation.

Donc, pour prouver que A -> B est valide dans une relation, l’une des conditions suivantes doit être vraie :

  • Condition1 : toutes les valeurs de A doivent être uniques.
  • Condition2 : toutes les valeurs de B doivent être identiques.
  • Condition3 : Si deux ou plusieurs tuples de la relation ont la même valeur pour l’attribut A, alors il doit également y avoir la même valeur pour l’attribut B.

 
 

1. Si X est une clé d’une relation R, X est également une super-clé de R ?

A VRAI

B FAUX

A
C’est vrai. Une super-clé est une clé à laquelle s’ajoutent zéro ou plusieurs attributs supplémentaires.
 
 

2. Une relation dans un diagramme ER doit être déterminée de manière unique par les entités de cette relation ?

A VRAI

B FAUX

A
C’est vrai. C’est pourquoi la clé d’une relation correspond au maximum aux clés des entités impliquées (bien que dans des cas comme les relations de type « plusieurs à un », nous n’ayons pas forcément besoin de toutes les entités).
 
 

3. Toute relation qui est dans la BCNF est aussi dans la 3FN ?

A VRAI

B FAUX

A
C’est vrai. La BCNF est strictement plus restrictive que la 3FN.
 
 

4. MN → O, P → Q, Q → O est une couverture minimale pour l’ensemble des dépendances fonctionnelles MN → O, P → Q, MN → Q, Q → O ?

A VRAI

B FAUX

B
Faux. Il n’y a aucun moyen de dériver MN → Q à partir de la première liste de dépendances.
 
 

5. On parle d’anomalie d’insertion lorsqu’il n’est pas possible de stocker certaines informations sans en stocker d’autres, sans rapport avec elles.

A VRAI

B FAUX

A
C’est vrai. Une anomalie d’insertion est l’impossibilité d’ajouter des données à la base de données en raison de l’absence d’autres données.
 
 

6. Considérons le schéma de la relation suivante.

Sa clé est constituée des attributs Titre et NbrCopie et sur cette relation nous avons la dépendance Titre -> Auteur,Genre. Vérifiez si le schéma est en troisième forme normale (3FN) et, si ce n’est pas le cas, décomposez-le de manière appropriée. Vérifiez si la décomposition satisfait également la forme normale de Boyce-Codd (BCNF).


La relation n’est pas dans la troisième forme normale (3FN), car dans la dépendance fonctionnelle Titre -> Auteur,Genre, ni Auteur ni Genre ne font partie de la clé. Une décomposition possible est la suivante :
 
R1

 
R2

La relation est en forme normale de BCNF, car la clé de R2 est Titre, qui est également le côté gauche de la dépendance fonctionnelle.

 
 

7. Considérons le schéma Entité/Relation suivante:

Les propriétés suivantes sont-ils valides? Trouver les dépendances fonctionnelles à partir de ce schéma Entité/Relation, et vérifiez si le schéma satisfait la forme normale de Boyce-Codd (BCNF).

  • Un joueur ne peut jouer que pour une seule équipe (ou aucune)
  • Un entraîneur ne peut entraîner qu’une seule équipe (ou aucune)
  • Une équipe appartient à une et une seule ville

Les dépendances fonctionnelles présentes dans ce schéma sont les suivantes:

  • JoueurÉquipe
  • EntraîneurÉquipe
  • EntraîneurVille

La clé de la relation Composition est Joueur, et le schéma n’est donc pas en forme normale de BCNF. Voici une restructuration possible :

Dans ce nouveau schéma, il n’y a que des relations binaires, et il respecte donc maintenant la forme normale de BCNF.

 
 

8. Considérons le schéma S(A,B,C,D,E) ainsi que les dépendances fonctionnelles suivantes:
CDEA
AB
CD
DEA

S est-il en BCNF ? Pourquoi ou pourquoi pas ? Si ce n’est pas le cas, décomposez-le en un ensemble de relations BCNF.

Tout d’abord, trouvez les clés.

  • CDE+=ABCDE
  • A+=AB
  • C+=CD
  • DE+=DEAB
  • CE+=CEDAB

CE est donc une clé. Notez que CDE est une superclé. Il n’y a pas d’autre clé.
Mais A->B viole BCNF (notez que CDE->A ne viole PAS BCNF puisque CDE est une superclé de S).
Donc décomposer en S1(A,B), S2(A,C,D,E)
S1 a deux attributs, donc il est en BCNF.
Regardez S2. C->D est valable dans S2, mais C n’est pas une superclé de S2, donc ce n’est pas dans BCNF. En décomposant sur C->D, on obtient S3(C,D), S4(A,C,E). S3 a deux attributs, donc il est en BCNF. S4 n’a pas de dépendances fonctionnelles qui violent la BCNF (puisque CE est une clé de S4), donc il est en BCNF. Par conséquent, la décomposition finale est la suivante : S1(A,B), S3(C,D), S4(A,C,E)

 
 

9. Considérons le schéma R(A,B,C,D,E) ainsi que les dépendances fonctionnelles suivantes:
BDA
ABC
DA
BC
CE

R est-il en 3FN ? Pourquoi ou pourquoi pas ? Si ce n’est pas le cas, décomposez-le en un ensemble de relations 3FN.

Tout d’abord, trouvez les clés.

  • AB+=ABCE
  • BD+=BDACE
  • D+=AD
  • B+=BCE
  • C+=CE

Il n’y a aucun moyen d’obtenir BD, donc BD est la seule clé. Mais les autres ne respectent pas la 3NF, nous devons donc décomposer.

Tout d’abord, nous devons prendre la couverture minimale. BD → A est redondant avec D → A. AB → C est redondant avec B->C. Les seules dépendances fonctionnelles à considérer sont donc D → A, B → C, et C → E.

Notez que parce que la couverture ne supprime que les dépendances fonctionnelles redondantes, les fermetures originales sont toujours valables. Commencez par D → A. D n’est pas une clé, donc décomposez : R1(A,D), R2(D,B,C,E). R1 est en BCNF puisqu’il s’agit d’une relation à deux attributs. R2 : B → C est toujours valable, mais B n’est pas une clé de R2, donc décomposez : R3(B,C), R4(B,D,E). R3 est en BCNF puisqu’il n’a que deux attributs. R4 n’est pas en BCNF puisque B → E est valable dans R4, mais B est une clé de R4. Décomposez en R5(B,E), R6(B,D). Toutes sont des relations à deux attributs, donc toutes sont en BCNF.

A ce stade, notre réponse est R1(A,D), R3(B,C), R5(B,E), R6(B,D). Maintenant, nous examinons s’il y a des dépendances fonctionnelles qui doivent être ajoutées. D → A et B → C sont tous les deux couverts (R1 et R3 respectivement). C → E ne l’est pas. Nous ajoutons donc une nouvelle relation R5(C,E), ce qui nous donne la réponse finale suivante : R1(A,D), R3(B,C), R5(B,E), R6(B,D), R7(C,E).

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *