Vous êtes sur la page 1sur 2

Exercice 1

a) Fragmentation horizontale
Soit C1, C2, C3 les conditions existantes des requêtes fréquentes :
C1 : prénom = ‘Mohamed’
C2 : numeq = 1
C3 : numeq = 2 and prénom = ‘Mohamed’

Comme les fragments horizontaux doivent être exclusifs, on définit l’ensemble des 2n conjonctions de
conditions :
CC ={ ⋀𝑖=1,𝑛 𝐶𝑖∗ où Ci* est soit Ci soit ¬ Ci }

On supprime de cet ensemble les conditions qui sont toujours fausses et on simplifie les autres. Les
conjonctions des conditions qui restent déterminent les fragments.

CC={ C1 C2  C3, ¬C1 C2  C3, C1 ¬C2  C3, C1 C2  ¬C3, ¬C1 ¬C2  C3, ¬C1 C2  ¬C3, C1 ¬C2  ¬C3,
¬C1 ¬C2  ¬C3}
On remarque que C1 et C3 sont contradictoires car (C2 = numeq=1) et (C3 = numeq=2 and
prénom=‘Mohamed’), donc :
CC1 = C1 C2  C3 Fausse
CC2 = ¬C1 C2  C3 Fausse

CC3 = C1 ¬C2  C3 = (prénom=‘Mohamed’)  ¬(nume=1)  (numeq=2  prénom= ‘Mohamed’)


= prénom=‘Mohamed’  nume1  numeq=2  prénom= ‘Mohamed’
= prénom=‘Mohamed’  nume=2  numeq=2  prénom= ‘Mohamed’ (car il existe deux
équipes : 1 et 2)
CC3 = prénom=‘Mohamed’ numeq=2 Fragment1

CC4 = C1 C2  ¬C3 = (prénom=‘Mohamed’)  (numeq=1)  ¬(numeq=2  prénom= ‘Mohamed’)


= (prénom=‘Mohamed’  numeq=1) (numeq=1 prénom‘Mohamed’) (A(BC))= (AB)(AC)
= (prénom=‘Mohamed’  numeq=1  numeq=1)  (prénom=‘Mohamed’  numeq=1  prénom
‘Mohamed’) (contradiction donc donne )
CC4 = prénom=‘Mohamed’  numeq=1 Fragment2

CC5 = ¬C1 ¬C2  C3= ¬(prénom=‘Mohamed’)  ¬(numeq=1)  (numeq=2  prénom= ‘Mohamed’)


= prénom ‘Mohamed’  numeq=2  numeq=2  prénom= ‘Mohamed’=  Fausse

CC6 = ¬C1 C2  ¬C3 = ¬(prénom=‘Mohamed’)  (numeq=1)  ¬(numeq=2  prénom= ‘Mohamed’)


= (prénom‘Mohamed’  numeq=1)  (numeq=1 prénom ‘Mohamed’) (A(BC))= (AB)(AC)
= (prénom ‘Mohamed’  numeq=1  numeq=1)  (prénom ‘Mohamed’  numeq=1 
prénom ‘Mohamed’)
= (prénom ‘Mohamed’  numeq=1)  (prénom ‘Mohamed’  numeq=1)
CC6= prénom ‘Mohamed’  numeq=1 Fragment3

CC7 = C1 ¬C2  ¬C3 = (prénom=‘Mohamed’)  ¬(numeq=1)  ¬(numeq=2  prénom= ‘Mohamed’)


= (prénom=‘Mohamed’  numeq=2)  (numeq=1  prénom ‘Mohamed’)

1
= (prénom=‘Mohamed’  numeq=2  numeq=1)  (prénom=‘Mohamed’  numeq=2 
prénom ‘Mohamed’)
=  Fausse

CC8 = ¬C1 ¬C2  ¬C3= ¬(prénom=‘Mohamed’)  ¬(numeq=1)  ¬(numeq=2  prénom= ‘Mohamed’)


= (prénom ‘Mohamed’ numeq=2)  (numeq=1  prénom ‘Mohamed’)
= (prénom ‘Mohamed’  numeq=2  numeq=1)  (prénom ‘Mohamed’  numeq=2 
prénom ‘Mohamed’)
CC8 = prénom ‘Mohamed’  numeq=2 Fragment4
Conclusion : il y a 4 fragments :
CC3 = prénom=‘Mohamed’ numeq=2
CC4 = prénom=‘Mohamed’  numeq=1
CC6= prénom ‘Mohamed’  numeq=1
CC8 = prénom ‘Mohamed’  numeq=2

F1 : Select * From PATISSIERS Where prénom=‘Mohamed’and numeq=2


F2 : Select * From PATISSIERS Where prénom=‘Mohamed’and numeq=1
F3 : Select * From PATISSIERS Where prénom‘Mohamed’and numeq=1
F4 : Select * From PATISSIERS Where prénom‘Mohamed’and numeq=2

b) Fragmentation verticale
IP = {⋀𝑗=1,𝑛 𝑃𝑗∗ où Pj* est soit Pj soit 𝑃
̅𝑗 }

P1 = numéro, numeq
P2 = numéro, nom, prénom, numeq
P3 = numéro, nom

̅̅̅
𝑃1 = numéro, nom, prénom
̅̅̅
𝑃2 = Ø
̅̅̅
𝑃3 = numéro, prénom, numeq

Donc, IP= {P1P3, ̅̅̅


𝑃1  P3, P1 ̅̅̅ 𝑃1  ̅̅̅
𝑃3 , ̅̅̅ 𝑃3 }

P1P3 = {numéro}
𝑃1  P3 ={numéro, nom}
̅̅̅
P1 ̅̅̅
𝑃3 ={numéro, numeq}
𝑃1  ̅̅̅
̅̅̅ 𝑃3 ={numéro, prénom}

F1 : (numéro) PATISSIERS = Select numéro From PATISSIERS


F2 : (numéro, nom) PATISSIERS= Select numéro, nom From PATISSIERS
F2 : (numéro, numeq) PATISSIERS = Select numéro, numeq From PATISSIERS
F2 : (numéro, prénom) PATISSIERS = Select numéro, prénom From PATISSIERS

Vous aimerez peut-être aussi