Vous êtes sur la page 1sur 8

L3 Informatique & Miage

Universit Nice Sophia Antipolis

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008

Sujet de TD n2
BASES DE DONNES
Correction
Formes normales et couverture minimale
EXERCICE 1
Soit le schma relationnel suivant :
video(No-Client, Nom-Client, Prnom-Client, Adresse-Client,
DateDbut-AbonnementClient, No-Cassette, Titre-Film, PrixAchat-Cassette,
Nom-Editeur, Adresse-Editeur, Dure-Film, Nationalit-Film, Nom-Ralisateur,
AnneSortie-Film, Genre, DateLocation-Cassette, Dure-Location)

Hypothse :
on considre que les titres de film sont uniques (pas de remake...).
on souhaite garder un historique des locations de vido.
QUESTIONS
1. Expliquer pourquoi cette relation n'est pas en 2NF.
Une relation est en 2NF ssi elle est en 1NF et ssi tout attribut qui n'appartient pas une cl
candidate ne dpend pas d'un sous-ensemble strict des attributs d'une cl candidate
Il faut rechercher la cl candidate : vraisemblablement tant donn que lon na pas explicit
de DF particulire et que lon a la contrainte de lhistorique il semble que la cl [No-Cassette,
DateLocation-Cassette] soit cl candidate, ce qui implique que la relation video nest pas
mono-attribut et donc quelle nest pas forcment 2NF.
Selon toute logique on recense les dpendances fonctionnelles suivantes :
No-Cassette Titre-Film, PrixAchat-Cassette, Nom-Editeur, Adresse-Editeur, DureFilm, Nationalit-Film, Nom-Ralisateur, AnneSortie-Film, Genre
No-Cassette, DateLocation-Cassette Dure-Location, No-Client, Nom-Client, PrnomClient, Adresse-Client, DateDbut-AbonnementClient
Plus finement on pourrait dfinir larbre des DFs :
No-Cassette Titre-Film, PrixAchat-Cassette
Titre-Film Nom-Editeur, Dure-Film, Nationalit-Film, Nom-Ralisateur,
AnneSortie-Film, Genre
Nom-Editeur Adresse-Editeur
No-Cassette, DateLocation-Cassette No-Client, Dure-Location
No-Client Nom-Client, Prnom-Client, Adresse-Client, DateDbutAbonnementClient
Dans tous les cas le fait que lon ait la DF suivante :

L3 Informatique & Miage


Universit Nice Sophia Antipolis

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008

No-Cassette Titre-Film, PrixAchat-Cassette ou bien un degr plus grossier,


No-Cassette Titre-Film, PrixAchat-Cassette, Nom-Editeur, Adresse-Editeur, DureFilm, Nationalit-Film, Nom-Ralisateur, AnneSortie-Film, Genre

implique que la relation nest pas en 2NF


2. Dcomposer Video pour obtenir un schma relationnel en 2NF tout en prservant les
dpendances. Attention, on ne demande ici que la 2NF.

R1 (No-Cassette,Titre-Film, PrixAchat-Cassette, Nom-Editeur, Adresse-Editeur,


Dure-Film, Nationalit-Film, Nom-Ralisateur, AnneSortie-Film, Genre)
R2 (No-Cassette, DateLocation-Cassette, Dure-Location, No-Client, Nom-Client,
Prnom-Client, Adresse-Client, DateDbut-AbonnementClient)

3. Les relations obtenues sont-elles en 3NF ? Expliquer votre rponse. Si ce n'est pas le cas,
modifier le schma afin d'obtenir un rsultat en 3NF.
Une relation est en 3NF ssi elle est en 2NF et ssi chaque attribut qui n'appartient pas une
cl candidate ne dpend pas fonctionnellement d'un attribut qui n'appartient pas une cl
candidate
Si on considre R1, il y a une DF entre Titre-Film et dautres attributs :
Titre-Film Nom-Editeur, Dure-Film, Nationalit-Film, Nom-Ralisateur, AnneSortieFilm, Adresse-Editeur
On dcompose R1 :
R1 (No-Cassette,Titre-Film, PrixAchat-Cassette)
R1 (Titre-Film, Nom-Editeur, Dure-Film, Nationalit-Film, Nom-Ralisateur,
AnneSortie-Film, Adresse-Editeur, Genre)
Pour que R1 soit en 3NF il faut encore la dcomposer
R1 (Titre-Film, Nom-Editeur, Dure-Film, Nationalit-Film, Nom-Ralisateur,
AnneSortie-Film, Genre)
R1 (Nom-Editeur, Adresse-Editeur)
R1, R1, R1 sont en 3NF
Si on considre maintenant R2, il y a une DF entre No-Client et dautres attributs :
No-Client Nom-Client, Prnom-Client, Adresse-Client, DateDbut-AbonnementClient
On dcompose R2 :
R2(No-Cassette, DateLocation-Cassette, Dure-Location, No-Client)
R2(No-Client, Nom-Client, Prnom-Client, Adresse-Client, DateDbutAbonnementClient)
R2 et R2 sont en 3NF
4. Les relations obtenues sont-elles en BCNF ? Expliquer votre rponse. Si ce n'est pas le cas,
modifier le schma afin d'obtenir un rsultat en BCNF.
Une relation est BCNF ssi elle est en 3NF et s'il n'y a pas d'autres DF lmentaires que celles
issues des cls candidates .
Il faut regarder sil existe des DF entre un attribut qui ne fait pas partie de la cl candidate et
avec un attribut qui appartient la cl candidate

