CATEGORII DOCUMENTE |
TRANSFORMARI CONSERVATIVE
Transformarea de proiectie-unire ( pe scurt PJ-transformare ) a unei relatii r(R) determinata de schema bazei de date R este utilizata pentru caracterizarea descompunerilor conservative ( fara pierderi de informatii ).
Descompuneri fara pierderi de informatii
Fie o schema R si o descompunere a lui R in
schemele R1,R2,,Rp astfel ca R=R1 R2 Rp si F
o multime de F-dependente pe R. Descompunerea este fara
pierderi (loss join descompozition) in raport cu F daca orice relatie r de schema R care satisface F atunci pR1(r)
Teorema 1. (Criteriul de descompunere fara pierderi) Fie schema de relatie R, descompunerea [R1,R2] si F o multime de F-dependente. Daca F implica una din urmatoarele F-dependente:
i) R1 R2 R1tR2
ii) R1 R2 R2tR1
iii) R1 R2 R1
iv) R1 R2 R2
atunci orice relatie r(R) care
satisface F se descompune fara pierderi de informatie, adica
r=pR1(r)
Demonstratie. i) Fie relatia r care satisface F suficient sa aratam ca r include pR1(r)
Relatiile ii), iii) si iv) se demonstreaza analog.
Transformari conservative
Criteriul de conservare a relatiei prin descompunere este dat de relatia :
pR1(r)
In continuare se prezinta o metoda pe baza careia se decide daca o dependenta ( F sau J ) este implicata de o multime de dependente ( F- si / sau J-dependente ).
Definitia
1. Fie R o multime de scheme de relatii si
R R1R2.Rp. Se numeste transformare de proiectie-unire
definita de R, functia de relatie
de schema R notata mR
data de relatia : mR(r) pR1(r)
Exemplul 1 Fie R si R ABCDE. Se considera relatia
r(R) din figura 1. Rezultatul aplicarii transformarii mR lui r este relatia s(R).
r ( A B C D E ) s ( A B C D E )
1 5 7 8 3 1 5 7 8
3 4 5 2 8 3 4 5 2 8
3 4 5 2 9 3 4 5 2 9
3 1 5 2 9 3 1 5 2 9
3 1 5 2 9
Figura 1 Figura 2
Definitia 2. Fie R o multime de scheme de relatii si R R1R2.Rp. Relatia r(R) se numeste punct fix al transformarii de proiectie_unire mR daca mR(r) r. Multimea tuturor punctelor fixe ale transformarii mR (.) se noteaza cu FIX(R).
Relatia s(R) din figura 2 este un exemplu de punct fix dat de schema : R . A spune ca r satisface J-dependenta *[R] este acelasi lucru cu
mR (r) r. In continuare se prezinta cateva proprietati ale PJ-transformarii mR (.).
Propozitia 1. Fie o multime de scheme de relatii R , R R1R2.Rp si r si s de schema R. PJ-transformarea are urmatoarele proprietati:
i) r
ii) daca r
iii) mR( r ) mR (mR( r ) ) ( idempotenta ).
Demonstratie.
Punctul i) rezulta din
definitia PJ-transformarii. Punctul ii) rezulta din
proprietatea de monotonie a proiectiei, adica daca r
Trebuie studiat cazul in care o relatie de schema R poate fi reprezentata printr-o baza de date de schema R care sa satisfaca urmatoarele conditii :
C1) sa nu existe pierderi de informatii ;
C2) sa fie eliminata redundanta.
In practica
nu este interesanta multimea tuturor relatiilor posibile de
schema R ci numai cateva submultimi, notam una din ele cu P. Multimea P satisface conditia (C1) daca mR(r) r pentru orice relatie r
Definitia 3. Multimea tuturor relatiilor r(R) care satisfac toate restrictiile din C se noteaza cu SATR(C). Daca schema R se subantelege atunci acesta se noteaza SAT(C), iar cea pentru o singura conditie se noteaza cu SAT(c).
Definitia
4. Fie C o multime de restrictii pentru o schema de relatie
R. Spunem ca C implica c si notam C
Daca P SATR(C) pentru o multime de restrictii C, atunci conditia (C1) de eliminare a pierderilor de
informatii pentru baza de date de schema R poate fi formulata
prin una din urmatoarele conditii : SAT(C)
3. Tablouri
In acest paragraf se prezinta o metoda de
reprezentare a unei PJ-transformari printr-un tablou. Tabloul este similar
unei relatii cu deosebirea ca, in locul valorilor tabloul contine variabile dintr-o multime
oarecare V, care este reuniunea a doua multimi Vd si
Vn, unde Vd este o
multime de variabile principale ( distinguished ) notate cu litera a cu
indice si Vn este o multime de variabile secundare notate
cu litera b cu indice. Multimea atributelor este data de numele coloanelor tabloului care formeaza
schema tabloului. Fiecare variabila principala apartine numai unei coloane. Tuplului
dintr-o relatie ii corespunde o linie dintr-un tablou. Pentru un tablou de
schema A1A2.An variabile principale din
coloana Ai 1
Exemplul 2 Fie tablou T din figura 1, valoarea din figura 2 si r (T) in figura 3.
T ( A1 A2 A3 A4 ) r(a1) r(b1) 5 r (A1 A2 A3 A4)
a1 b1 a3 b2 r(a2) r (b2) 2 5 6 9
b3 a2 a3 b4 r(a3) r(b3) 3 4 6 8
a1 b5 a3 a4 r(a4) r(b4) 2 5 6 8
r(b5)
Figura 1 Figura 2 Figura 3
Vom interpreta un tablou T de schema R ca o functie de relatie de schema R. Fie wd linia formata numai din variabile principale wd < a1,a2,.,an > care nu este in mod necesar in T. Daca r este o relatie de schema R, punem
T (r)
Aceasta definitie arata ca, daca avem o evaluare r care face sa corespunda oricarei linii din T un tuplu din r atunci r (wd) este in T ( r ).
Exemplul 3. Fie relatia din figura 4 si tabloul T din figura 1 si evaluarea din figura 2 arata ca tuplul <2, 4, 6, 8> trebuie sa fie in T(r). Evaluarea r' din figura 5 pune <3, 5, 6, 8> in T(r). T(r) este relatia s din figura 6.
R(A1 A2 A3 A4) T( r ) s (A1 A2 A3 A4)
2 5 6 9
3 4 6 8 3 5 6 8
2 5 6 8
3 4 7 8
Cand se evalueaza T(r), daca coloana Ai din T nu contine variabile principale atunci in ea nu exista nici o restrictie asupra valorilor lui r (ai).
Daca r(T)
4. Tabloul ca reprezentare a unei PJ-transformari
Pentru orice PJ-transformare mR exista un tablou T care, ca functie coincide cu mR Fie R o multime de scheme de relatie unde R R1R2.Rp A1A2.An. Tabloul determinat de schema bazei de date R notat TR are p linii si este definit in urmatorul mod :
- schema lui TR este R ;
TR are p linii w1,w2,.,wp ;
- linia wi
are in coloana Aj o
variabila principala aj daca
- Restul coloanelor din linia wi 1
( adica nu apar in alte linii ale TR ) ;
Aceasta transformare poate fi pusa sub forma urmatorului algoritmul TR.
Exemplul 4. Fie R
Tabloul TR este dat in figura 1 :
TR A1 A2 A3 A4
a1 a2 b1 b2
b3 a2 a3 b4
b5 b6 a3 a4
Figura 1
Exemplul 5 Fie R si relatia r din figura 2 atunci
mR(r) TR (r) s unde s este data in figura 3.
r A1 A2 A3 A4) s (A1 A2 A3 A4)
2 5 6 8
3 4 6 8
Figura 2 Figura 3
0. START [ TR-generarea tabloului TR
1. INPUT
2. k
3. FOR i 1, 2,, p
3.1 FOR j 1, 2,, n
3.1.1 IF
THEN
. 1 wi
j
ELSE
. 2 k
. 3 wi
j
3.1.2 CONTINUE
3.2 CONTINUE
4. OUPUT
STOP
Propozitia 2. Fie R o multime de scheme de relatie si R R1R2,.,Rp. Tabloul TR si transformarea mR definesc aceeasi functie de relatie de schema R.
Demonstratia rezulta din definitia transformari conservative.
5. Echivalenta schemelor si a tablourilor
Definitia
5. Fie
T1 si T2 tablouri de schema R. Spunem ca T1 T2 daca T1(r)
Definitia 6. Fie R si S doua multimi de scheme de relatie unde R R1R2,.,Rp S1S2,.,Sq. Se spune ca R acopera pe S notata R S, daca pentru orice schema Sj din S, exista Ri in R astfel ca Ri Sj. Se spune ca R si S sunt echivalente daca R S si S R si se noteaza R~S.
Exemplul 6. Daca R si S atunci S R
Teorema 2. Fie multimile de scheme de relatie R si S unde R R1R2,.,Rp S1S2,.,Sq. Urmatoarele afirmatii sunt echivalente :
1.
mR(r)
2. TR TS,
3. FIX(R)
4. R S.
Demonstratie. Din propozitia 1 rezulta ca
(1) este echivalenta cu (2). Vom arata ca (1) si (3) sunt
echivalente. Din urmatoarea secventa rezulta ca (1)
d1) s
d2) s mR (s) ( din d1 ),
d3)
mR(s)
d4) s
d5) s
d6) s mS(s) ( din d4 si d5 ),
d7) s
Aratam
ca (3)
Fie r(R), r' mR(r), din idempotenta rezulta mR(r') r', deci r'
Vom arata ca conditiile (1) si (4) sunt echivalente. Presupunem ca, dom(A) contine cel putin doua valori pentru orice atribut A din R. Notam aceste valori cu 0 si 1. Construim relatia s(R) cu q tupluri t1,t2,.,tq definite in urmatorul mod :
Notam
cu t0 tuplul format numai din valori nule. Nu
este greu de verificat ca t0 apartine lui mS(s). Prin urmare t0
Presupunem ca R S. Fie r(R) o relatie arbitrara si
t un tuplu arbitrar din mS(r).
In r exista tuplurile t1,t2,.,tq astfel
ca ti(Si) t(Si), 1
Exercitiu. Fie R
si S Daca R S se observa ca TR(r)
r(A1 A2 A3 A4 ) TR(A1 A2 A3 A4 ) TS (A1 A2 A3 A4 )
3 5 7 9 4 6 8 10
3 5 8 10 4 7 8 11
3 5 8 11
4 6 8 10
4 6 8 11
Figura 1 Figura 2 Figura 3
Corolar 1. Fie multimile de scheme de relatie R si S unde R R1,R2,.,Rp S1,S2,.,Sq. Urmatoarele afirmatii sunt echivalente :
1. mR mS
2. TR
3. FIX(R)=FIX(S),
4. R~ S.
Prin conditia (1) intelegem mR(r) mS(r) pentru orice r(R).
Fie R
si S Multimile de scheme de relatie R si S sunt echivalente. Din corolarul 1 rezulta ca
TR
TR(A1 A2 A3 A4 ) TS (A1 A2 A3 A4 )
a1 a2 a3 b1 a1 a2 a3 b1
a1 b2 b3 a4 b2 b3 a3 a4
a1 b4 a3 a4 a1 b4 a3 a4
Figura 1 Figura 2
Definitia 7. Fie w1 si w doua linii ale tabloului T de schema R. Daca pentru orice atribut A din R cu w2(A) principala rezulta ca w1(A) este variabila principala si se spune ca w1 absoarbe ( subsume ) w2.
Definitia Fie T un tablou. in care liniile nu mai pot fi ( reduse ) absorbite de nici o alta linie se numeste redus prin absortie si se noteaza cu SUB(T).
Exemplul 6. In tabloul
TR w1 absoarbe w2
deoarece w1(A1) a1
SUB(TR)(A1 A2 A3 A4) SUB(TS)( A1 A2 A3 A4)
a1 a2 a3 b1 a1 a2 a3 b1
a1 b4 a3 a4 a1 b4 a3 a4
Teorema 3. Fie multimile de scheme de relatie R si S unde R R1,R2,.,Rp S1,S2,.,Sq. Atunci:
1) TR
2) SUB(TR)
Pentru demonstratie vezi Maier/ /.
5. C-Transformari
Teorema 3 arata ca exista un procedeu simplu pentru verificarea echivalentei a doua tablouri obtinute din multimi de scheme si anume verificarea identitatii reduse prin absortie. Orice tablou in care nici o variabila secundara nu se intalneste mai mult decat o data se obtine dintr-o multime oarecare de scheme. Teorema 3 nu este adevarata pentru tablourile unde variabilele secundare sunt duplicate.
Dorim sa formulam conditii de echivalenta pentru tablouri arbitrare introducand c-transformarea pentru tablouri. C-transformarea este asemanatoare evaluarii (estimarii), care in locul transformarii variabilelor tabloului in elemente ale domeniului ele se transforma in variabile ale altui tablou. Prin urmare liniile se transforma in linii.
Definitia 9. Fie T si T' doua tablouri de schema R si multimile de variabile V si V'. Transformarea y :V→V' se numeste c-transformare din T in T' daca ea satisface urmatoarele conditii :
1) daca variabila v se afla in linia A a tabloului T atunci y(v) se afla in linia A a tabloului T' ;
2) daca v este o variabila principala atunci y(v) este variabila principala ;
y(v)
Exemplul 7 Fie tablourile T si T' din figura 1 si 2 si c-transformarea din figura 3
T(A1 A2 A3 A4) T'(A1 A2 A3 A4)
Figura 1 Figura 2 Figura 3
Primele doua linii din T sunt aplicate in primele doua linii din T' de y, c-transformarea y aplica a treia linie dinT in a doua linie din T'.
Teorema 4. Fie tablourile T si T' de schema R. T T' daca si numai daca exista o c-aplicatie de la T la T'.
Demonstratie. Suficienta. Fie y o aplicatie de la T la T'. Fie r(R) o relatie
oarecare, T(r) si T'(r). Daca
r este o evaluare a lui T' astfel ca r (T')
Necesitatea. Presupunem ca T T'. Considerand tabloul T' ca relatie obtinem T(T')
Corolar 2. Fie
T si T' doua tablouri de schema R. T
Exemplul Fie T
tabloul care este compus numai dintr-o linie formata numai din variabile
principale wd si T' un tablou care contine wd, atunci T
6. Echivalenta schemelor determinata de restrictii
In acest paragraf se determina care sunt proprietatile unei relatii care sa fie corect reprezentata prin proiectiile sale. Din corolarul 1 rezulta ca, daca R este o schema a bazei de date atunci FIX(R) este multimea tuturor relatiilor pe R R1,R2,.Rp numai daca Ri R pentru un i anumit. In multe cazuri dorim sa reprezentam o multime de relatii pentru schema R asupra careia se aplica o multime impusa de restrictii. Vom utiliza restrictiile ca sa reprezentam relatiile.
Definitia 10. Fie P o multime de relatii de schema R. Daca T1 si T2 sunt tablouri de schema R atunci T1 cuprinde peT2 in raport cu P ( notat T1⊒P T2 ) daca
T1(r)
T1 sPT2 ( sunt echivalente pe P ) daca T1 PT2 si T2 PT1.
In majoritatea cazurilor se considera P SAT(C) pentru o multime de restrictii C data. Notam pe scurt pe
Lema 1. Fie T1 si T2 doua tablouri de schema R si P o multime de relatii pe R. Fie T1' si T2' astfel ca :
1) T1sP T1' si T2sP T2' si
2) T1' si T2' considerate ca relatii sunt ambele din P.
Atunci T1 T2 daca si numai daca T1' T2'.
Demonstratie Suficienta este directa. Daca T1' T2'
atunci rezulta ca T1'⊑P T2', dar T1sPT1'si T2sP T2' deci
T1⊑PT2. Vom arata ca, daca T1⊑P T2 atunci T1' T2'.
Considerand T1' simultan ca relatie si tablou atunci T1'(T1')
este din P si T1'(T1')
Corolar 3. In ipotezele lemei 1. rezulta ca T1sP T2 daca si numai daca
T1's T2'.
Acest corolar poate fi interpretat ca un test de verificare a
relatiei T1
F-regula
Fie un tablou
T care contine liniile w1 si w2 unde w1(X) w2(X) si v1 w1(A) si v2 w2 (A), v1
- daca una din v1 si v2 este principala, sa zicem v1 instanta lui v2 este inlocuita cu v1.
- daca v1 si v2 nu sunt principale atunci orice instanta cu indice mai mare este inlocuita cu instanta variabilei cu indice mai mic.
Deoarece tabloul este o multime de linii, cateva din ele prin redefinire vor fi identice si vor fi eliminate.
Exemplul 9 Fie tabloul T din figura 1 si C . Aplicand F-regula determinata de A2A4 A3 la liniile 1 si 2 permitem inlocuirea variabilei b3 cu a3 deoarece a3 este principala si obtinem tabloul T'.
T(A1 A2 A3 A4 T'(A1 A2 A3 A4) T"( A1 A2 A3 A4
Figura 1 Figura 2 Figura 3
Aplicand F-regula determinata de A1A2 A4 se obtine tabloul T" deoarece variabile b1 si b4 trebuie identificate prin cea cu indice mai mic. Astfel prima si ultima linie sunt identice deci se elimina una din ele.
Teorema F. Fie T' tabloul rezultat prin aplicarea unei F-reguli date de X A din tabloul T. Atunci T si T' sunt echivalente pe SAT(X A).
J-regula
Fie S o multime
de scheme de relatii si *[S] o J-dependenta pe U. Fie T un
tablou si w1,w2,.,wq liniile lui T care
sunt unibile pe S cu rezultatul w. Aplicarea J-regulii *[S] la T inseamna
formarea tabloului T' T
Exemplul 10. Fie T tabloul reprezentat in figura 4 si C . Aplicand J-regula determinata de *[ A1A2, A2A3, A3A4] la a doua si a treia linie din T genereaza linia <a1 b1 b3 a4>. Rezultatul este tabloul T' dat in figura 5.
T(A1 A2 A3 A4 T'(A1 A2 A3 A4 ) T"( A1 A2 A3 A4
Figura 4 Figura 5 Figura 6
J-regula data de *[A1A2A4, A1A3A4] poate fi aplicata la prima si a patra linie a lui T'; se genereaza linia <a1 b1 b3 a4> iar tabloul T' este rezultatul acestei aplicatii.
Teorema J. Fie S Fie T' tabloul rezultat prin aplicarea J-regulii determinata de *[S] din tabloul T. Atunci tablourile T si T' sunt echivalente pe SAT(*[S]).
Demonstratie. Va trebui sa aratam ca T(r) T'(r) pentru orice r
7. Algoritmul chase
In acest paragraf se da un algoritm de calcul care se
bazeaza pe metoda chase, cu ajutorul careia pentru un tablou dat si
o multime de dependente C se
construieste un nou tablou T* astfel ca T
Fie tabloul T din figura 1 si C . Aplicand F-regula determinata de BC se obtine T1 din figura 2. Aplicand J-regula *[ABC, BCD] se obtine T2 din figura 3. Aplicand F-regula determinata de ADC se obtine T3 din figura 4.
T ( A B C D)
Figura 1 Figura 2 Figura 3 Figura 4 Figura 5
Aplicarea J-regulii determinata de *[ABC, BCD] lui T3 permite obtinerea lui T* si orice alta regula il lasa invariant. Astfel T* este ca relatie in SAT(C).
Definitia
11. Se numeste secventa generata
din T prin aplicarea regulilor ( F- sau J) determinate de dependentele din
C, secventa T0 T,T1,. .Ti. unde Ti se obtine din Ti-1 prin
aplicarea unei F- sau J-reguli determinata de o dependenta din
C, se presupune Ti-1
Algoritmul realizat mai jos doua proceduri TR si DIF. Procedura TR transforma tabloul Tj+i in Tj+i+1 pe baza regulei determinata de dependenta Ci. Functia DIF determina daca exista o diferenta intre doua transformari succesive.
0 START [Chase ]
1 INPUT [ T, k, C1,C2,.,Ck]
2 n
3 Tn T
4 d
5 WHILE d
5.1 d
5.2 FOR i 1, 2. .., k
5.1.1 CALL TR(Tn,Ci;T*)
5.1.2 IF DIF(Tn,T')
THEN
.1 n
.2 Tn
.3 d =0
5.1.3 CONTINUE
5.3 CONTINUE
6 OUPUT
7 STOP
Exemplul 11. Fie T si C din exemplul 1. T, T1, T2, T3 si T* este o secventa generata din T de C si T*IChaseC(T). Va trebui sa observam cum se transforma liniile pe parcursul aplicarii algoritmului Chase. Fie T' obtinut din T prin aplicarea unei J-reguli. Atunci daca w este o linie a lui T ei ii corespunde in T' aceeasi linie sau are in plus o linie obtinuta prin unirea unui numar de linii. Fie T' derivat din T prin aplicarea unei F-reguli care schimba variabila v cu variabila v'. Daca w este o linie in T ii corespunde in T' o linie w' care este de fapt w in care s-a inlocuit v cu v'. ( Daca w nu contine v atunci w w' ).
Daca T0,T1,.,Ti,.,Tj
este o secventa generata din T determinata de C si
Spunem ca
linia
Teorema 5. Fie tabloul T si retrictiile
C. Orice secventa generata din T determinata de C este
finita, adica
Demonstratie. Deoarece tablourile sunt multimi
finite de linii si orice regula nu introduce noi variabile, exista
numai un numar finit de tablouri care pot sa apara in secventa
generata din T determinata de C. Este suficient sa aratam
ca nici un tablou nu apare de doua ori. Fie
Teorema 6. Orice tablou T* din
Demonstratie.
Daca T* nu ar satisface F-dependenta X
Corolar 4.
Proprietatea Church-Rosser
Calculul
chase-ului este un exemplu de sistem de implicatii. Un sistem de implicatii
este o pereche ( Q,
Definitia
12. Inchiderea tranzitiva si reflexiva a relatiei
Definitia
13. Fie sistemul de implicatii ( Q,
Definitia
14. Sistemul de implicatii ( Q,
Utilizand
teorema 5 din paragraful precedent rezulta ca sistemul de implicatii
pentru calculul chase-ului este finit. Prin
Definitia 15. Un sistem de
implicatii ( Q,
Teorema 7. ( Sethi ) : Sistemul de
implicatii ( Q,
Pentru demonstratie vezi Sethy / /.
Daca T0,T1,.,Ti,.,Tj
este o secventa generata din T determinata de C si
Spunem ca linia
Teorema Calculul chase-ului determinat de o multime
de restrictii C este un sistem de implicatii FCR. Prin urmare
Demonstratie. Trebuie sa aratam ca
calculul chase-ului este un sistem de implicatii finit. Adica va
trebui sa aratam ca, daca din tabloul T se obtin
tablourile
Pentru aceasta vom examina trei cazuri.
T1 T2 T1 T2 T1 T2
Cazul 1 Cazul 2 Cazul 3
Se observa ca J-regulile lasa neschimbate liniile si ca o F-regula nu poate schimba ocurenta unei unei variabile fara a o schimba pe cealalta. Fie w1 si w2 doua linii in T si u1 si u2 linii in T' corespunzatoare lui w1 si w2 unde T' este obtinut din T prin aplicarea unei F- sau J-reguli. Deoarece daca w1(X) w2(X) atunci u1(X) u2(X) rezulta ca daca o F- sau J-regula este aplicata la o multime de linii in T atunci aceeasi regula este aplicabila la multimea de linii corespunzatoare lui T'.
Cazul 1: Fie T1 dedus din
T prin aplicarea regulii X
de la T1 prin aplicarea lui Y
Celelalte cazuri sunt simple exercitii.
Corolar 5. Daca SAT(C) SAT(C')
atunci
Demonstratie: Vom da demonstratia in cazul cand
C' C
9. Echivalenta tablourilor determinata de restrictii
Vom testa echivalenta
tablourilor determinata de o multime de restrictii, care
constituie un test pentru cazul cand transformarea mR este fara
pierderi de informatii pe SAT(C). Din observatiile de la inceputul
acestui paragraf se stie ca T
Teorema 9. Fie tablourile T1 si T2 si C o multime de restrictii.
T2⊑CT1 daca si numai daca ChaseC(T2) ChaseC(T1).
Corolar 6. T1
Vom da un procedeu de a verifica cand
toate relatiile din SAT(C) pot fi corect reprezentate prin proiectiile
lor dupa schemele de relatie ale unei baze de date de schema R.
Aceasta conditie este echivalenta cu C
Dintr-o teorema 8 rezulta ca pentru a testa echivalenta este suficient ChaseC(TI) TI. Verificarea conditiei ChaseC(TR) TI se reduce la a verifica ca ChaseC(TR) contine wd.
10. Verificarea implicatiei dependentelor functionale
Fie C o multime de dependente functionale. Vom introduce un test pentru verificarea unei F-dependente din multimea C. Prezentam lema pe baza careia se demonstreaza teorema de caracterizare a implicatiei.
Lema 2. Fie T un tablou si C o multime de restrictii.
Fie ρ o evaluare a tabloului T astfel ca ρ(T)
linia care-i corespunde in
Demonstratie. Pentru a demonstra (1) si (2 )
este suficient sa aratam ca, daca
Fie dependenta netriviala X
Teorema 10. C
Demonstratie. Fie T
Astfel doua tupluri din r compatibile pe X sunt
comparibile pe A. Prin urmare deoarece r a fost arbitrar aleasa rezulta SAT(C)
Pe aceasta teorema se bazeaza urmatorul algoritm :
0
PROCEDURE TID ( X, A, C, n ;w) /*-Testarea implicatiei C
1 Call generare(X,n;TX)
2 CALL Chase( C,
3 d
4 i
5 WHILE d
5.1 IF T( i, A )
THEN
.1 d
ELSE
.2 IF i
THEN
.2.1 i
ELSE
.2.2 d
6 IF d
THEN
6.1 w TRUE
ELSE
6.2 w FALSE
7 RETURN(w)
0 Procedure generare(X,n;TX)
1 k
2 FOR i 1, 2,, n
2.2 IF
THEN
ELSE
.2 k
2 Return
Exemplul 12. Fie C si dorim sa aratam
ca
T* ( A B C D )
T* are numai
Pana acum am definit inchiderea lui X numai in raport cu o multime de F-dependente. Vom extinde definitia pentru a cuprinde si J-dependente.
Definitia 16. Fie C o multime
de F-dependente si J-dependente si X o multime de
atribute. Se numeste inchidere a lui X determinata de C, notata
Observatie. Daca C este formata numai din F-dependente, aceasta definitie se reduce la vechea definitie.
Corolarul 7. Pentru o multime
data C,
Corolarul Daca J este o multime de J-dependente,
atunci J
Demonstratie. Deoarece
Teorema urmatoare
arata o cale alternativa care utilizeaza Chase pentru a gasi
intreaga multime Y astfel ca C
Teorema 11. Fie C o
multime de restrictii si fie Y o multime disjunctiva
de multimea
Demonstratie. Necesitatea. Fie
Implicatia inversa. Presupunem C
0 PROCEDURE INCHIDERE ( X, C,n ;
1 CALL generare(X,n;TX )
2 CALL
3 k
5 FOR j = 1, 2,, n
5.1 d
5.2 i
5.3 WHILE d=1 & i m
5.3.1 IF
THEN
5.3.1.1 d
ELSE
5.3.1.2 i
5.3.2 CONTINUE
5.4 IF d = 1
THEN
5.4.1 k
5.4.2
5.5 CONTINUE
6 RETURN
Teorema 11 sta
la baza urmatorului algoritm de verificare a implicatiei C
0 START [ TIDM - Testerea Implicatiei MV-dependentei ]
1 INPUT
2 CALL generare ( X,n ;
3 CALL Chase(C,
4 CALL INCHIDERE ( X, C ;
5 i
6 d
7 WHILE i
7.1 j
7.2 WHILE w=0 & j
7.2.1 IF
THEN
.1 IF
THEN
.1.1 w
ELSE
.1.2 j
.2 CONTINUE
7.2.2 CONTINUE
7.3 IF w = 0
THEN
7.3.1 d
ELSE
7.3.2 i
7.4 CONTINUE
8 CASE d OF
1 OUTPUT
2 OUTPUT
9 STOP
11. Tabloul ca patern al unei relatii
In acest paragraf se formalizeaza ideea tabloului ca patern (sablon) al unor relatii.
Definitia 17. Fie P o multime de relatii si
r o relatie oarecare. Relatia s din P se numeste completare a lui r in P daca r
Exemplul 13 Fie relatia r din figura 1). Daca C = atunci
r ( A B C D ) s ( A B C D ) Q ( A B C D )
4 6 8 2 4 6 8 2 4 6 8
Figura 1 Figura 2 Figura 3
Daca o completare exista ea nu este unica.
Exemplu 14 Fie relatia din figura 1 si P = SAT([AB, BC]).
Completarea
O multime P de relatii se
numeste inchisa in raport cu intersectia daca pentru orice pereche de relatii r si
s din P r
Lema 3. P este inchisa in raport cu intersectia daca si numai daca completarea in raport cu P este unica.
Demonstratie. Presupunem ca P este inchisa
fata de intersectie. Fie s si s' completari ale lui r in
raport cu P. Din inchidere rezulta s'
Corolar 9. Daca C este o multime de F- si J-
dependente atunci
Vom defini multimea relatiilor care reprezinta un tablou.
Definitia 1 Fie T un tablou si P o multime de relatii. Multimea care reprezinta T in raport cu P este notata REPC (T) este :
.
Notam cu REPC (T)= REP SAT( C ) (T).
Lema 4. Fie P o multime de relatii
inchisa in raport cu intersectia si T1 si T2 doua tablouri.
Daca T2 ⊒T1 atunci orice r
Demonstratie:Vezi Maier pagina 189.
Teorema 12. Fie C o multime de
restrictii si T un tablou. Daca T*=
Demonstratie. Presupunem rIREP(T). Fie ρ o evaluare astfel ca r = COMPC(ρ(T)). Evident ca ρ(T) r. Deoarece r SAT(C) din lema 4 rezulta ρ(T) (T*) si ρ(T*) r de unde rezulta COMP(T*))=r deci REP(T) REP(T*). Acum presupunem ca rIREP(T*). Fie evaluarea ρ astfe ca COMP(ρ(T*))=r. Deoarece T* ca relatie apartine lui SAT(C) ρ(T*)I SAT(C), avem r=ρ(T*). Tabloul T poate avea mai multe variabile decat tabloul T dar ρ(T) (T*). Fie w o linie arbitrara din T si w* linia corespunzatoare din T*, punem ρ( w)= ρ(w*).
Fie T=T0,T1,,Tn=T* secventa generata pentru T*. Din lema 4 rezulta
(T ) (T2) (T n).
COMPC(ρ(Ti)) COMPC (ρ (Ti+1))
In ρ(Ti+1) trebuie sa existe ρ(w) care nu intra in COMPP(ρ(Ti)) in caz contrar ρ(Ti+1) COMPC(ρ(T)) si ambele incluziuni sunt adevarate. Prin urmare wITi+1 si w Ti.
Corolar Pentru o multime data de restrictii C si pentru un tablou T
REPC(T)=.
Exercitii.
1. Fie relatiile r si s figurile 1 si 2 si R=
R(A B C D E ) s(A B C D E)
Sa se calculeze m(r) si m(s).
2. Fie schema bazei de date R= . Aratati ca pentru orice r( R ).
mR(r)IFIX( R).
3. Fie R= si S= . Aratati ca:
R S
FIX(S) FIX (R)
4. Calculati Chase (T ) unde
T. = (A1 A2 A3 A4 )
a1 b1 a3 b2
b3 a2 a3 a4
a1 b4 b5 a4
Pentru multimile C=
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 820
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved