You are on page 1of 53

Chapitre III

La th´orie des d´pendances et la e e normalisation des relations

80

Le probl`me e Exemple : Consid´rons le sch´ma de relation e e FOURNISSEURS(NOM F, ADRESSE F, COMB, PRIX). Il y a une s´rie de probl`mes li´s ` son utilisation. e e e a 1. Redondance : L’adresse de chaque fournisseur se trouve r´p´t´e. e e e 2. Possibilit´ d’inconsistance suite ` des mises ` jour (update e a a anomalies) : Un fournisseur pourrait avoir deux adresses diff´rentes. e 3. Anomalie d’insertion : Ins´rer l’adresse d’un fournisseur qui ne e fournit rien. 4. Anomalie de suppression : Si un fournisseur ne fournit plus rien, on perd son adresse. Solution ? Utiliser le sch´ma : e FA(NOM F, ADRESSE F) FCP(NOM F, COMB, PRIX)
81

Les Questions ` r´soudre a e – Quand y-a-t-il une redondance gˆnante ? e – S’il y a redondance : – Comment faut-il d´composer la relation ? e – Y-a-t-il de l’information perdue par la d´composition ? e – Existe-t-il des algorithmes qui permettent de d´terminer la e d´composition ad´quate ? e e

82

Les d´pendances fonctionnelles e D’o` vient la redondance ? Du fait que l’information a une structure u particuli`re. e Exemple :
FOURNISSEURS(NOM F, ADRESSE F, COMB, PRIX)

