You are on page 1of 53

Chapitre III

La thorie des dpendances et la e e normalisation des relations

80

Le probl`me e Exemple : Considrons le schma de relation e e FOURNISSEURS(NOM F, ADRESSE F, COMB, PRIX). Il y a une srie de probl`mes lis ` son utilisation. e e e a 1. Redondance : Ladresse de chaque fournisseur se trouve rpte. e e e 2. Possibilit dinconsistance suite ` des mises ` jour (update e a a anomalies) : Un fournisseur pourrait avoir deux adresses direntes. e 3. Anomalie dinsertion : Insrer ladresse dun fournisseur qui ne e fournit rien. 4. Anomalie de suppression : Si un fournisseur ne fournit plus rien, on perd son adresse. Solution ? Utiliser le schma : e FA(NOM F, ADRESSE F) FCP(NOM F, COMB, PRIX)
81

Les Questions ` rsoudre a e Quand y-a-t-il une redondance gnante ? e Sil y a redondance : Comment faut-il dcomposer la relation ? e Y-a-t-il de linformation perdue par la dcomposition ? e Existe-t-il des algorithmes qui permettent de dterminer la e dcomposition adquate ? e e

82

Les dpendances fonctionnelles e Do` vient la redondance ? Du fait que linformation a une structure u particuli`re. e Exemple :
FOURNISSEURS(NOM F, ADRESSE F, COMB, PRIX)

La structure de linformation est telle que si lon conna NOM F , alors on t conna ADRESSE F ! t Un fournisseur na quune seule adresse. Autrement dit, on ne peut avoir deux tuples qui ont la mme valeur de NOM F et des valeurs direntes de e e ADRESSE F . Le probl`me est de choisir les schmas de relation en accord avec cette e e structure. Pour ce faire, on a besoin dune reprsentation de la structure e de linformation. On va au dpart tudier une notion qui permet de caractriser cette e e e structure : la notion de dpendance fonctionnelle. e
83

Les dpendances fonctionnelles : dnition e e Soit un schma de relation R(A1, . . . , An) et soit X, Y {A1, . . . , An}. e Les ensembles X et Y dnissent une dpendance fonctionnelle, note e e e X Y (lue X dtermine Y ). e Une relation r de schma R satisfait une dpendance fonctionnelle e e X Y si pour tous tuples t1, t2 r : si t1[X] = t2[X] alors t1[Y ] = t2[Y ]. Note : On associe une dpendance au schma dune relation. Elle indique e e une caractristique des donnes que lon veut modliser (tout comme le e e e schma). e On suppose d`s lors que toute relation se trouvant dans la base de e donnes satisfait les dpendances. Le syst`me pourrait refuser toute e e e modication qui violerait une dpendance. e

84

Les dpendances fonctionnelles : notations et exemples e Ensembles dattributs : X, Y Ensembles explicites dattributs : A1A2A3 (= {A1, A2, A3}) Union densembles dattributs : XY (= X Y ) Exemples : CLIENTS(NOM, ADRESSE, SOLDE DU)
NOM ADRESSE SOLDE DU

(1)

COMMANDES(NO, NOM, COMB, QUANT)


NO NOM COMB QUANT

(2)

FOURNISSEURS(NOM F,ADRESSE F, COMB, PRIX)


NOM F ADRESSE F NOM F COMB PRIX

(3) (4) (5) (5) (6)

Autres dpendances (triviales) : e


NOM NOM NOM COMB COMB

Autres dpendances (non-triviales) : e


NOM F COMB ADRESSE F PRIX
85

Limplication de dpendances e Dans lexemple : Les dpendances (5), (5) sont triviales : elles sont toujours vraies e quelle que soit la relation. La dpendance (6) est implique par (3) et (4) : intuitivement, toute e e relation qui satisfait (3) et (4), satisfait aussi (6). Dnitions : e Soit F et G deux ensembles de dpendances. e Une dpendance X Y est implique logiquement par F (not e e e F |= X Y ) si toute relation qui satisfait F satisfait aussi X Y . F et G sont (logiquement) quivalents (not F G) si toute e e dpendance de G est implique logiquement par F et vice-versa. e e La fermeture de F est lensemble F + des dpendances logiquement e impliques par F , c-`-d F + = {X Y | F |= X Y }. e a Pour exploiter utilement les dpendances fonctionnelles, il faut pouvoir e rsoudre le probl`me de limplication de dpendances e e e
86

Exemple : R = ABC et F = {A B, B C} On a par exemple : F |= A C {A B, B C} {A B, B C, A C} F + = {X Y | 1. A X, ou 2. A X, B X et A Y, ou 3. C C ou C } Exemples de dpendances dans F + : e ABC AB, AB ABC, A C BC C, BC B, B Note : Si lon se base sur les dpendances fonctionnelles pour concevoir e des schmas de bases de donnes, on sattend ` ce que des ensembles de e e a dpendances quivalents donnent les mmes schmas. e e e e

