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!

 
 

1. Soit la relation R(A,B,C) représentée par l’instance suivante :

Parmi les dépendances fonctionnelles suivantes, lesquelles peuvent être satisfaites par cette instance ?
1. AB -> C
2. C -> B
3. BC -> A
4. B -> C
5. BC -> A
6. A -> C
7. AC -> B
8. B -> C
Pour vérifier une dépendance fonctionnelle X→Y, il faut regarder si deux tuples ayant la même valeur pour X ont toujours la même valeur pour Y.

| N°| Dépendance | Résultat | Justification                                  |
|---|------------|----------| -----------------------------------------------|
| 1 | (AB → C)   |    ✅    | Toutes les valeurs de (A,B) sont différentes.  |
| 2 | (C → B)    |    ❌    | C = 8 apparaît deux fois, mais B = 1 et B = 8. |
| 3 | (BC → A)   |    ✅    | Toutes les valeurs de (B,C) sont différentes.  |
| 4 | (B → C)    |    ✅    | Toutes les valeurs de B sont différentes.      |
| 5 | (BC → A)   |    ✅    | Même dépendance que la n°3.                    |
| 6 | (A → C)    |    ❌    | A = 7 apparaît trois fois avec C = 8, 5, 5.    |
| 7 | (AC → B)   |    ✅    | Les couples (A,C) sont tous différents.        |
| 8 | (B → C)    |    ✅    | Même dépendance que la n°4.                    |

Les dépendances fonctionnelles satisfaites par cette instance sont :

AB → C​ 
BC → A​ 
B → C​ 
AC → B

 

 
 

2. Voici une instance de R (V, W, X, Y, Z). Choisir la dépendance fonctionnelle qui peut s’appliquer à R

1. V -> WX
2. YZ -> X
3. X -> YZ
| N°| Dép.     | Rés. | Justification                                     |
|---|----------|------|---------------------------------------------------|
| 1 | (V → WX) |  ✅  | V = 7 apparaît trois fois, et WX vaut (8,c) dans  |
|   |          |      | les trois cas.                                    |
| 2 | (YZ → X) |  ✅  | X vaut toujours c, donc deux tuples ayant le même |
|   |          |      | (Y,Z) ont toujours le même X.                     |
| 3 | (X → YZ) |  ❌  | X = c apparaît 4 fois, mais (Y,Z) prend plusieurs |
|   |          |      | valeurs: (9,4), (2,4), (2,2).                     |

Les dépendances satisfaites sont: V → WX​ et YZ → X

Pour vérifier une dépendance fonctionnelle X → Y, il faut vérifier que lorsque deux tuples ont la même valeur pour X, ils ont également la même valeur pour Y. Pour V → WX, la valeur V = 7 apparaît trois fois et, dans ces trois tuples, WX = (8,c) est identique : la dépendance est donc satisfaite. Pour YZ→X, toutes les valeurs de X sont c, donc deux tuples ayant les mêmes valeurs de Y et Z ont nécessairement la même valeur de X : la dépendance est satisfaite. En revanche, X → YZ n’est pas satisfaite, car X = c apparaît dans tous les tuples alors que les valeurs de (Y,Z) sont différentes. Les réponses correctes sont donc 1 et 2.

 

 
 

3. Soit la relation R(A1,A2,A3,A4) représentée par l’instance suivante :

Parmi les dépendances fonctionnelles suivantes, lesquelles peuvent être satisfaites par cette instance ?
1. A4 -> A1
2. A2, A3 -> A4
3. A2, A3 -> A1
1. A4 -> A1        Incorrect : le premier et le quatrième tuple le violent.
2. A2, A3 -> A4    Incorrect : le premier et le deuxième tuple le violent.
3. A2, A3 -> A1    Correct
| N°| Dépendance  | Rép.| Justification                                         |
|---|-------------|-----| ------------------------------------------------------|
| 1 | A4 → A1     | ❌  | Les 1er et 4e tuples ont A4 = 6, mais A1 = 1 et A1 = 2.
| 2 | A2, A3 → A4 | ❌  | Les 1er et 2e tuples ont A2 = 2 et A3 = 3, mais A4 = 6 
|   |             |     | et A4 = 5.       
| 3 | A2, A3 → A1 | ✅  | Les 1er et 2e tuples ont A2 = 2 et A3 = 3 et possèdent 
|   |             |     | tous les deux A1 = 1. 

Pour qu’une dépendance fonctionnelle X→Y soit satisfaite, deux tuples ayant la même valeur pour X doivent obligatoirement avoir la même valeur pour Y.

Pour A4→A1, les valeurs de A4 = 6 apparaissent dans les premier et quatrième tuples, mais A1 vaut respectivement 1 et 2 : la dépendance est donc violée.

Pour A2,A3→A4, les deux premiers tuples ont A2 = 2 et A3 = 3, mais A4 vaut 6 puis 5 : la dépendance est également violée.

En revanche, pour A2,A3→A1, les deux premiers tuples ont A2 = 2 et A3 = 3 et, dans les deux cas, A1 = 1 ; aucun autre couple identique de (A2,A3) ne produit une valeur différente de A1. La troisième dépendance est donc satisfaite par cette instance.

 

 
 

4. Soit la relation R(A, B, C) représentée par l’instance suivante :

Parmi les dépendances fonctionnelles non triviales entre les attributs A, B et C, lesquelles sont satisfaites par cette instance ?

Conseil : pour lister toutes les DF satisfaites par la relation, il faut d’abord identifier toutes les DF possibles, puis vérifier une à une lesquelles sont satisfaites par la relation.

| N°| Dépendance | Rép. | Justification                                 |
|---|------------|------| ---------------------------------------------------|
| 1 | A → B      |  ✅  | Pour une même valeur de A, la valeur de B est
|   |            |      | toujours b1.                                                  
| 2 | A → C      |  ❌  | Pour A = a1, on obtient C = c1 et C = c2.             
| 3 | B → A      |  ❌  | Pour B = b1, on obtient A = a1 et A = a2.             
| 4 | B → C      |  ❌  | Pour B = b1, on obtient C = c1, c2 et c3.             
| 5 | C → A      |  ❌  | Pour C = c1, on obtient A = a1 et A = a2.             
| 6 | C → B      |  ✅  | Pour toutes les valeurs de C, la valeur de B est      
|   |            |      | toujours b1.                                          
| 7 | A, B → C   |  ❌  | (A,B) = (a1,b1) apparaît avec C = c1 et C = c2.       
| 8 | A, C → B   |  ✅  | Quelle que soit la combaison (A,C), B = b1.           
| 9 | B, C → A   |  ❌  | (B,C) = (b1,c1) apparaît avec A = a1 et A = a2.       

Les dépendances fonctionnelles non triviales satisfaites par cette instance sont:

A → B
C → B
A, C → B

Remarque: comme B prend toujours la même valeur (b1) dans toute la relation, tout ensemble d’attributs contenant A ou C permet également de déterminer B. Ici, on liste surtout les dépendances élémentaires/non triviales utiles pour l’exercice.

 

 

Laisser un commentaire

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