La structure de l’information est telle que si l’on connaˆ NOM F , alors on ıt connaˆ ADRESSE F ! ıt Un fournisseur n’a qu’une seule adresse. Autrement dit, on ne peut avoir deux tuples qui ont la mˆme valeur de NOM F et des valeurs diff´rentes de e e ADRESSE F . Le probl`me est de choisir les sch´mas de relation en accord avec cette e e structure. Pour ce faire, on a besoin d’une repr´sentation de la structure e de l’information. On va au d´part ´tudier une notion qui permet de caract´riser cette e e e structure : la notion de d´pendance fonctionnelle. e
83

Les d´pendances fonctionnelles : d´finition e e Soit un sch´ma de relation R(A1, . . . , An) et soit X, Y ⊆ {A1, . . . , An}. e – Les ensembles X et Y d´finissent une d´pendance fonctionnelle, not´e e e e X → Y (lue “X d´termine Y ”). e – Une relation r de sch´ma R satisfait une d´pendance 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 d´pendance au sch´ma d’une relation. Elle indique e e une caract´ristique des donn´es que l’on veut mod´liser (tout comme le e e e sch´ma). e On suppose d`s lors que toute relation se trouvant dans la base de e donn´es satisfait les d´pendances. Le syst`me pourrait refuser toute e e e modification qui violerait une d´pendance. e

84

COMB. COMB. Y – Ensembles explicites d’attributs : A1A2A3 (= {A1.Les d´pendances fonctionnelles : notations et exemples e – Ensembles d’attributs : X. A2. NOM. SOLDE DU) NOM → ADRESSE SOLDE DU (1) – COMMANDES(NO. A3}) – Union d’ensembles d’attributs : XY (= X ∪ Y ) Exemples : – CLIENTS(NOM. QUANT) NO → NOM COMB QUANT (2) – FOURNISSEURS(NOM F.ADRESSE F. ADRESSE. PRIX) NOM F → ADRESSE F NOM F COMB → PRIX (3) (4) (5) (5’) (6) – Autres d´pendances (triviales) : e NOM → NOM NOM COMB → COMB – Autres d´pendances (non-triviales) : e NOM F COMB → ADRESSE F PRIX 85 .

L’implication de d´pendances e Dans l’exemple : – Les d´pendances (5). satisfait aussi (6). (5’) sont triviales : elles sont toujours vraies e quelle que soit la relation. – La d´pendance (6) est impliqu´e par (3) et (4) : intuitivement. e – Une d´pendance X → Y est impliqu´e logiquement par F (not´ e e e F |= X → Y ) si toute relation qui satisfait F satisfait aussi X → Y . D´finitions : e Soit F et G deux ensembles de d´pendances. – F et G sont (logiquement) ´quivalents (not´ F ≡ G) si toute e e d´pendance de G est impliqu´e logiquement par F et vice-versa. e e – La fermeture de F est l’ensemble F + des d´pendances logiquement e impliqu´es par F . il faut pouvoir e r´soudre le probl`me de l’implication de d´pendances e e e 86 . e a Pour exploiter utilement les d´pendances fonctionnelles. c-`-d F + = {X → Y | F |= X → Y }. toute e e relation qui satisfait (3) et (4).

B → C. on s’attend ` ce que des ensembles de e e a d´pendances ´quivalents donnent les mˆmes sch´mas. B → ∅ Note : Si l’on se base sur les d´pendances fonctionnelles pour concevoir e des sch´mas de bases de donn´es. A ∈ X. ou 2. AB → ABC. B ∈ X et A ∈ Y. B → C} ≡ {A → B. A ∈ X. e e e e 87 . A → C} – F + = {X → Y | 1. BC → B. C → C ou C → ∅} Exemples de d´pendances dans F + : e ABC → AB. ou 3. B → C} On a par exemple : – F |= A → C – {A → B. A → C BC → C.Exemple : R = ABC et F = {A → B.

alors X → Z si Z ⊆ Y (d´composition) e La premi`re r`gle donne des d´pendances qui sont toujours vraies . alors X → Y (r´flexivit´) e e – Si X → Y et Z ⊆ U . a – Si Y ⊆ X. X → An. alors XZ → Y Z (augmentation) – Si X → Y et Y → Z. . .. e a e X → A2. An est ´quivalente ` l’ensemble de d´pendances X → A1. 88 (union) . elles e e e sont dites triviales. . La cons´quence des deux derni`res r`gles est qu’une d´pendance e e e e X → A1A2 . alors X → Z (transitivit´) e – Si X → Y et X → Z. . . alors X → Y Z – Si X → Y .Propri´t´s des d´pendances fonctionnelles e e e Les d´pendances fonctionnelles satisfont un certain nombre de r`gles qui e e permettent de raisonner ` leur sujet.

e 1.La fermeture d’un ensemble d’attributs Soit F un ensemble de d´pendances et X ⊆ U un ensemble d’attributs pris e parmi un ensemble d’attributs U . Si Y ⊆ X + alors F |= X → Y . Il faut noter que le nombre de d´pendances dans F + peut ˆtre tr`s grand e e e (exponentiel en fonction du nombre d’attributs). 89 . Calculer X + par rapport ` F . Cela permet aussi de calculer F + (en principe) : F + = {X → Y | F |= X → Y } = {X → Y | X ⊆ U et Y ⊆ X +}. a 2. sinon F |= X → Y . il est simple de d´terminer si une d´pendance X → Y est impliqu´e logiquement par un e e e ensemble de d´pendances F . Si on peut calculer la fermeture d’un ensemble d’attributs. D´finition e La fermeture X + ` partir de X par rapport ` l’ensemble de d´pendances a a e F est l’ensemble des A ∈ U tels que F |= X → A.

Un algorithme de calcul de la fermeture Soit F un ensemble de d´pendances et X ⊆ U un ensemble d’attributs. 3. U . . X (i+1) = X (i) ∪ {A | ∃Z : Y → Z ∈ F et A ∈ Z et Y ⊆ X (i)}. X (1). l’algorithme s’arrˆte. 90 . e L’algorithme calcule une suite d’ensembles d’attributs X (0). F . . . 2. Si X (i+1) = X (i). e 1. e Note : L’algorithme s’arrˆte toujours puisque X (0) ⊆ X (1) ⊆ X (2) · · · ⊆ U e et U est un ensemble fini. X (0) = X. Algorithme Donn´es : X.

Exemple : Soit F : AB C BC ACD → → → → C A D B D BE CG CE → → → → EG C BD AG X : BD et U : ABCDEG L’algorithme calcule : X (0) : BD X (1) : BDEG X (2) : BDEGC X (3) : BDEGCA X (4) : BDEGCA Question : L’algorithme calcule-t-il bienX + ? 91 .

Par la d´finition de X (i+1). e (a) Initialement X (0) = X ⊆ X +.Th´or`me : L’algorithme donn´ calcule bien X +. c’est-`-dire que. e D´monstration : e 1. il est ais´ de voir que e e si on a F |= X → A pour tout A ∈ X (i). Montrons X (if ) ⊆ X + = {A | F |= X → A}. quand e e e a l’algorithme s’arrˆte. 92 . X (if ) = {A | F |= X → A}. On d´montre par induction que ∀i : X (i) ⊆ X +. alors X (i+1) ⊆ X +. alors on a F |= X → A pour tout A ∈ X (i+1). (b) Si X (i) ⊆ X +.

e e e 93 . l’algorithme de calcul de X + ne se serait pas arrˆt´ et aurait ajout´ les attributs de W . c-`-d X + − X (if ) = ∅ a Pour ce faire. pour toute d´pendance X → B telle e que B ∈ X (if ). nous avons que F |= X → B et donc que B ∈ X +. nous montrons que. il suffit de montrer qu’il existe une e relation qui satisfait toutes les d´pendances de F . e Mais dans ce cas. Pour ´tablir que F |= X → B. il y aurait dans F une d´pendance e V → W telle que V ⊆ X (if ) et W ⊆ X (if ) (par d´f. mais qui ne satisfait e pas X → B. Cette relation est la suivante : r : X (if ) U − X (if ) 1 1···1 1 1···1 1 1···1 0 0···0 – Cette relation ne satisfait pas X → B vu que X ⊆ X (if ) et que B ∈ X (if ). si r ne satisfaisait pas F . de R). Montrons X + ⊆ X (if ). En effet. – Nous allons montrer qu’elle satisfait F .2.

94 . e a e e D´finitions : e – F est une couverture pour un ensemble de d´pendances G si F ≡ G. ∃(X → A) ∈ F et ∃Z ⊂ X : (F − {X → A}) ∪ {Z → A} ≡ F . on a G |= X → Y et vice-versa. 3. e 2. e – Une couverture F de G est minimale si : 1.Couverture d’un ensemble de d´pendances e Par d´finition. de fa¸on c ´quivalente. F contient uniquement des d´pendances du type X → A. e On cherche une description la plus succincte possible d’un ensemble de d´pendances ` l’´quivalence pr`s. si F + = G+. ou. ∃(X → A) ∈ F : F − {X → A} ≡ F . deux ensembles de d´pendances F et G sont ´quivalents si e e e pour tout X → Y ∈ F .

e e e D´monstration : e On peut obtenir une couverture minimale en proc´dant comme suit. . . A2. ..Th´or`me : Tout ensemble de d´pendances a une couverture minimale. . On ´limine le plus de d´pendances (redondantes) possibles. Toute d´pendance X → Y avec Y = {A1. An} est remplac´e par e e les d´pendances X → A1. e e 3. e e 95 . e 2. . . X → An. On ´limine le plus d’attributs possibles des membres de gauche. X → A2. e 1. e Remarque : Les couvertures minimales ne seront en g´n´ral pas uniques.

– On peut ´liminer CE → A e – On peut ´liminer CG → B e E G C B D A G 3. F peut ˆtre transform´ en : e e AB → C D → D → C → A BE → BC → D CG → CG → ACD → B CE → CE → 2.Exemple : Soit F : AB C BC ACD → → → → C A D B D BE CG CE → → → → EG C BD AG 1. On peut remplacer ACD → B par CD → B 96 .

e La notion de cl´ peut aussi se d´finir ` partir des d´pendances. e 97 .Notion de cl´ e On a d´fini une cl´ comme un ensemble d’attributs qui d´terminent de e e e mani`re unique les tuples d’une relation. si X est un ensemble (non e a n´cessairement minimum) tel que F |= X → R. si X est un ensemble minimum tel que F |= X → R. a – Un ensemble d’attributs X est une super-cl´ (superkey ) d’une relation e de sch´ma R par rapport ` F . e e a e D´finitions : Soit F un ensemble de d´pendances. e e – Un ensemble d’attributs X est une cl´ d’une relation de sch´ma R par e e rapport ` F .

Ce sont les formes normales. e e 98 . . Il faut d´finir des contraints sur les sch´mas de relations qui permettent e e d’´viter ce type de probl`me.Formes Normales On a vu que la pr´sence de d´pendances pouvait mener ` une duplication e e a de l’information. PRIX) avec NOM F → ADRESSE F et NOM F COMB → PRIX L’adresse d’un fournisseur est r´p´t´e autant de fois qu’il y a de e e e combustibles fournis par ce fournisseur. Exemple : FOURNISSEURS(NOM F. ce qu’il faut ´viter est e e d’avoir une d´pendance non-triviale Y → A pour laquelle la partie de tuple e y1 . COMB. yk a puisse apparaˆ ıtre plusieurs fois. Mais quelles d´pendances sont n´fastes ? e e Dans le cadre des d´pendances fonctionnelles. ADRESSE F. .

ADRESSE F) FCP(NOM F. alors X est une super-cl´. e Exemple : Le sch´ma : e FA(NOM F.Forme Normale de Boyce-Codd (BCNF) D´finition e Un sch´ma de relation est en BCNF si pour toute d´pendance non-triviale e e X → A. PRIX) est en forme normale de Boyce-Codd. 99 . COMB.

e e a e e 100 . Pour que le nouveau sch´ma soit consid´r´ comme ´quivalent au sch´ma e e e e e de d´part. il faut qu’il soit toujours possible de reconstituer la base de e donn´e de d´part ` partir de celle organis´e suivant le nouveau sch´ma.La normalisation Le probl`me de la normalisation est celui de remplacer un sch´ma de base e e de donn´es par un autre ´quivalent qui est en forme normale de e e Boyce-Codd.

o` Ri ⊂ R .La d´composition en tant que technique de normalisation e On normalise habituellement par d´composition : e – un sch´ma R est remplac´ par un ensemble de sch´mas Ri. e e e u – la relation correspondante r est remplac´e par les projections πRi r. ce qui n’est 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 . e e Ce n’est possible que si les relations πRi r contiennent la mˆme information que r.

la d´composition est sans perte e e pour r.La d´composition sans perte e (lossless join decomposition) Soit un sch´ma R. . 1 πRk (r). . . ∪ Rk . 1 πRk (r). 1 πRk (r). – Soit F un ensemble de d´pendances sur R. e La d´composition ρ de R est sans perte par rapport ` F si pour toute e a relation r de sch´ma R qui satisfait F . . . e La d´composition ρ de R est sans perte pour r si e r = πR1 (r) 1 . 102 . et ρ = (R1. . . c’est-`-dire : r = πR1 (r) 1 . . a Notation : mρ(r) = πR1 (r) 1 . – Soit r une relation de sch´ma R. . . . . Rk ) une d´composition de R telle que e e R = R1 ∪ .

par d´finition de 1 : t ∈ mρ(r). . r ⊆ mρ(r) Exemple : (L’inclusion peut ˆtre propre). On a : t[R1] ∈ πR1 (r). 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 D´monstration : Soit t un tuple qcq de r. .Propri´t´s d’une d´composition : e e e 1. . e t[Rk ] ∈ πRk (r). . Donc. e 103 .

– On montre πRi (mρ(r)) ⊆ πRi (r). e Conclusion Il n’est pas possible de distinguer la relation r de la relation mρ(r) ` partir a des projections. il existe un tuple t ∈ r tel que t [Ri] = t[Ri] (par d´finition de mρ(r)). πRi (mρ(r)) = πRi (r). puisque t ∈ mρ(r). e De plus. e e Donc πRi (r) ⊆ πRi (mρ(r)). Consid´rons un tuple ti ∈ πRi (mρ(r)). Par la propri´t´ 1.2. D´monstration : e – On montre πRi (r) ⊆ πRi (mρ(r)). e Donc t [Ri] = ti et par cons´quent ti ∈ πRi (r). 104 . e Il existe donc un tuple t ∈ mρ(r) tel que ti = t[Ri] (par d´finition de πRi ). si r = mρ(r) il n’est pas possible de reconstituer r ` partir a des πRi (r). on a : r ⊆ mρ(r). Autrement dit.

On montre que pour toute relation r de sch´ma R : si r satisfait F . e Montrons que mρ(r) ⊆ r.Crit`re de d´composition sans pertes e e Soit ρ = (R1. alors e r = mρ(r). Soit r une relation de sch´ma R qui satisfait F . 105 . e Cette d´composition est sans perte par rapport ` un ensemble de e a d´pendances fonctionnelles F si e (R1 ∩ R2) → (R1 − R2) ∈ F + ou (R1 ∩ R2) → (R2 − R1) ∈ F + D´monstration e On suppose que (R1 ∩ R2) → (R1 − R2) ∈ F + ou (R1 ∩ R2) → (R2 − R1) ∈ F +. R2). On sait que r ⊆ mρ(r). une d´composition de R.