87

Proprits des dpendances fonctionnelles e e e Les dpendances fonctionnelles satisfont un certain nombre de r`gles qui e e permettent de raisonner ` leur sujet. a Si Y X, alors X Y (rexivit) e e Si X Y et Z U , alors XZ Y Z (augmentation) Si X Y et Y Z, alors X Z (transitivit) e Si X Y et X Z, alors X Y Z Si X Y , alors X Z si Z Y (dcomposition) e La premi`re r`gle donne des dpendances qui sont toujours vraies ; elles e e e sont dites triviales. La consquence des deux derni`res r`gles est quune dpendance e e e e X A1A2 . . . An est quivalente ` lensemble de dpendances X A1, e a e X A2, . . ., X An.
88

(union)

La fermeture dun ensemble dattributs Soit F un ensemble de dpendances et X U un ensemble dattributs pris e parmi un ensemble dattributs U . Dnition e La fermeture X + ` partir de X par rapport ` lensemble de dpendances a a e F est lensemble des A U tels que F |= X A. Si on peut calculer la fermeture dun ensemble dattributs, il est simple de dterminer si une dpendance X Y est implique logiquement par un e e e ensemble de dpendances F . e 1. Calculer X + par rapport ` F . a 2. Si Y X + alors F |= X Y , sinon F |= X Y . Cela permet aussi de calculer F + (en principe) : F + = {X Y | F |= X Y } = {X Y | X U et Y X +}. Il faut noter que le nombre de dpendances dans F + peut tre tr`s grand e e e (exponentiel en fonction du nombre dattributs).
89

Un algorithme de calcul de la fermeture Soit F un ensemble de dpendances et X U un ensemble dattributs. e Lalgorithme calcule une suite densembles dattributs X (0), X (1), . . . Algorithme Donnes : X, U , F . e 1. X (0) = X. 2. X (i+1) = X (i) {A | Z : Y Z F et A Z et Y X (i)}. 3. Si X (i+1) = X (i), lalgorithme sarrte. e Note : Lalgorithme sarrte toujours puisque X (0) X (1) X (2) U e et U est un ensemble ni.

90

Exemple : Soit F : AB C BC ACD C A D B D BE CG CE EG C BD AG

X : BD et U : ABCDEG Lalgorithme calcule : X (0) : BD X (1) : BDEG X (2) : BDEGC X (3) : BDEGCA X (4) : BDEGCA Question : Lalgorithme calcule-t-il bienX + ?

91

Thor`me : Lalgorithme donn calcule bien X +, cest-`-dire que, quand e e e a lalgorithme sarrte, X (if ) = {A | F |= X A}. e Dmonstration : e 1. Montrons X (if ) X + = {A | F |= X A}. On dmontre par induction que i : X (i) X +. e (a) Initialement X (0) = X X +. (b) Si X (i) X +, alors X (i+1) X +. Par la dnition de X (i+1), il est ais de voir que e e si on a F |= X A pour tout A X (i), alors on a F |= X A pour tout A X (i+1).

92

2. Montrons X + X (if ), c-`-d X + X (if ) = a Pour ce faire, nous montrons que, pour toute dpendance X B telle e que B X (if ), nous avons que F |= X B et donc que B X +. Pour tablir que F |= X B, il sut de montrer quil existe une e relation qui satisfait toutes les dpendances de F , mais qui ne satisfait e pas X B. Cette relation est la suivante : r : X (if ) U X (if ) 1 11 1 11 1 11 0 00

