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

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. Considérons les ensembles suivants de dépendances fonctionnelles sur une relation R(A,B,C).
F1 = {A → B, B → C}
F2 = {A → B, A → C}
F3 = {A → B, AB → C}

Lequel de ces ensembles est équivalent ? (Par exemple, deux ensembles de dépendances fonctionnelles (DF) F0 et F1 sont équivalents si toutes les DF de F1 découlent de celles de F0, et si toutes les DF de F0 découlent de celles de F1).

F2 et F3 sont équivalents.
F1 n’est pas équivalent.
 
 

2. Considérons une relation R(A,B,C) et supposons que R contienne les cinq tuples suivants. Pour chacune des dépendances suivantes, indiquez si la dépendance est satisfaite par cette instance de relation.


(1) Ne satisfait à aucune des trois conditions.
(2) Ne satisfait à aucune des trois conditions.
(3) Ne satisfait à aucune des trois conditions.
(4) Ne satisfait à aucune des trois conditions.
(5) Satisfait l’une des conditions ci-dessus.
(6) Satisfait l’une des conditions ci-dessus.
 
 

3. Considérons l’ensemble des dépendances fonctionnelles suivantes sur la relation R(ABCDE) :
1) AB → C
2) BC → E
3) BD → E
4) C → B
5) D → A

3.1) R est-il en 3NF ?

Le tableau suivant présente les fermetures de tous les ensembles d’attributs.

Les éléments soulignés dans le tableau ci-dessus sont des clés candidates. R n’est pas en 3NF à cause de D → A.

3.2) Calculer la couverture minimale de l’ensemble de dépendances fonctionnelles ci-dessus.

AB → C
C → E
C → B
D → A

3.3) Décomposer R en tables 3NF.

Nous décomposons d’abord R sous forme de tables BCNF : R1(AC), R2(AD), R3(BC) et R4(BDE). Puisque AB → C et C → E n’ont été préservés dans aucun des tables, nous ajoutons : R5(ABC) et R6(CE). Le résultat final contient donc : R2, R4, R5 et R6. Notez que R1 et R3 ne sont plus nécessaires car ils sont déjà contenus par R5.
 
 

4. Considérons une relation R(A,B,C,D) qui satisfait A → B et B → C. Supposons que R contienne les tuples (1,2,3,4) et (1,5,6,7). Quels seront les autres tuples qui peuvent également se trouver dans R ?

Les autres tuples qui peuvent également se trouver dans R sont:

  • (1,2,6,7)
  • (1,5,3,4)
  • (1,2,3,7)
  • (1,2,6,4)
  • (1,5,6,4)
  • (1,5,3,7)
 
 

5. Considérez la relation suivante: identifiez la clé, les dépendances fonctionnelles, les éventuelles redondances et anomalies dans la relation.


La clé de cette relation est Département, Faculté, Cours. Une dépendance fonctionnelle, qui n’implique pas la clé entière, est Département, Faculté -> ChefDépartement. Cette dépendance fonctionnelle introduit une redondance dans la relation, car pour chaque cours dans le même département et la même faculté, le chef de département doit être répété.

La relation présente une anomalie de mise à jour, car si nous voulons changer le chef d’un département, nous devons mettre à jour toutes les lignes dans lesquelles cette information est présente, et non une seule ligne.

La relation contient également une anomalie de suppression, car si nous voulons supprimer un chef de département, nous perdons toutes les informations sur les professeurs de ce département.

 
 

6. Identifiez les clés et les dépendances fonctionnelles de la relation précédente, puis identifiez une décomposition en forme normale de BCNF.

La clé de cette relation est Département, Faculté, Cours.

Les attributs Professeur, Faculté, Cours semblent également former une clé dans cette instance de la relation, mais cela n’est généralement pas correct car le même professeur peut enseigner le même cours dans différents départements d’une faculté.

Décomposition :

Cette décomposition est correcte, car avec une jointure entre les deux relations, nous obtenons toutes les lignes de la relation initiale.

De plus, la décomposition résout tous les problèmes d’anomalies, grâce à la forme normale BCNF.

 
 

7. Parmi les propositions de règles pour les dépendances, lesquelles sont correctes et lesquelles sont incorrectes ? Pour les règles incorrectes, donnez l’exemple de relation le plus simple que vous puissiez trouver où la règle ne s’applique pas.
1) Si A → BC et A → CD, alors A → C
2) Si AB → C alors A → C
3) Si A → BC alors A → B et A → C
4) Si A → BCD et A → C alors A → BD
1) Correct
2) Incorrect – R(A,B,C,D) avec R={(1,2,3,4),(1,5,6,7)}
3) Incorrect – R(A,B,C,D) avec R={(1,2,3,4),(1,5,6,7),(1,2,3,7),(1,5,6,4)}
4) Correct
 
 

8. La relation R(A,B,C) satisfait un ensemble inconnu de dépendances fonctionnelles. Tout ce que nous savons de R est qu’elle autorise l’instance suivante:

Lesquelles de ces dépendances fonctionnelles sont exclues par l’instance de R ci-dessus ?

Les dépendances fonctionnelles exclues par l’instance de R sont: 1), 2), 3), 5), 9), 10), 11)
 
 

9. Considérons la relation R=(A,B,C,D) avec les DF suivantes :
AB → C, C → D, et D → A

9.1) Donner la liste de toutes les clés candidates de R.

3 clés candidates pour R: (A,B), (B,C), (B,D)

9.2) R est-il en 3NF? BCNF?

R est en 3NF, mais pas en BCNF.
 

Laisser un commentaire

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