L3 Informatique & Miage


Universit Nice Sophia Antipolis

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008

R2, R2, R1, R1, R1 sont en BCNF


A vrifier : Perte de donnes ? et Perte de DF ? mme approche que pour le TD1

EXERCICE 2
Soit le schma relationnel suivant :
Agence ( No-Locataire, Nom-Locataire, No-Appartement, Adresse-Appartement,
Nombre-Pice, DateDbut-Location, DateFin-location, Montant-Loyer,
ModePaiement-Loyer, No-Propritaire, Nom-Propritaire, FraisGestion-Appartement,
Nb-tantime)

dans lequel on a reprsent une partie du systme d'information d'une agence immobilire.
Hypothses du systme :
Le loyer d'un appartement donn peut tre rengoci entre deux locations, mais le mode de
paiement du loyer (virement, chque, ...) est impos par le propritaire indpendamment du
locataire et indpendamment de l'appartement.
No-Appartement, DateDbut-Location Montant-Loyer
No-Propritaire ModePaiement-Loyer, Nom-Propritaire
La DF de No-Propritaire vers Nom-proprietaire est implicite base sur la comprhension

Le loyer est vers par le locataire l'agence qui reverse ensuite chaque propritaire la
partie qui lui est due (dduction faite des frais de gestion qui sont pays par l'agence).

Confirme la DF : No-Appartement, DateDbut-Location Montant-Loyer


No-Appartement FraisGestion-Appartement, Adresse-Appartement, Nombre-Pice
La DF de No-appartement vers Adresse-Appartement, Nombre-Pice est implicite base sur la
comprhension
Cette hypothse semble indiquer quil faut construire un attribut calcul : Montant-Loyer FraisGestion-Appartement
Le propritaire est pay par lagence et il peut donc apparaitre plusieurs fois (autant de fois
quil a dappartement) :
No-propritaire, nappartement (on aurait envie dy mettre lattribut calcul)

Il n'est pas ncessaire de conserver le mode de paiement dans les historiques des locations.

Cela signifie que ModePaiement-Loyer peut simplement tre associ No-propritaire comme
indiqu plus haut.

Les frais de gestion de l'appartement sont la charge du propritaire et fonction de


l'appartement (taille, situation, ...).

Confirme la remarque sur la construction dun attribut calcul

L3 Informatique & Miage


Universit Nice Sophia Antipolis

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008

Un locataire peut bien sr louer plusieurs appartements, mais on ne prendra pas en compte
la collocation dans cet exercice (il n'y a qu'un seul locataire pour un appartement donn
un instant donn).

On ajoute un lment en partie droite de la DF vue plus haut :


No-Appartement, DateDbut-Location No-Locataire, Montant-Loyer
No-Locataire Nom-Locataire
La DF de No-Locataire vers Nom-Locataire est implicite base sur la comprhension

Il peut, par contre, y avoir plusieurs propritaires. Chacun dtient alors un pourcentage du
tantime correspondant l'appartement. Le tantime de l'appartement indique les
caractristiques de l'appartement dans l'immeuble (situation, superficie, ...) de faon
chiffre.

No-propritaire, nappartement Nb-tantime

Il faut garder l'historique des locations enregistres dans le systme (et pas uniquement
celles en cours) mais pas des propritaires des appartements (on ne souhaite conserver que
les propritaires actuels). Enfin, on considre qu'il n'y a pas de changement de propritaire
pendant une location.

Confirme la DF No-Appartement, DateDbut-Location Montant-Loyer