Cette relation ne satisfait pas X B vu que X X (if ) et que B X (if ). Nous allons montrer quelle satisfait F . En eet, si r ne satisfaisait pas F , il y aurait dans F une dpendance e V W telle que V X (if ) et W X (if ) (par df. de R). e Mais dans ce cas, lalgorithme de calcul de X + ne se serait pas arrt et aurait ajout les attributs de W . e e e
93

Couverture dun ensemble de dpendances e Par dnition, deux ensembles de dpendances F et G sont quivalents si e e e pour tout X Y F , on a G |= X Y et vice-versa, ou, de faon c quivalente, si F + = G+. e On cherche une description la plus succincte possible dun ensemble de dpendances ` lquivalence pr`s. e a e e Dnitions : e F est une couverture pour un ensemble de dpendances G si F G. e Une couverture F de G est minimale si : 1. F contient uniquement des dpendances du type X A, e 2. (X A) F : F {X A} F , 3. (X A) F et Z X : (F {X A}) {Z A} F .
94

Thor`me : Tout ensemble de dpendances a une couverture minimale. e e e Dmonstration : e On peut obtenir une couverture minimale en procdant comme suit. e 1. Toute dpendance X Y avec Y = {A1, A2, . . . An} est remplace par e e les dpendances X A1, X A2, . . ., X An. e 2. On limine le plus de dpendances (redondantes) possibles. e e 3. On limine le plus dattributs possibles des membres de gauche. e Remarque : Les couvertures minimales ne seront en gnral pas uniques. e e

95

Exemple : Soit F : AB C BC ACD C A D B D BE CG CE EG C BD AG

1. F peut tre transform en : e e AB C D D C A BE BC D CG CG ACD B CE CE 2. On peut liminer CE A e On peut liminer CG B e

E G C B D A G

3. On peut remplacer ACD B par CD B

96

Notion de cl e On a dni une cl comme un ensemble dattributs qui dterminent de e e e mani`re unique les tuples dune relation. e La notion de cl peut aussi se dnir ` partir des dpendances. e e a e Dnitions : Soit F un ensemble de dpendances. e e Un ensemble dattributs X est une cl dune relation de schma R par e e rapport ` F , si X est un ensemble minimum tel que F |= X R. a Un ensemble dattributs X est une super-cl (superkey ) dune relation e de schma R par rapport ` F , si X est un ensemble (non e a ncessairement minimum) tel que F |= X R. e

97

Formes Normales On a vu que la prsence de dpendances pouvait mener ` une duplication e e a de linformation. Mais quelles dpendances sont nfastes ? e e Dans le cadre des dpendances fonctionnelles, ce quil faut viter est e e davoir une dpendance non-triviale Y A pour laquelle la partie de tuple e y1 . . . yk a puisse appara tre plusieurs fois. Exemple :
FOURNISSEURS(NOM F, ADRESSE F, COMB, PRIX)

avec NOM F ADRESSE F et NOM F COMB PRIX Ladresse dun fournisseur est rpte autant de fois quil y a de e e e combustibles fournis par ce fournisseur. Il faut dnir des contraints sur les schmas de relations qui permettent e e dviter ce type de probl`me. Ce sont les formes normales. e e
98

Forme Normale de Boyce-Codd (BCNF) Dnition e Un schma de relation est en BCNF si pour toute dpendance non-triviale e e X A, alors X est une super-cl. e Exemple : Le schma : e
FA(NOM F, ADRESSE F) FCP(NOM F, COMB, PRIX)

est en forme normale de Boyce-Codd.

99

La normalisation Le probl`me de la normalisation est celui de remplacer un schma de base e e de donnes par un autre quivalent qui est en forme normale de e e Boyce-Codd. Pour que le nouveau schma soit considr comme quivalent au schma e e e e e de dpart, il faut quil soit toujours possible de reconstituer la base de e donne de dpart ` partir de celle organise suivant le nouveau schma. e e a e e

100

La dcomposition en tant que technique de normalisation e On normalise habituellement par dcomposition : e un schma R est remplac par un ensemble de schmas Ri, o` Ri R ; e e e u la relation correspondante r est remplace par les projections Ri r. e e Ce nest possible que si les relations Ri r contiennent la mme information que r, ce qui nest pas toujours le cas !

