De quoi dépend un cours ?

[15 min]

On considère le schéma relationnel R défini sur les attributs suivants : C : cours, P : professeur, H : heure, S : salle, E : étudiant, N : note.

Un nuplet (c, p, h, s, e, n) a pour signification que le cours c est fait par le professeur p à l'heure h dans la salle s pour l'étudiant e qui a reçu la note n.

L'ensemble E des dépendances fonctionnelles initiales est le suivant :

  • C → P

  • H,S → C

  • H,P → S

  • C,E → N

  • H,E → S

Question

Donner la fermeture transitive F+ des dépendances fonctionnelles élémentaires engendrées par E.

Solution

  • C→P et H,P→S donc H,C→S

  • H,S→C et C→P donc H,S→P

  • H,P→S et H,S→C donc H,P→C

  • H,E→S et H,S→C donc H,E→C donc H,E→P

  • H,E→C et C,E→N donc H,E→N

En résumé on a :

  • C→P

  • H,C→S

  • H,S→C,P

  • H,P→S,C

  • C,E→N

  • H,E→S,C,P,N

Question

Quelle est la clé de la relation R ? Montrer qu'elle est unique.

Solution

De la fermeture transitive on déduit que (H,E) est une clé potentielle (elle dérive tous les autres attributs).

Elle est unique car H et E sont les seuls attributs qui ne sont pas en partie droite de DF. Donc ils appartiennent forcément à toutes les clés. Comme (H,E) est déjà une clé, il ne peut y en avoir d'autres (critère de minimalité).

Question

On décompose la relation R en quatre relations : R1(C,E,N), R2(C,P), R3(C,H,S), R4(C,H,E).

Pour chacune de ces relations, donner sa clé et sa forme normale. Cette décomposition est-elle sans perte d'information ? Préserve-t-elle les dépendances fonctionnelles ? Justifiez votre réponse.

Solution

  • R1 est obtenue en décomposant le schéma initial selon la DF[1] : C,E→N, qui est la seule sur cette relation. C'est la seule DF de R1 donc la clé est {C,E}. R1 est bien évidemment en 3NF[2], et même en BCNF[3] car elle ne possède qu'une DF qui a pour origine une clé.

  • R2 est obtenue par la DF : C→P. Là encore, il n'y a qu'une seule DF, donc C est la clé de R2 et R2 est en BCNF.

  • R3 est obtenue par les DF : H,S→C ou la DF H,C→S. Deux clés sont possibles : {H,S} ou bien {H,C}. Dans les deux cas, R3 est en BCNF.

  • R4 est obtenue par la DF : H,E→C. La clé est donc {H,E} et R4 est en BCNF.

Cette décomposition est sans perte, on peut retrouver la relation de composant les relations obtenues par la décomposition.

Par contre la décomposition ne préserve pas les DF. Par exemple HP→S n'est pas préservée : L'attribut P ne se trouve que dans la partie droite des dépendances fonctionnelles inclues dans les relations R1, R2, R3 et R4 { C→P; H,C→S; H,S→C; CE→N; H,E→C } et par conséquent on ne pourra pas déduire une DF ayant P dans sa partie droite.