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 n1
BASES DE DONNES
Correction
Modle relationnel, dcomposition, pertes de donnes et de dpendances
Attention : vous ferez la question 5 comme exercice personnel une fois que lon aura assez avanc
dans le cours.

EXERCICE 1
Soit un schma relationnel constitu d'une seule relation :
R (Id-Cours, Id-Etudiant, Age, Note)

et des deux dpendances fonctionnelles suivantes :


Id-Cours, Id-Etudiant Note
Id_Etudiant Age.

QUESTIONS
1. Donner quelques exemples de tuples correspondant la relation R.
Id-cours
C1
C1
C2
C3

Id-etudiant
E1
E2
E1
E1

Age
18
20
18
18

Note
15
16
12
12

2. Indiquer les cls candidates de la relation R


Une cl candidate cest un attribut ou groupe d'attributs minimal qui peut identifier de faon
unique chaque tuple de la relation
La valeur d'une cl candidate est distincte pour chaque tuple :
Id-cours, Id-Etudiant, Age et Note pris sparment ne sont pas des cls candidates
[Id-cours, Id-Etudiant, Age, Note] identifie de faon unique chacun des tuples mais
nest pas minimal
Il semble que [Id-cours, Id-Etudiant] est cl candidate
Une cl candidate cest un attribut ou ensemble d'attributs minimal en DF avec les autres
attributs de la relation :
[Id-cours, Id-Etudiant] est en DF lmentaire avec Note (1re DF de lhypothse)
[Id-cours, Id-Etudiant] est en DF (mais pas lmentaire) avec Age (2me DF de
lhypothse)

L3 Informatique & Miage


Universit Nice Sophia Antipolis

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008

[Id-cours, Id-Etudiant] est donc une cl candidate.


3. Citer les anomalies et les redondances qui se trouvent dans la relation R
Comme on le voit dans les tuples qui ont t utiliss dans lexemple, lge est rpt pour
chaque cours mettant en jeu le mme tudiant Ctait prvisible compte tenu que [Id-cours,
Id-Etudiant] est en DF (mais pas lmentaire) avec Age
4. Dcomposer la relation R afin de supprimer les anomalies.
Quest-ce quil faut dcomposer ? Les relations qui ont des dpendances autres que les
dpendances fonctionnelles lmentaires entre la cl primaire et les autres attributs
Comment ?
Soit (si la DF dcomposer est lmentaire)
En crant une relation dont la cl est la partie gauche de la DF et les autres attributs de
cette relation, sa partie droite.
En supprimant dans la relation initiale les attributs en partie droite de la DF.
Soit (si la DF dcomposer est non lmentaire) 1 :
En crant une relation dont la cl est le bout de la partie gauche en DF lmentaire
avec les attributs de la partie droite de la DF et les autres attributs de la relation, sa
partie droite.
En supprimant la partie droite de la DF dans la relation initiale.
Ici : R (Id-Cours, Id-Etudiant, Age, Note) devient donc :
R1 (Id-Cours, Id-Etudiant, Note)
R2 (Id-Etudiant, Age)
On a :

supprim dans la relation initiale (qui est devenue R1), la DF entre [Id-cours, Id-Etudiant] et
Age
cr la relation R2 dont la cl candidate est [Id-Etudiant] et qui a comme attribut Age.

5. Vrifier que la dcomposition est sans perte de donnes (le vrifier exprimentalement en
faisant une jointure puis en le dmontrant laide du thorme de HEATH) et sans perte de
dpendances
Si on suit les dfinitions . Il faut que la dcomposition se fasse :
Sans perte de donnes : la jointure naturelle des relations issues de la dcomposition
dune relation R doit tre une relation dont le contenu est quivalent celui de la
relation R
Sans perte de dpendance : on peut alors retrouver (notamment par transitivit) toutes
les DF de R partir des relations issues de la dcomposition

On a vu en cours que pour une dpendance non lmentaire si on commence par soccuper de la dpendance
lmentaire qui rend justement la dpendance non lmentaire alors on se retrouve toujours dcomposer par rapport
des dpendances lmentaires.

L3 Informatique & Miage


Universit Nice Sophia Antipolis

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008

Vrification de non perte de dpendance :