Exemple : r : A B C 0 0 0 1 0 1 AB (r) : A B 0 0 1 0 BC (r) : B C 0 0 0 1

101

La dcomposition sans perte e (lossless join decomposition) Soit un schma R, et = (R1, . . . , Rk ) une dcomposition de R telle que e e R = R1 . . . Rk . Soit r une relation de schma R. e La dcomposition de R est sans perte pour r si e r = R1 (r) 1 . . . 1 Rk (r). Soit F un ensemble de dpendances sur R. e La dcomposition de R est sans perte par rapport ` F si pour toute e a relation r de schma R qui satisfait F , la dcomposition est sans perte e e pour r, cest-`-dire : r = R1 (r) 1 . . . 1 Rk (r). a Notation : m(r) = R1 (r) 1 . . . 1 Rk (r).

102

Proprits dune dcomposition : e e e 1. r m(r) Exemple : (Linclusion peut tre propre). e r : A B C 0 0 0 1 0 1 R2 (r) : B C 0 0 0 1 C 0 1 0 1 et r m(r)

R1 (r) : A B 0 0 1 0 m(r) : A 0 0 1 1 B 0 0 0 0

Dmonstration : Soit t un tuple qcq de r. On a : t[R1] R1 (r), . . . , e t[Rk ] Rk (r). Donc, par dnition de 1 : t m(r). e
103

2. Ri (m(r)) = Ri (r). Dmonstration : e On montre Ri (r) Ri (m(r)). Par la proprit 1, on a : r m(r). e e Donc Ri (r) Ri (m(r)). On montre Ri (m(r)) Ri (r). Considrons un tuple ti Ri (m(r)). e Il existe donc un tuple t m(r) tel que ti = t[Ri] (par dnition de Ri ). e De plus, puisque t m(r), il existe un tuple t r tel que t [Ri] = t[Ri] (par dnition de m(r)). e Donc t [Ri] = ti et par consquent ti Ri (r). e Conclusion Il nest pas possible de distinguer la relation r de la relation m(r) ` partir a des projections. Autrement dit, si r = m(r) il nest pas possible de reconstituer r ` partir a des Ri (r).
104

Crit`re de dcomposition sans pertes e e Soit = (R1, R2), une dcomposition de R. e Cette dcomposition est sans perte par rapport ` un ensemble de e a dpendances fonctionnelles F si e (R1 R2) (R1 R2) F + ou (R1 R2) (R2 R1) F + Dmonstration e On suppose que (R1 R2) (R1 R2) F + ou (R1 R2) (R2 R1) F +. On montre que pour toute relation r de schma R : si r satisfait F , alors e r = m(r). Soit r une relation de schma R qui satisfait F . On sait que r m(r). e Montrons que m(r) r.
105

Soit un tuple t m(r). On veut montrer que t r. Puisque t m(r), il existe des tuples t1, t2 r tels que t1[R1] = t[R1] et t2[R2] = t[R2]. Supposons que (R1 R2) (R1 R2) F + (lautre cas se traite symtriquement). e Puisque t2[R2] = t[R2], on a : t2[R1 R2] = t[R1 R2]. Et puisque (R1 R2) (R1 R2) : t2[R1] = t[R1]. Donc, t[R] = t2[R] et puisque t2 r : t r !

106

