You are on page 1of 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 E1 E2 E1 E1 Id-etudiant 18 20 18 18 Age 15 16 12 12 Note

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 18 20 E1 E2 E1 E1 Age Id-etudiant 15 16 12 12 Note

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 15 15 10 10 15 Date 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


E,C B Et donc :

P. CRESCENZO - R. GRIN - Ph. LAHIRE Anne universitaire 2007/2008

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

You might also like