On retrouve dans R2 la dpendance Id_Etudiant Age
On retrouve dans R1 la dpendance Id-Cours, Id-Etudiant Note
Vrification de non perte de donne :
On peut faire une premire vrification en ralisant la jointure naturelle suivante :
R1 J{Id-Etudiant} R2
Id-cours
C1
C1
C2
C3

Id-etudiant
E1
E2
E1
E1

Id-etudiant
E1
E2

Note
15
16
12
12

Age
18
20

Cette dfinition permet de tout de suite dire quil y a perte de donne si le contenu de R et de la
relation issue de la jointure sont diffrent : Soit une relation R(A,B,C) o A, B et C sont des
ensembles d'attributs disjoints, avec B C alors R(A,B,C) = R[A,B] J{B} R[B,C]
Sinon il faut appliquer le thorme de HEATH : Toute relation R(X, Y, Z) est dcomposable
sans 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)

EXERCICE 2
Soit la relation :
Commande (No- Commande, No-Produit, Quantit-Commande, No-Client, No-Reprsentant)

et les dpendances fonctionnelles suivantes :


No-Commande, No-Produit Quantit-Commande, No-Client, No-Reprsentant
No-Commande No-Client, No-Reprsentant
No-Client No-Reprsentant

QUESTIONS
1. Donner quelques exemples de tuples correspondant la relation R.
No-Commande
CO1
CO1
CO2
CO2

No-Produit
PR1
PR2
PR2
PR3

Quantit-Commande
10
15
10
11

No-client
CL1
CL1
CL3
CL3

No-Reprsentant
RE1
RE1
RE2
RE2

L3 Informatique & Miage


Universit Nice Sophia Antipolis
CO3

PR3

11

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008
CL4

RE1

2. Indiquer les cls candidates de la relation R

No-Commande, No-Produit, Quantit-Commande, No-Client, No-Reprsentant


pris sparment ne sont pas des cls candidates
[No-Commande, No-Produit, Quantit-Commande, No-Client, No-Reprsentant]
identifie de faon unique chacun des tuples mais nest pas minimal
[No-Commande, No-Produit] semble tre cl candidate

Une cl candidate cest un attribut ou ensemble d'attributs minimal en DF avec les autres
attributs de la relation :
[No-Commande, No-Produit] est en DF (lmentaire) avec QuantitCommande, No-Client, No-Reprsentant (1re DF)
Remarque : [No-Commande, No-Produit] est aussi en DF (non lmentaire)
avec No-Client, No-Reprsentant
[No-Commande, No-Produit] est donc cl candidate
3. Citer les anomalies et les redondances qui se trouvent dans la relation R
Les DFs suivantes induisent des anomalies (les parties gauches ne correspondent pas la cl
candidate) :
DF1 : No-Commande No-Client, No-Reprsentant
Duplication du numro de client et du numro de reprsentant chaque fois quun mme
produit est concern par une commande.
DF2 : No-Client No-Reprsentant
Duplication du numro de reprsentant pour chaque commande concernant le mme client.
4. Dcomposer la relation R afin de supprimer les anomalies.
Si on applique ce qui a t dit lexercice n1 :
On cherche dabord enlever DF1 :
R1 (No-Commande, No-Produit, Quantit-Commande) correspond une
commande
R1 contient seulement une DF qui a pour partie gauche la totalit de la cl.
R2 (No-Commande, No-Client, No-Reprsentant)
R2 contient toujours une DF qui na pas pour partie gauche la totalit de la cl ; il
faut donc dcomposer R2 car R2 introduit des anomalies : duplication du numro
de reprsentant pour chaque commande concernant le mme client.
o R2 (No-Commande, No-Client) correspond au fait quune commande est
ralise par un client et un seul.
R2 contient seulement une DF qui a pour partie gauche la totalit de la cl.
o R2 (No-Client, No-Reprsentant) correspond laffectation dun
reprsentant un client (un client a un seul reprsentant qui soccupe de
lui)
R2 contient seulement une DF qui a pour partie gauche la totalit de la cl.
On cherche dabord enlever DF2 :
R1 (No-Commande, No-Produit, Quantit-Commande, No-Client)

L3 Informatique & Miage


Universit Nice Sophia Antipolis

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008

R1 contient toujours une DF qui na pas pour partie gauche la totalit de la cl ; il