Exemple : Soit R = ABC et F = {A B}. (AB, AC) est une dcomposition de R sans perte par rapport ` F vu que e a AB AC = A et AB AC = B et A B est une dpendance de F +. e En revanche, la dcomposition de R en (AB, BC) nest pas sans perte par e rapport ` F . En eet, on peut trouver une relation a r : A B C qui satisfait F et telle que AB (r) : A B a1 b1 c1 a1 b1 a2 b1 c2 a2 b1 BC (r) : B C b1 c1 b1 c2 et AB (r) 1 BC (r) : A a1 a1 a2 a2 B b1 b1 b1 b1 C c1 c2 c1 c2 = et

r!

107

Dcomposition et dpendances e e Comment traiter les dpendances lorsque lon dcompose ? Les e e dpendances sont elles conserves lors dune dcomposition ? e e e Soit R un schma de relation, e F un ensemble de dpendances sur R, e = (R1, . . . , Rk ) une dcomposition de R. e La projection de F sur un ensemble dattributs Z R est Z (F ) = {X Y F + | XY Z}. Une dcomposition conserve F si e
k

Ri (F ) couvre F .
i=1

Lintrt de la conservation des dpendances lors de la dcomposition est e e e e de permettre la vrication des dpendances sur la base de donnes. e e e Sans cette proprit, un joint est ncessaire pour dterminer si une e e e e modication viole une dpendance. e
108

Exemple : R = (CITY, ST, ZIP) avec F = { CITY ST ZIP , ZIP CITY }. La dcomposition en (ST ZIP, CITY ZIP) est sans perte vu que e
ST ZIP CITY ZIP = ZIP CITY = CITY ZIP ST ZIP

mais seule la dpendance ZIP CITY est conserve. e e Remarque : Les 2 proprits, conservation des dpendances et joint sans e e e perte, sont indpendantes. On peut avoir lune sans lautre et vice-versa. e La mthode directe pour vrier si une dcomposition conserve les e e e dpendances est de : e
k

- calculer F + et calculer
i=1 k

Ri (F )

- vrier si e
i=1

Ri (F ) couvre F .
109

Algorithme de dcomposition en BCNF e Donnes : Soit un schma R et un ensemble de dpendances e e e fonctionnelles F . Lalgorithme proc`de par dcompositions successives pour obtenir une e e dcomposition de R sans perte par rapport ` F , mais sans garantie de e a conservation des dpendances. e Si R nest pas en BCNF, soit une dpendance non triviale X A e de F +, o` X nest pas une super-cl. u e On dcompose R en R1 = R A et R2 = XA (sans perte vu le crit`re : e e R1 R2 = X et R2 R1 = A). On applique lalgorithme ` : a R1, R1 (F ) R2, R2 (F ) Puisque les relations deviennent de plus en plus petites, la dcomposition e doit sarrter. e
110

Exemple : Relation de schma CT HRSG e C : course T : teacher H : hour Une seule cl : HS e R1 : CSG avec CS G BCNF ! R2 : CT HRS avec C T , HR C, HT R, HS R R3 : CT avec C T BCNF ! R4 : CHRS avec HS R, HC R , HR C R5 : CHR avec HC R, HR C BCNF ! R6 : CHS avec HS C BCNF ! R : room S : student G : grade CT HR C HT R CS G HS R

Rsultat : CSG, CT , CHR, CHS. e La dpendance T H R nest pas conserve par la dcomposition. e e e
111

Faut-il toujours normaliser en BCNF ? Reconsidrons le schma R = (CITY, ST, ZIP) avec F = { CITY ST ZIP , e e ZIP CITY }. Ce schma nest pas en BCNF, mais il peut tre dcompos en en e e e e (ST ZIP), (CITY ZIP) qui est en BCNF. Toutefois, si lon fait cette dcomposition, la dpendance e e CITY ST ZIP nest pas conserve et retrouver un code postal ` partir e a dune ville et dune rue ncessite un joint. e Il semble donc prfrable de ne pas dcomposer, car mme si le schma ee e e e nest pas en BCNF, il nest pas vraiment problmatique : il est en e troisi`me forme normale (3FN). e

112

La troisi`me forme normale (3FN) e Pour dnir la troisi`me forme normale on distingue les attributs e e - qui font partie dune cl (premiers) de ceux qui, e - ne font pas partie dune cl (non premiers). e La troisi`me forme normale se dnit comme la BCNF, sauf quelle ne e e tient pas compte des attributs non premiers. Dnition e Un schma de relation est en 3FN si pour toute dpendance non-triviale e e X A o` A est non-premier, alors X est une super-cl. u e Lintrt de la 3FN est quil existe des algorithmes permettant de e e dcomposer en 3FN tout en conservant les dpendances. e e

113

Les premi`re et deuxi`me formes normales e e Lappellation troisi`me forme normale rsulte du fait quune premi`re et e e e une deuxi`me forme normale ont t dnies. e e e e La premi`re forme normale (1FN) prcise que les attributs dune e e relation ont une valeur atomique. Nous avons fait cette hypoth`se e demble en introduisant le mod`le relationnel. e e La deuxi`me forme normale (2FN) exclut les dpendance non-triviale e e X A o` A est non-premier et o` X est un sous-ensemble propre dune u u cl. Cest une contrainte moins forte que celle donne par la 3FN et, a e e fortiori, par la BCNF.