Elle devient :
No-Appartement, DateDbut-Location Montant-Loyer, No-Locataire, DateFin-Location
La DF de [No-Appartement, No-Locataire, DateDbut-Location] vers DateFin-Location est
implicite base sur la comprhension
La remarque ci-dessus fait que lon najoute pas la DateDbut-Location en partie gauche de
la DF No-propritaire, nappartement Nb-tantime

Si on rsume le graphe de couverture minimale :


No-Appartement, DateDbut-Location No-Locataire, Montant-Loyer, DateFin-Location
No-Locataire Nom-locataire
No-propritaire, nappartement Nb-tantime
No-propritaire ModePaiement-Loyer, Nom-propritaire
No-Appartement FraisGestion-Appartement, Adresse-Appartement, Nombre-Pice

QUESTIONS
1. Indiquer en quelle forme normale est la relation ci-dessus. Justifier votre rponse.
Il faut dterminer quelle est la cl candidate :
Daprs les DFs mentionnes ci-dessus il semble que la seule cl candidate soit :
No-Appartement, No-propritaire, DateDbut-Location
Intuitivement cest lunion des parties gauche du premier niveau du graphe

L3 Informatique & Miage


Universit Nice Sophia Antipolis

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008

En pratique on montre quil y a une DF vers tous les autres attributs et que si on en enlve un
on ne peut identifier tous les tuples de la relation.
La relation Agence est :
1NF (pas dattributs multivalus)
Nest pas 2NF car elle ne vrifie : Une relation est en 2NF ssi elle est en 1NF et
ssi tout attribut qui n'appartient pas une cl candidate ne dpend pas d'un sousensemble strict des attributs d'une cl candidate
Les 4 DF suivantes empchent la relation Agence dtre en 2NF
No-propritaire, nappartement Nb-tantime
No-Appartement, DateDbut-Location No-Locataire, Montant-Loyer, DateFin-Location,
Nom-Locataire
No-propritaire ModePaiement-Loyer, Nom-propritaire
No-Appartement FraisGestion-Appartement, Adresse-Appartement, Nombre-Pice
Pour transformer cette relation en 2NF il faut la dcomposer en appliquant la rgle
nonce dans le cours :
Dcomposition de R(X, Y, Z) tel que X Y
Si la DF X Y est lmentaire :
En crant une relation R de cl X et d attributs Y
En supprimant dans R les attributs Y
Si la DF X Y est non lmentaire (pas minimale) :
X est la partie de X en DF lmentaire avec Y
En crant une relation R de cl X et d attributs Y
En supprimant dans R les attributs Y
R(No-Appartement, No-propritaire, DateDbut-Location) reste de Agence
R1 (No-Appartement, DateDbut-Location, No-Locataire, Montant-Loyer, DateFinLocation, Nom-Locataire) 1
R2(No-propritaire, ModePaiement-Loyer, Nom-propritaire)
R3(No-Appartement, FraisGestion-Appartement, Adresse-Appartement, NombrePice)
R4 (No-propritaire, nappartement, Nb-tantime)
2. Donner les transformations successives effectuer sur la relation pour qu'elle soit en
BCNF. Indiquer clairement les transformations ncessaires pour chaque forme normale (si
la relation est par exemple en 2NF, il faut montrer comment transformer la relation pour
qu'elle soit en 3NF et donner la/les relation(s) obtenue(s). Puis il faut donner les
transformations ncessaires et la/les relation(s) obtenue(s) pour qu'elle soit en BCNF).
On montre facilement que R, R1, R2, R3, R4 sont en 2NF (plusieurs ont une cl candidate
mono-attribut.

Jai une diffrence avec la correction papier dIsabelle qui met aussi quantime dans R1 mais je ne vois pas la
raison ou alors je lis mal

L3 Informatique & Miage


Universit Nice Sophia Antipolis

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008

Une relation est en 3NF ssi elle est en 2NF et ssi chaque attribut qui n'appartient pas une
cl candidate ne dpend pas fonctionnellement d'un attribut qui n'appartient pas une cl
candidate

R est 3NF et en BCNF


R1 : cl candidate : No-Appartement. R1 nest pas en 3NF car elle contient la DF NoLocataire Nom-locataire
R1A(No-Appartement, DateDbut-Location, No-Locataire, Montant-Loyer, DateFinLocation)
R1B(No-Locataire, Nom-Locataire)
R2 (cl candidate No-Propritaire) est 3NF et BCNF
R3 (cl candidate No-Appartement) est 3NF et BCNF
R4 (cl candidate No-Propritaire, No-Appartement) est 3NF et BCNF

Aprs dcomposition en R1A et R1B, ces relations sont en 3NF et BCNF.


3. Dmontrer qu'il n'y a pas de perte de donnes sur le schma relationnel normalis.
On montre que les DFs mises en vidence dans :
No-Appartement, DateDbut-Location No-Locataire, Montant-Loyer, DateFin-Location
No-Locataire Nom-locataire
No-propritaire, nappartement Nb-tantime
No-propritaire ModePaiement-Loyer, Nom-propritaire
No-Appartement FraisGestion-Appartement, Adresse-Appartement, Nombre-Pice
Sont toujours prsentes (DF entre la cl candidate et chacun des attributs)
En ce qui concerne la perte de donnes, on peut avoir une approche exprimentale en faisant la
jointure sur un ensemble de tuples mais il faut vrifier pour chaque dcomposition de Agence
vers R, R1A, R1B, R2, R3 et R4 le thorme de HEATH : Toute relation R(X, Y, Z) est
dcomposable dans perte dinformation en
R1 = projection (X, Y) de R et
R2 = projection (X, Z) de R
Sil y a dans R une dpendance fonctionnelle de X vers Y (X Y)
On montre facilement que cest le cas.

EXERCICE 3
Soit une relation :
R(A, B, C, D, E)

et F, lensemble des dpendances fonctionnelles associes R :


A B,
B D,
C A,
AD C,
CB E,

L3 Informatique & Miage


Universit Nice Sophia Antipolis

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008

AEC D

QUESTIONS
1. Donner une dcomposition de R pour obtenir un schma en 3NF sans perte de dpendances
fonctionnelles et sans perte de donnes.
On cherche simplifier les trois dpendances ayant une source multiple dans le but de ne garder si
possible que des DF ayant une seule source :
AD C
Par le thorme de transitivit A B et B D on obtient : A D
Donc : AA C (on a remplac D par A puisque A dtermine D )
Donc : A C (qui remplace AD C)
CB E
Par le thorme de transitivit C A et A B on obtient : C B
Donc : CC E (on a remplac B par C puisque C dtermine B )
Donc : C E (qui remplace CB E)
AEC D
On a par hypothse : C A et C E
Donc : CCC D (on a remplac A par C puisque C dtermine A
et on a remplac E par C puisque C dtermine E )
On obtient donc en simplifiant les C : C D qui est dj une DF dduite par transitivit des trois DF
suivantes : C A B D
Lutilisation des diffrents thormes permet de supprimer les DFs avec plusieurs sources que lon peut
dduire partir de DFs plus simples qui peuvent exister.
Le graphe minimal est donc :

A
B
D

C
E

Commentaires sur le graphe et les DFs dduites :


A B, (dans lnonc)
B D, (dans lnonc)
C A, (dans lnonc)
A C, (remplace AD C pouvant tre dduit de A sans lajout de D car A dtermine D par transitivit)
C E, (remplace CB E qui peut tre dduit de C sans lajout de B car C dtermine B par transitivit)
Note : AEC D nest pas utile car :
C dtermine D par transitivit : C dtermine A qui dtermine B qui dtermine D (DFs existantes)
C dtermine A par transitivit : C dtermine E et C dtermine A (DFs existantes)

L3 Informatique & Miage


Universit Nice Sophia Antipolis

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008

Comme on le voit sur le graphe, A et C sont deux cls candidates puisqu partir de lune ou de lautre on
peut atteindre tous les autres attributs. R (A, B, C, D, E) avec A ou C qui peuvent devenir lune ou lautre la
cl primaire.
Pour tre en 3NF il faut supprimer la dpendance suivante : B D. On dcompose en utilisant de

manire maintenant classique le thorme de Heath :


R1 (A, B, C, E) ou R1 (A, B, C, E)
R2 (B, D)
La normalisation se fait par rapport aux cls candidates et non par rapport aux cls primaires. Etant donn
que A et C sont deux cls candidates il serait nuisible de vouloir enlever par exemple la DF C E dans le
cas o on choisit A comme cl primaire ou par exemple A B dans le cas o cest C qui est la cl
primaire car cela reviendrait (inutilement) trop dcomposer et ncessiter des jointures supplmentaires
qui nuiraient aux performances.

Ces relations sont en 3NF. On remarque que toutes les dpendances (non dduites) mentionnes
dans le graphe minimal sont prsentes dans R1 et R2. On a appliqu le thorme de Heath pour
faire la dcomposition et donc il ny a pas de perte de donnes.