faut donc dcomposer R1 car R1 introduit des anomalies : duplication du numro
de client pour chaque produit de la mme commande.
o R1 (No-Commande, No-Produit, Quantit-Commande)
o R1 (No-Commande, No-Client)
R2 (No-Client, No-Reprsentant)

En partant de DF1 ou de DF2 on aboutie la mme dcomposition (ce nest pas toujours le
cas) mais en passant par des relations intermdiaires diffrentes.
5. Vrifier que la dcomposition est sans perte de donnes (le vrifier exprimentalement en
faisant une jointure puis en le dmontrant laide du thorme de HEATH) et sans perte de
dpendances
On montrera comme dans lexercice n1 quil ny a pas de perte de rgles de dpendances.
Il reste vrifier quil ny a pas de perte de donnes en faisant les jointures naturelles

EXERCICE 3
Soit la relation :
R (Fournisseur, Adresse, Raison-Sociale, no-Produit, Libell-Produit, Quantit, Prix, NoCommande, Dlai, Date)

et les dpendances fonctionnelles suivantes :


No-Commande Fournisseur, Dlai, Date
Fournisseur Raison-Sociale, Adresse
No-Commande, no-Produit Quantit
No-Produit, Fournisseur Prix
No-Produit Libell-Produit

QUESTIONS
1. Donner quelques exemples de tuples correspondant la relation R.
Fournisseur Adresse Raison
sociale
F1
A1
R1
F1
A1
R1
F3
A3
R3
F3
A3
R3
F1
A1
R1

NoProduit
PO1
PO2
PO2
PO3
PO1

LibellProduit
LIBP1
LIBP2
LIBP2
LIBP3
LIBP1

Quantit Prix
20
30
25
20
40

105
110
101
120
105

NoCommande
CO1
CO1
CO2
CO2
C03

Dlai

Date

15
15
10
10
15

D1
D1
D2
D2
D3

2. Indiquer les cls candidates de la relation R

Aucun attribut nest lui seul cl candidate


Bien sur lensemble des attributs identifie de faon unique chacun des tuples mais nest
pas minimal
[No-Commande, No-Produit] est en DF lmentaire avec Quantit (1re DF de
lhypothse)

L3 Informatique & Miage


Universit Nice Sophia Antipolis

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008