Soit un tuple t ∈ mρ(r). On veut montrer que t ∈ r. e Puisque t2[R2] = t[R2]. il existe des tuples t1. Puisque t ∈ mρ(r). t2 ∈ r tels que t1[R1] = t[R1] et t2[R2] = t[R2]. Et puisque (R1 ∩ R2) → (R1 − R2) : t2[R1] = t[R1]. on a : t2[R1 ∩ R2] = t[R1 ∩ R2]. t[R] = t2[R] et puisque t2 ∈ r : t ∈ r ! 106 . Supposons que (R1 ∩ R2) → (R1 − R2) ∈ F + (l’autre cas se traite sym´triquement). Donc.

la d´composition de R en (AB. e En revanche.Exemple : Soit R = ABC et F = {A → B}. En effet. AC) est une d´composition de R sans perte par rapport ` F vu que e a AB ∩ AC = A et AB − AC = B et A → B est une d´pendance de F +. 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 . BC) n’est pas sans perte par e rapport ` F . (AB.

. . e ρ = (R1. e F un ensemble de d´pendances sur R. . e e e Sans cette propri´t´.D´composition et d´pendances e e Comment traiter les d´pendances lorsque l’on d´compose ? Les e e d´pendances sont elles conserv´es lors d’une d´composition ? e e e Soit R un sch´ma de relation. e – La projection de F sur un ensemble d’attributs Z ⊆ R est πZ (F ) = {X → Y ∈ F + | XY ⊆ Z}. e 108 . un joint est n´cessaire pour d´terminer si une e e e e modification viole une d´pendance. Rk ) une d´composition de R. . – Une d´composition ρ conserve F si e k πRi (F ) couvre F . i=1 L’int´rˆt de la conservation des d´pendances lors de la d´composition est e e e e de permettre la v´rification des d´pendances sur la base de donn´es.

Exemple : R = (CITY. ZIP) avec F = { CITY ST → ZIP . La d´composition en (ST ZIP.calculer F + et calculer i=1 k πRi (F ) . CITY ZIP) est sans perte vu que e ST ZIP ∩ CITY ZIP = ZIP → CITY = CITY ZIP −ST ZIP mais seule la d´pendance ZIP → CITY est conserv´e.v´rifier si e i=1 πRi (F ) couvre F . ST. e e Remarque : Les 2 propri´t´s. e La m´thode directe pour v´rifier si une d´composition conserve les e e e d´pendances est de : e k . conservation des d´pendances et joint sans e e e perte. On peut avoir l’une sans l’autre et vice-versa. ZIP → CITY }. sont ind´pendantes. 109 .

– On applique l’algorithme ` : a R1. πR1 (F ) R2. la d´composition e doit s’arrˆter. o` X n’est pas une super-cl´. e – Si R n’est pas en BCNF. soit une d´pendance non triviale X → A e de F +. mais sans garantie de e a conservation des d´pendances. πR2 (F ) Puisque les relations deviennent de plus en plus petites. u e – On d´compose R en R1 = R − A et R2 = XA (sans perte vu le crit`re : e e R1 ∩ R2 = X et R2 − R1 = A).Algorithme de d´composition en BCNF e Donn´es : Soit un sch´ma R et un ensemble de d´pendances e e e fonctionnelles F . L’algorithme proc`de par d´compositions successives pour obtenir une e e d´composition de R sans perte par rapport ` F . e 110 .

e e e 111 . CHR. CHS. HR → C R5 : CHR avec HC → R. HR → C. HT → R. CT . HR → C BCNF ! R6 : CHS avec HS → C BCNF ! R : room S : student G : grade C→T HR → C HT → R CS → G HS → R R´sultat : CSG. HC → R .Exemple : Relation de sch´ma 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 . HS → R R3 : CT avec C → T BCNF ! R4 : CHRS avec HS → R. e La d´pendance T H → R n’est pas conserv´e par la d´composition.

e – Il semble donc pr´f´rable de ne pas d´composer. il n’est pas vraiment probl´matique : il est en e troisi`me forme normale (3FN). e 112 . (CITY ZIP) qui est en BCNF. ST. car mˆme si le sch´ma ee e e e n’est pas en BCNF. mais il peut ˆtre d´compos´ en en e e e e (ST ZIP). si l’on fait cette d´composition. – Toutefois. ZIP) avec F = { CITY ST → ZIP . e e ZIP → CITY }. la d´pendance e e CITY ST → ZIP n’est pas conserv´e et retrouver un code postal ` partir e a d’une ville et d’une rue n´cessite un joint. – Ce sch´ma n’est pas en BCNF.Faut-il toujours normaliser en BCNF ? – Reconsid´rons le sch´ma R = (CITY.

u e L’int´rˆt de la 3FN est qu’il existe des algorithmes permettant de e e d´composer en 3FN tout en conservant les d´pendances. e e 113 . e . sauf qu’elle ne e e tient pas compte des attributs non premiers. alors X est une super-cl´. e La troisi`me forme normale se d´finit comme la BCNF.La troisi`me forme normale (3FN) e Pour d´finir la troisi`me forme normale on distingue les attributs e e . D´finition e Un sch´ma de relation est en 3FN si pour toute d´pendance non-triviale e e X → A o` A est non-premier.ne font pas partie d’une cl´ (non premiers).qui font partie d’une cl´ (premiers) de ceux qui.

a e e fortiori. e e e e – La premi`re forme normale (1FN) pr´cise que les attributs d’une e e relation ont une valeur atomique. C’est une contrainte moins forte que celle donn´e par la 3FN et. e e – La deuxi`me forme normale (2FN) exclut les d´pendance non-triviale e e X → A o` A est non-premier et o` X est un sous-ensemble propre d’une u u cl´. par la BCNF. 114 .Les premi`re et deuxi`me formes normales e e L’appellation “troisi`me forme normale” r´sulte du fait qu’une premi`re et e e e une deuxi`me forme normale ont ´t´ d´finies. Nous avons fait cette hypoth`se e d’embl´e en introduisant le mod`le relationnel.

les d´pendances ` valeurs multiples e e a (DVM).Les D´pendances ` valeurs multiples e a Tant qu’` pr´sent. e Toutefois. on a une d´pendance ` valeurs e a multiples entre X et Y (X. → e 115 . en particulier. Y ⊆ R) si les valeurs possibles de Y sont d´termin´es par X. Intuitivement. On note cela : X → Y (X multi-d´termine Y ). et ce. la n´cessit´ de normaliser peut apparaˆ e e ıtre en dehors de la pr´sence de d´pendances fonctionnelles . il y a aussi d’autres types de e e d´pendances et. nous avons utilis´ un seul concept pour repr´senter la a e e e structure de l’information menant ` la n´cessit´ de normaliser : la a e e d´pendance fonctionnelle. dans une relation R. ind´pendamment du contenu du reste de la e e e relation.

Dupont Dupont Durand Durand 116 . B. B.Exemple : R(COURS. A. JOUR. ETUDIANT) COURS → JOUR → COURS → ETUDIANT → COURS JOUR ETUDIANT #1 #1 #1 #1 Mardi Jeudi Mardi Jeudi A.

u[X] = v[X] = t[X] = s[X] 2. v[Y ] = s[Y ] et v[R−X−Y ] = t[R−X−Y ] X t Y Z=R−X−Y s u v 117 . il → existe deux tuples u.Les D´pendances ` valeurs multiples : e a d´finition formelle e Une relation r de sch´ma R satisfait une d´pendance ` valeurs multiples e e a (DVM) X → Y si pour toute paire de tuples t. v ∈ r tels que : 1. u[Y ] = t[Y ] et u[R−X−Y ] = s[R−X−Y ] 3. s ∈ r tels que t[X] = s[X].

mais pas les d´pendances C → H et C → R comme. 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. B. 118 . B. le montre l’exemple d’extension ci-dessous. A. B. pour ce e e → → dernier point. A.Exemple : Relation de sch´ma CT HRSG e C : course T : teacher H : hour R : room S : student G : grade C→T HR → C HT → R CS → G HS → R Les d´pendances C → HR et C → SG et HR → SG sont ` associer ` ce e → → → a a sch´ma.

R(A. B. R(A. B) A B a b a c d b d e 2.D´pendances ` valeurs multiples triviales et non triviales : exemples e a 1. 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 .

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

il est possible de e d´terminer si une DVM est une cons´quence logique d’un ensemble de e e d´pendances. 121 . alors X → Y → X → Y . on a C → HR et e → HR → H (trivialement).Propri´t´s des d´pendances ` valeurs multiples e e e a Les d´pendances ` valeurs multiples satisfont un certain nombre de r`gles e a e qui permettent de raisonner ` leur sujet. alors X → Y → X → Y et X → Z. alors X → Y \ Z → → → (r´flexivit´) e e (compl´mentation pour DVM) e (reproduction) (union pour DVM) (intersection pour DVM) (diff´rence pour DVM) e Notes : – Les r`gles de d´composition et de transitivit´ ne sont pas valides pour e e e les DVM. a – – – – – – Si Si Si Si Si Si Y ⊆ X. mais cela n´cessite des techniques relativement e e complexes. alors X → Y Z → → → X → Y et X → Z. alors X → Y ∩ Z → → → X → Y et X → Z. mais C → H ! → → – Comme dans le cas des d´pendances fonctionnelles. Par exemple. alors X → (R − XY ) → → X → Y . dans le sch´ma CT HRSG.

Donc les tuples u. e e si (⇐) : On suppose la d´composition sans perte pour r. v tel que u[X] = v[X] = t[X] = s[X]. u[Y ] = t[Y ]. e c’est-`-dire r = mρ(r). r satisfait la DVM X → Y si et e → seulement si la d´composition ρ = (XY. c`d e a r = πXY (r) 1 πXZ (r) avec Z = R − XY . s ∈ r tels que t[X] = s[X]. On a : e t[XY ] ∈ πXY (r) et s[XZ] ∈ πXZ (r). Consid´rons 2 tuples t. a D´monstration : Soit r une relation quelconque de sch´ma R.D´pendances ` valeurs multiples et d´composition sans perte e a e Pour toute relation r de sch´ma R. 122 . u[Z] = s[Z]. v[Y ] = s[Y ] et v[Z] = t[Z] appartiennent ` a πXY (r) 1 πXZ (r) = r. X(R − XY )) est sans perte pour r.

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

e e e Soit R un sch´ma de relation.Remarque : Cette propri´t´ peut aussi s’´crire comme suit. R2) une d´composition de R. e e Pour toute relation r de sch´ma R : e r satisfait la DVM (R1 ∩ R2) → (R1 − R2) → (ou (R1 ∩ R2) → (R2 − R1). la pr´sence de la d´pendance e e e fonctionnelle permet la d´composition sans perte. c’est-`-dire e a r = mρ(r). par compl´mentation) → e si et seulement si la d´composition (R1. R2) de R est sans perte pour r. et ρ = (R1. mais une relation r peut e ˆtre d´composable sans perte sans qu’elle ne satisfasse de d´pendance e e e fonctionnelle. 124 . e Dans le cas des d´pendances fonctionnelles. Remarques : Il y a une parfaite ´quivalence entre la notion de d´pendance ` valeurs e e a multiples et celle de d´composition sans perte.

e Cette d´composition est sans perte par rapport ` un ensemble de e a d´pendances (DF et DVM) D si et seulement si e (R1 ∩ R2) → (R1 − R2) ∈ D+ → (ou (R1 ∩ R2) → (R2 − R1) ∈ D+. R2).Crit`re de d´composition sans perte e e Soit ρ = (R1. 125 . une d´composition de R. par compl´mentation) → e D´monstration : e Cons´quence directe de la propri´t´ ´tablissant l’´quivalence entre e e e e e satisfaction d’une DVM par une relation et d´composition sans perte pour e cette relation.

e a e 126 . sauf si – Z=∅ (X → Y est alors triviale). Cela peut se produire. ou → – Y ⊂X – X→R (X → Y est alors triviale).D´pendances ` valeurs multiples et formes normales e a Une d´pendance ` valeur multiples X → Y est gˆnante si l’association e a → e entre les valeurs de X et celles de Y est r´p´t´e. c’est-`-dire apparaˆ pour e e e a ıt plusieurs valeurs des autres attributs Z = R − XY ) de la relation. e e Ceci nous m`ne ` la d´finition de la 4`me Forme Normale (4FN). ou → (X est alors une super-cl´).

e – si XY = R. alors X → R et X est une super-cl´. e e → – soit Y ⊆ X. – soit XY = R.La quatri`me forme normale (4FN) e Un sch´ma de relation est en 4FN si pour toute d´pendance X → Y . e e → – si Y ⊂ X. e Pour obtenir la 4FN. 127 . on peut proc´der par d´composition comme pour la e e BCNF. e Remarque : La 4FN implique la BCNF. – soit X est une super-cl´ de R. En effet : – une d´pendance X → Y est aussi une d´pendance X → Y . la d´pendance X → Y est triviale .

πR1 (D). πR2 (D) a Puisque les relations deviennent de plus en plus petites.Un algorithme de d´composition en 4FN e Soit un sch´ma R et un ensemble de d´pendances (fonctionnelles et ` e e a valeurs multiples) D. Y ⊆ X. mais sans garantie de e a conservation des d´pendances. R2. L’algorithme proc`de par d´compositions successives pour obtenir une e e d´composition de R sans perte par rapport ` D. e On peut supposer X ∩ Y = ∅ puisque X → (Y − X) est impliqu´ par → e X → Y. la d´composition e doit s’arrˆter. mais en e e pratique une utilisation directe des r`gles de raisonnement donn´es suffit. soit une d´pendance X → Y de D+ telle que e → Y = ∅. → – On d´compose R en R1 = XY et R2 = X(R − XY ) (sans perte vu le e crit`re). e – Si R n’est pas en 4FN. e e 128 . e Nous n’avons pas vu de m´thode syst´matique pour calculer D+. e – On applique l’algorithme ` : R1. XY ⊂ R et X n’est pas une super-cl´.

e e → 129 . on peut d´river C → SG : → e → – de C → T .Exemple : Relation de sch´ma CT HRSG e C : course T : teacher H : hour R : room S : student G : grade C→T HR → C HT → R CS → G HS → R C → HR est une d´pendance ` associer ` ce sch´ma. e → – Par la r`gle de compl´mentation on obtient HR → SG. on peut d´river HR → CT . et ensuite C → HRT par union . → → – la r`gle de compl´mentation donne alors C → SG. e → Par exemple : – De C → HR et C → T . on obtient C → T . e e → – De HR → CT . Il y a une seule → e a a e cl´ : HS e Toutes les MVD qui s’appliquent naturellement ` ce sch´ma sont a e d´rivables de l’ensemble de DF ci-dessus et de C → HR.

D´composition 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 R´sultat : CHR. CSG. e D´composition sans perte o` tous les sous-sch´mas sont en 4FN. alors la d´composition → e ci-dessus n’est pas n´cessairement sans perte. CT . e 130 . e u e Remarque : Si l’on ignore la DVM C → HR.

e e e Une relation r de sch´ma R satisfait la d´pendance-joint ∗[R1. . 131 . Rk ] si e e r = πR1 (r) 1 πR2 (r) 1 . e Ceci m`ne ` la d´finition d’une 5`me forme normale (5FN) ou encore e a e “project-join normal form”. . . Il est parfois possible de d´composer une relation sans perte en trois e sous-sch´mas sans qu’il y ait de d´composition en deux sous-sch´mas qui e e e soit sans perte.Autres types de d´pendances e D´pendances “joint” e Les DVM caract´risent les cas o` une d´composition en 2 relations est e u e sans perte. . 1 πRk (r). On g´n´ralise donc la notion de DVM en la notion de d´pendance-joint. .

e 132 . e – soit chaque Ri est une super-cl´ de R. e – soit elle est triviale (vraie de toute relation de sch´ma R). .La cinqui`me forme normale (5FN) e e Une relation r de sch´ma R est en 5`me forme normale (5FN) ou e “project-join normal form” par rapport ` un ensemble de d´pendances a e fonctionnelles et joint F si. . pour toute d´pendance joint ∗[R1. Rk ] e impliqu´e par F . .