Soit la relation suivante qui permet de gérer les
prêts de cassettes vidéo aux clients :
PrêtK7 (NumCli, NomCli, AdrCli,
NumK7, TitK7, DatePrêt)
munie de la liste des dépendances fonctionnelles
suivante :
NumCli à NomCli, AdrCli
NumK7 à TitK7
NumCli, NumK7 à DatePrêt
NB : On suppose que AdrCli est atomique.
Travail demandé :
1. Donner le graphe des dépendances fonctionnelles de PrêtK7.
2. Donner une décomposition de PrêtK7 en relations 1FN, 2FN et 3FN sans perte d’informations
et sans perte de dépendances.
Correction :
1. Donner le graphe des dépendances fonctionnelles de
PrêtK7.
1. Donner une décomposition de Factures en relations 1FN,
2FN et 3FN sans perte d’informations et sans perte de dépendances.
§ En 1°Forme
Normale :
PrêtK7(NumCli, NumK7, NomCli, AdrCli, TitK7,
DatePrêt)
§ En 2°Forme
Normale :
La relation PrêtK7
n’est donc pas en 2FN.
En effet, dès qu’un
client loue plusieurs cassettes, son nom et son adresse sont inutilement
reproduits dans la base. De même, le
titre d’une cassette est répété pour chacun de ses emprunts.
Une application de la 2°Forme
Normale conduirait à l’éclatement de la relation PrêtK7 en trois relations en
2FN :
Client (NumCli, NumCli, AdrCli)
K7 (NumK7, TitK7),
Prêt (NumCli, NumK7, DatePrêt).
§ En 3°Forme
Normale : Sans changement.