114

Les Dpendances ` valeurs multiples e a Tant qu` prsent, nous avons utilis un seul concept pour reprsenter la a e e e structure de linformation menant ` la ncessit de normaliser : la a e e dpendance fonctionnelle. e Toutefois, la ncessit de normaliser peut appara e e tre en dehors de la prsence de dpendances fonctionnelles ; il y a aussi dautres types de e e dpendances et, en particulier, les dpendances ` valeurs multiples e e a (DVM). Intuitivement, dans une relation R, on a une dpendance ` valeurs e a multiples entre X et Y (X, Y R) si les valeurs possibles de Y sont dtermines par X, et ce, indpendamment du contenu du reste de la e e e relation. On note cela : X Y (X multi-dtermine Y ). e

115

Exemple : R(COURS, JOUR, ETUDIANT)


COURS JOUR COURS ETUDIANT

COURS

JOUR

ETUDIANT

#1 #1 #1 #1

Mardi Jeudi Mardi Jeudi

A. A. B. B.

Dupont Dupont Durand Durand

116

Les Dpendances ` valeurs multiples : e a dnition formelle e Une relation r de schma R satisfait une dpendance ` valeurs multiples e e a (DVM) X Y si pour toute paire de tuples t, s r tels que t[X] = s[X], il existe deux tuples u, v r tels que :

1. u[X] = v[X] = t[X] = s[X] 2. u[Y ] = t[Y ] et u[RXY ] = s[RXY ] 3. v[Y ] = s[Y ] et v[RXY ] = t[RXY ]
X t Y Z=RXY

v
117

Exemple : Relation de schma CT HRSG e C : course T : teacher H : hour R : room S : student G : grade CT HR C HT R CS G HS R

Les dpendances C HR et C SG et HR SG sont ` associer ` ce e a a schma, mais pas les dpendances C H et C R comme, pour ce e e dernier point, le montre lexemple dextension ci-dessous. C INFO009 INFO009 INFO009 INFO009 INFO009 INFO009 T ProfX ProfX ProfX ProfX ProfX ProfX H lun 14 :00 mer 14 :00 ven 10 :00 lun 14 :00 mer 14 :00 ven 10 :00 R R3 R7 I21 R3 R7 I21 S Dupont Dupont Dupont Durand Durand Durand G 18 18 18 14 14 14

A. A. A. B. B. B.

118

Dpendances ` valeurs multiples triviales et non triviales : exemples e a 1. R(A, B) A B a b a c d b d e 2. R(A, B, C) A B? A B C a b d a c e a b e a c d A B? Oui, trivialement : toujours satisfaite !

A B C a b d a c e

non

oui

119