[No-Commande, No-Produit] est en DF (mais pas lmentaire) avec les autres attributs
o De plus : No-Commande Fournisseur, Dlai, Date
o De plus : Fournisseur Raison Sociale, Adresse (par transitivit : NoCommande Raison Sociale, Adresse
Et donc No-Commande Fournisseur, Dlai, Date, Raison Sociale, Adresse
Et donc [No-Commande, No-Produit] Fournisseur, Dlai, Date, Raison-Sociale,
Adresse, Quantit (mais pas lmentaire)
o De plus No-Produit Libell-Produit
Et donc [No-Commande, No-Produit] Libell-Produit (pas lmentaire)
Et donc [No-Commande, No-Produit] Fournisseur, Dlai, Date, Raison-Sociale,
Adresse, Libell-Produit, Quantit (mais pas lmentaire)
o Si on applique laxiome dAmstrong de pseudo-transitivit :
Si X Y et WY Z alors WX Z
X = No-Commande, Y = Fournisseur, W = No-Produit, Z = prix
On sait que :
No-Commande Fournisseur et No-Produit, Fournisseur Prix,
Donc : No-Commande, No-Produit Prix
Et donc [No-Commande, No-Produit] Fournisseur, Dlai, Date, Raison-Sociale,
Adresse, Libell-Produit, Prix, Quantit (mais pas lmentaire)

[No-Commande, No-Produit] est une cl candidate

3. Citer les anomalies et les redondances qui se trouvent dans la relation R


On note de nombreuses anomalies dans le tableau qui rsultent des dpendances
fonctionnelles suivantes :
DF1 : No-Commande Fournisseur, Dlai, Date
DF2 : Fournisseur Raison-Sociale, Adresse
DF3 : No-Produit, Fournisseur Prix
DF4 : No-Produit Libell-Produit
On constate donc que :
Le fournisseur, le dlai et la date sont duplique chaque fois quune commande
contient plusieurs produits
La raison sociale et ladresse sont dupliques chaque fois quapparait le mme
fournisseur dans une commande
Le prix est dupliqu si dans plusieurs commandes apparait le mme produit et le
mme fournisseur
Chaque fois quun produit apparait dans une commande sont libell est dupliqu
4. Dcomposer la relation R afin de supprimer les anomalies.
R (Fournisseur, Adresse, Raison-Sociale, no-Produit, Libell-Produit, Quantit, Prix, NoCommande, Dlai, Date) se dcompose en :
R1(Adresse, Raison-Sociale, no-Produit, Libell-Produit, Quantit, Prix, NoCommande)
R2(No-Commande, Fournisseur, Dlai, Date) DF1
Le problme est que lon a perdu une DF (DF2). Il faut donc essayer de faire autrement !

L3 Informatique & Miage


Universit Nice Sophia Antipolis

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008

R (Fournisseur, Adresse, Raison-Sociale, no-Produit, Libell-Produit, Quantit, Prix, NoCommande, Dlai, Date) se dcompose en :
R1 (Fournisseur, no-Produit, Libell-Produit, Quantit, Prix, No-Commande, Dlai, Date)
R2 (Fournisseur,Raison-Sociale, Adresse) DF2
R1 se dcompose en :
R1 (no-Produit, Libell-Produit, Quantit, Prix, No-Commande)
R1 (No-Commande, Fournisseur, Dlai, Date) DF1
Le problme est que lon a perdu une DF (DF3).
Il semble que si on procde dans lordre DF4, DF3, DF2, DF1 on nait pas de perte de
dpendance car les parties droites ninfluencent pas les DF (partie gauche) suivantes (
vrifier)
5. Vrifier que la dcomposition est sans perte de donnes (le vrifier exprimentalement en
faisant une jointure puis en le dmontrant laide du thorme de HEATH) et sans perte de
dpendances
Voir 4). Il reste vrifier quil ny a pas de perte de donnes en faisant les jointures naturelles

EXERCICE 4
Soit la relation :
R (A, B, C, D, E)

avec les dpendances fonctionnelles suivantes :


A B, C, D, E
C,D E
E,C B

QUESTIONS
1. Donner quelques exemples de tuples correspondant la relation R.
A
A1
A2
A3
A4

B
B1
B2
B2
B4

C
C1
C1
C1
C2

D
D1
D2
D3
D1

E
E1
E2
E2
E3

2. Indiquer les cls candidates de la relation R


Cest [A] qui est cl candidate (il ny a pas plus petite)
Il ny a quelle car A napparait en partie droite daucune DF
3. Citer les anomalies et les redondances qui se trouvent dans la relation R
On note des anomalies dans le tableau qui rsultent des dpendances fonctionnelles
suivantes :
C,D E et

L3 Informatique & Miage


Universit Nice Sophia Antipolis

P. CRESCENZO - R. GRIN - Ph. LAHIRE


Anne universitaire 2007/2008

E,C B
Et donc :

Chaque tuple ayant le mme valeur de C et D implique la duplication de E


Chaque tuple ayant le mme valeur de E et C implique la duplication de B

4. Dcomposer la relation R afin de supprimer les anomalies.


R (A, B, C, D, E) est dcompos en :
R1 (A, C, D)
R2 (C, D, E, B) qui se dcompose en R2(C, D, E) et R2(E,C,B)
5. Vrifier que la dcomposition est sans perte de donnes (le vrifier exprimentalement en
faisant une jointure puis en le dmontrant laide du thorme de HEATH) et sans perte de
dpendances
A partir de R1 (A, C, D), R2(C, D, E) et R2(E,C,B)
On retrouve immdiatement :
A C, D et C,D E et E,C B
Il reste retrouver A B, E
Si on applique laxiome de transitivit dArmstrong : Si A C, D et C,D E alors A E
Et Donc A C, D, E (il ne reste plus que A B)
Si on applique laxiome daugmentation dArmstrong : Si X Y alors XZ YZ
Si E,C B alors E,C, D D, B
Si A C, D, E et E,C, D D, B alors (par transitivit) : A D, B
Donc A C, D, E, B
Donc aucune perte de dpendance
Il reste vrifier quil ny a pas de perte de donnes en faisant les jointures naturelles