3. R(A, B, C) avec A B. La DVM A B est toujours satisfaite lorsque A B est satisfaite. En eet, soit t, s r tels que t[A] = s[A]. Vu que t[B] = s[B], il existe bien des tuples u, v r tel que = u[A] = v[A] = t[A] = s[A], u[B] = t[B], u[C] = s[C], v[B] = s[B], et v[C] = t[C] ; ces tuples sont respectivement s et t.

120

Proprits des dpendances ` valeurs multiples e e e a Les dpendances ` valeurs multiples satisfont un certain nombre de r`gles e a e qui permettent de raisonner ` leur sujet. a Si Si Si Si Si Si Y X, alors X Y X Y , alors X (R XY ) X Y , alors X Y X Y et X Z, alors X Y Z X Y et X Z, alors X Y Z X Y et X Z, alors X Y \ Z (rexivit) e e (complmentation pour DVM) e (reproduction) (union pour DVM) (intersection pour DVM) (dirence pour DVM) e

Notes : Les r`gles de dcomposition et de transitivit ne sont pas valides pour e e e les DVM. Par exemple, dans le schma CT HRSG, on a C HR et e HR H (trivialement), mais C H ! Comme dans le cas des dpendances fonctionnelles, il est possible de e dterminer si une DVM est une consquence logique dun ensemble de e e dpendances, mais cela ncessite des techniques relativement e e complexes.

121

Dpendances ` valeurs multiples et dcomposition sans perte e a e Pour toute relation r de schma R, r satisfait la DVM X Y si et e seulement si la dcomposition = (XY, X(R XY )) est sans perte pour r, e cest-`-dire r = m(r). a

Dmonstration : Soit r une relation quelconque de schma R. e e si () : On suppose la dcomposition sans perte pour r, c`d e a r = XY (r) 1 XZ (r) avec Z = R XY . Considrons 2 tuples t, s r tels que t[X] = s[X]. On a : e t[XY ] XY (r) et s[XZ] XZ (r). Donc les tuples u, v tel que u[X] = v[X] = t[X] = s[X], u[Y ] = t[Y ], u[Z] = s[Z], v[Y ] = s[Y ] et v[Z] = t[Z] appartiennent ` a XY (r) 1 XZ (r) = r.

122

seulement si () : Supposons que r satisfait la dpendance X Y et e montrons que le joint est sans perte, c`d que si u XY (r) 1 XZ (r), a alors u r. Si u XY (r) 1 XZ (r), il existe t, s r tels que t[XY ] = u[XY ] et s[XZ] = u[XZ], ou encore u[X] = t[X] = s[X], u[Y ] = t[Y ], u[Z] = s[Z]. Puisque r satisfait X Y , le tuple u doit aussi tre dans r (par e dnition des DVM). e
Y u X Z

dans r

dans r

123

Remarque : Cette proprit peut aussi scrire comme suit. e e e Soit R un schma de relation, et = (R1, R2) une dcomposition de R. e e Pour toute relation r de schma R : e r satisfait la DVM (R1 R2) (R1 R2) (ou (R1 R2) (R2 R1), par complmentation) e si et seulement si la dcomposition (R1, R2) de R est sans perte pour r, cest-`-dire e a r = m(r). Remarques : Il y a une parfaite quivalence entre la notion de dpendance ` valeurs e e a multiples et celle de dcomposition sans perte. e Dans le cas des dpendances fonctionnelles, la prsence de la dpendance e e e fonctionnelle permet la dcomposition sans perte, mais une relation r peut e tre dcomposable sans perte sans quelle ne satisfasse de dpendance e e e fonctionnelle.
124

Crit`re de dcomposition sans perte e e Soit = (R1, R2), une dcomposition de R. e Cette dcomposition est sans perte par rapport ` un ensemble de e a dpendances (DF et DVM) D si et seulement si e (R1 R2) (R1 R2) D+ (ou (R1 R2) (R2 R1) D+, par complmentation) e

Dmonstration : e Consquence directe de la proprit tablissant lquivalence entre e e e e e satisfaction dune DVM par une relation et dcomposition sans perte pour e cette relation.

125

Dpendances ` valeurs multiples et formes normales e a Une dpendance ` valeur multiples X Y est gnante si lassociation e a e entre les valeurs de X et celles de Y est rpte, cest-`-dire appara pour e e e a t plusieurs valeurs des autres attributs Z = R XY ) de la relation. Cela peut se produire, sauf si Z= (X Y est alors triviale), ou Y X XR (X Y est alors triviale), ou (X est alors une super-cl). e

e Ceci nous m`ne ` la dnition de la 4`me Forme Normale (4FN). e a e

126

La quatri`me forme normale (4FN) e Un schma de relation est en 4FN si pour toute dpendance X Y , e e soit Y X, soit XY = R, soit X est une super-cl de R. e Remarque : La 4FN implique la BCNF. En eet : une dpendance X Y est aussi une dpendance X Y ; e e si Y X, la dpendance X Y est triviale ; e si XY = R, alors X R et X est une super-cl. e Pour obtenir la 4FN, on peut procder par dcomposition comme pour la e e BCNF.

127

Un algorithme de dcomposition en 4FN e Soit un schma R et un ensemble de dpendances (fonctionnelles et ` e e a valeurs multiples) D. Lalgorithme proc`de par dcompositions successives pour obtenir une e e dcomposition de R sans perte par rapport ` D, mais sans garantie de e a conservation des dpendances. e Si R nest pas en 4FN, soit une dpendance X Y de D+ telle que e Y = , Y X, XY R et X nest pas une super-cl. e On peut supposer X Y = puisque X (Y X) est impliqu par e X Y. On dcompose R en R1 = XY et R2 = X(R XY ) (sans perte vu le e crit`re). e On applique lalgorithme ` : R1, R1 (D), R2, R2 (D) a Puisque les relations deviennent de plus en plus petites, la dcomposition e doit sarrter. e Nous navons pas vu de mthode systmatique pour calculer D+, mais en e e pratique une utilisation directe des r`gles de raisonnement donnes sut. e e
128

Exemple : Relation de schma CT HRSG e C : course T : teacher H : hour R : room S : student G : grade CT HR C HT R CS G HS R

C HR est une dpendance ` associer ` ce schma. Il y a une seule e a a e cl : HS e Toutes les MVD qui sappliquent naturellement ` ce schma sont a e drivables de lensemble de DF ci-dessus et de C HR. e Par exemple : De C HR et C T , on peut driver C SG : e de C T , on obtient C T , et ensuite C HRT par union ; la r`gle de complmentation donne alors C SG. e e De HR CT , on peut driver HR CT . e Par la r`gle de complmentation on obtient HR SG. e e
129

Dcomposition en 4FN : e R1 : CHR avec C HR R2 : CT SG avec C T R3 : CT avec C T 4FN ! 4FN ! 4FN !

R4 : CSG avec CS G

Rsultat : CHR, CT , CSG. e Dcomposition sans perte o` tous les sous-schmas sont en 4FN. e u e Remarque : Si lon ignore la DVM C HR, alors la dcomposition e ci-dessus nest pas ncessairement sans perte. e

130

Autres types de dpendances e Dpendances joint e Les DVM caractrisent les cas o` une dcomposition en 2 relations est e u e sans perte. Il est parfois possible de dcomposer une relation sans perte en trois e sous-schmas sans quil y ait de dcomposition en deux sous-schmas qui e e e soit sans perte. On gnralise donc la notion de DVM en la notion de dpendance-joint. e e e Une relation r de schma R satisfait la dpendance-joint [R1, . . . Rk ] si e e r = R1 (r) 1 R2 (r) 1 . . . 1 Rk (r). e Ceci m`ne ` la dnition dune 5`me forme normale (5FN) ou encore e a e project-join normal form.
131

La cinqui`me forme normale (5FN) e e Une relation r de schma R est en 5`me forme normale (5FN) ou e project-join normal form par rapport ` un ensemble de dpendances a e fonctionnelles et joint F si, pour toute dpendance joint [R1, . . . Rk ] e implique par F , e soit elle est triviale (vraie de toute relation de schma R), e soit chaque Ri est une super-cl de R. e

132