Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




TRANSFORMARI CONSERVATIVE

Informatica


TRANSFORM RI 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 īn 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) īn raport cu F daca orice relatie r de schema R care satisface F atunci pR1(r)pR2(r) .pRp(r) r.

Teorema 8.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)pR2(r).

Demonstratie. i) Fie relatia r care satisface F suficient sa aratam ca r include pR1(r)pR2(r). Fie tuplul t pR1(r)pR2(r) atunci exista tuplurile t1, t2 r astfel īncāt t1(R1)=t(R1) si t2(R2)=t(R2) din care rezulta ca t1(R1 R2)=t2(R1 R2). Deoarece r satisface F rezulta t2(R2)=t(R2), t2(R1tR2)=t1(R1tR2)=t(R1tR2), din care rezulta t(R1 R2)=t2(R1 R2) adica t=t2 deci t r.

Relatiile ii), iii) si iv) se demonstreaza analog.

Transformari conservative

Criteriul de conservare a relatiei prin descompunere este dat de relatia :

  pR1(r)pR2(r) pRp(r) r.

Īn 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 8.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)pR2(r) pRp(r).

Exemplul 8.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 8.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. Īn continuare se prezinta cāteva proprietati ale PJ-transformarii mR (.).

Propozitia 8.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 mR ( r ),

ii) daca r s atunci mR( r )mR( s ) ( monotonie ),

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 rs atunci pRi(r)pRi(s) 1ip. Fie r'= mR(r) atunci iii) rezulta din proprietatea de completitudine a unirii lui pR1(r)pR2(r) pRp(r)

Trebuie studiat cazul īn 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.

Īn practica nu este interesanta multimea tuturor relatiilor posibile de schema R ci numai cāteva submultimi, notam una din ele cu P. Multimea P satisface conditia (C1) daca mR(r) r pentru orice relatie rP, adica P FIX(R). A doua conditie (C2) poate fi exprimata astfel: proiectiile oricarei relatii r din P īn raport cu schemele din R sa aiba cel putin atātea tupluri cāt r. Deoarece P este infinta ea nu poate fi descrisa prin enumerare ci numai prin specificarea multimii de restrictii de tip F- sau J- pe care relatiile componente le satisfac. Īn continuare notam cu C o multime data de restrictii ( conditii ) pentru schema de relatie R.

Definitia 8.3. Multimea tuturor relatiilor r(R) care satisfac toate restrictiile din C se noteaza cu SATR(C). Daca schema R se subāntelege atunci acesta se noteaza SAT(C), iar cea pentru o singura conditie se noteaza cu SAT(c).

Definitia 8.4. Fie C o multime de restrictii pentru o schema de relatie R. Spunem ca C implica c si notam Cc daca SATR(C)SATR (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)FIX(R) sau C *aRs. Īn paragraful urmator se da o metoda de verificare a acestor conditii cānd C este formata dintr-o multime de F- si J-dependente.

8.3. Tablouri

Īn acest paragraf se prezinta o metoda de reprezentare a unei PJ-transformari printr-un tablou. Tabloul este similar unei relatii cu deosebirea ca, īn 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 īi corespunde o linie dintr-un tablou. Pentru un tablou de schema A1A2.An variabile principale din coloana Ai 1in sunt ai. Un tablou T de schema R poate fi privit ca paternul (sau sablonul ) unei relatii de schema R. Dam relatia ce se obtine dintr-un tablou īnlocuind variabilele cu valori din domeniile respective. Presupunem ca R R1R2.Rn si D= Di cu Di dom (Ai) unde 1in. Se numeste evaluare ( estimare ) a tabloului T, o functie r : V D, astfel ca r(v)dom (Ai), daca v este o variabila care apartine coloanei Ai. Se extinde evaluarea de la variabilele la linii si apoi la īntreg tabloul. Daca w <w1,w2,.,wn> este o linie a tabloului atunci r(w) < r w1), r w2),., r wn )> este o evaluare a liniei w. Notam cu r r( t )

Exemplul 8.2 Fie tablou T din figura 1, valoarea din figura 2 si r (T) īn figura 3.

T ( A1 A2 A3 A4 ) r(a1) 2 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) 5 

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 īn mod necesar īn 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 īn T ( r ).

Exemplul 8.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 īn T(r). Evaluarea r' din figura 5 pune <3, 5, 6, 8> īn 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 2 5 6 9

3 4 6 8 3 5 6 8

2 5 6 8 2 5 6 8

3 4 7 8  3 4 6 8

  3 4 7 8

    3 4 6 8

Figura 4   Figura 6

 

 

  Figura 5 

Cānd se evalueaza T(r), daca coloana Ai din T nu contine variabile principale atunci īn ea nu exista nici o restrictie asupra valorilor lui r (ai).

Daca r(T)r atunci r'(T)r pentru orice r' care coincide cu r pe V exceptānd ai. Prin urmare daca dom(Ai) este infinit, atunci T(r) poate avea o multime infinita de tupluri si nu este o relatie. De aceea cānd se considera un tablou ca o functie trebuie ca īn T sa aiba un simbol principal īn fiecare coloana.

8.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 īn urmatorul mod :

- schema lui TR este R ;

TR are p linii w1,w2,.,wp ;

- linia wi are īn coloana Aj o variabila principala aj daca AjRi ;

- Restul coloanelor din linia wi 1ip sunt simboluri secundare unice

( adica nu apar īn alte linii ale TR ) ;

Aceasta transformare poate fi pusa sub forma urmatorului algoritmul TR.

Exemplul 8.4. Fie R

Tabloul TR este dat īn figura 1 :

  TR A1 A2 A3 A4  

  a1 a2 b1 b2

  b3 a2 a3 b4

  b5 b6 a3 a4

  Figura 1

Exemplul 8.5 Fie R si relatia r din figura 2 atunci

mR(r) TR (r) s unde s este data īn figura 3.

r A1 A2 A3 A4)  s (A1 A2 A3 A4)

2 4 6 8  2 4 6 7

2 5 6 8  2 4 7 9

3 4 7 9  2 5 6 8

  2 5 6 8

  3 4 6 8

  3 4 6 9

Figura 2   Figura 3

0. START [ TR-generarea tabloului TR

1. INPUT

2. k 0

3. FOR i 1, 2,..., p

3.1 FOR j 1, 2,..., n

  3.1.1 IF AjRi

  THEN

  . 1 wi j ' a j '

  ELSE

  . 2 k k + 1

  . 3 wi j ' bk '

  3.1.2 CONTINUE

3.2 CONTINUE

4. OUPUT

STOP

Propozitia 8.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.

8.5. Echivalenta schemelor si a tablourilor

Definitia 8.5. Fie T1 si T2 tablouri de schema R. Spunem ca T1 T2 daca T1(r) T2(r) pentru orice relatie r(R). Tablourile T1 si T2 sunt echivalente daca T1 T2 si T2 T1 si se noteaza cu T2 T1.

Definitia 8.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 īn 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 8.6. Daca R si S atunci S R

Teorema 8.2. Fie multimile de scheme de relatie R si S unde R R1R2,.,Rp S1S2,.,Sq. Urmatoarele afirmatii sunt echivalente :

1. mR(r)mS(r) oricare ar fi r(R),

2. TR TS,

3. FIX(R)FIX(S),

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) sFIX( R)

d2) s mR (s) ( din d1 ),

d3) mR(s)mS(s) ( din ipoteza ),

d4) smS(s) ( din d2 si d3 ),

d5) smS(s ( din lema 1 ),

d6) s mS(s) ( din d4 si d5 ),

d7) sFIX( S)

Aratam ca (3)(1). Adica din FIX( R) FIX( S) mR(r)mS (r).

Fie r(R), r' mR(r), din idempotenta rezulta mR(r') r', deci r'FIX( R) din ipoteza rezulta ca r'FIX( S) adica (a) mS(mR(r)) mR(r). Dar mR(r)r, din monotonia lui mS rezulta (b) mS(mR(r))mS(r) ; din (a) si (b) rezulta ca mS(r) mR(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 īn urmatorul mod :

Notam cu t0 tuplul format numai din valori nule. Nu este greu de verificat ca t0 apartine lui mS(s). Prin urmare t0mR(s). Conform definitiei lui mR, pentru fiecare schema Ri din R exista un tuplu tjs astfel ca tj(Ri ) t0(Ri). Astfel RiSj deci S R.

Presupunem ca R S. Fie r(R) o relatie arbitrara si t un tuplu arbitrar din mS(r). Īn r exista tuplurile t1,t2,.,tq astfel ca ti(Si) t(Si), 1iq. Deoarece R S atunci pentru orice Rj din R exista Si, SiRj, prin urmare ti(Rj) t(Rj). Fie tuplurile tj'r, tj'(Rj) t(Rj ) din care rezulta ca t este din mR(r) si prin urmare mR(r)mS(r).

Exercitiu. Fie R si S . Daca R S se observa ca TR(r) TS(r). Fie relatia r(R) din figura 1 si tablourile TR(r) si TS(r).

r(A1 A2 A3 A4 ) TR(A1 A2 A3 A4 ) TS (A1 A2 A3 A4 )

2 5 7 9  2 5 7 9  2 5 7 9

3 4 8 10  2 5 8 10  3 5 8 10

4 6 8 11  2 5 8 11  3 5 8 11

  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 8.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. TRTS,

3. FIX(R)=FIX(S),

4. R~ S.

Prin conditia (1) īntelegem 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 TRTS, dar evident ca TRTS. Cum se observa din exemplul urmator chiar daca se vor redefini variabilele secundare.

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 8.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 8.8. Fie T un tablou. īn 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 8.6. Īn tabloul TR w1 absoarbe w2 deoarece w1(A1) a1 w2(A1) a1 w1(A4) a4 w2(A4) a4 atunci :

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 8.3. Fie multimile de scheme de relatie R si S unde R R1,R2,.,Rp S1,S2,.,Sq. Atunci:

1) TRTS SUB(TR) SUB(TS) exceptānd variabilele secundare.

2) SUB(TR)TR.

Pentru demonstratie vezi Maier/ /.

8.5. C-Transformari

Teorema 8.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 īn care nici o variabila secundara nu se īntālneste mai mult decāt o data se obtine dintr-o multime oarecare de scheme. Teorema 8.3 nu este adevarata pentru tablourile unde variabilele secundare sunt duplicate.

Dorim sa formulam conditii de echivalenta pentru tablouri arbitrare introducānd c-transformarea pentru tablouri. C-transformarea este asemanatoare evaluarii (estimarii), care īn locul transformarii variabilelor tabloului īn elemente ale domeniului ele se transforma īn variabile ale altui tablou. Prin urmare liniile se transforma īn linii.

Definitia 8.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 īn T' daca ea satisface urmatoarele conditii :

1) daca variabila v se afla īn linia A a tabloului T atunci y(v) se afla īn linia A a tabloului T' ;

2) daca v este o variabila principala atunci y(v) este variabila principala ;

y(v) T'. Adica, daca y este extinsa la liniile lui T si deci la īntregul tablou T atunci prin aceasta transformare o linie din T se transforma īntr-o linie din T'.

Exemplul 8.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)

  y 1 i

  y y

  y y y  

Figura 1  Figura 2  Figura 3

Primele doua linii din T sunt aplicate īn primele doua linii din T' de y, c-transformarea y aplica a treia linie dinT īn a doua linie din T'.

Teorema 8.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') r, atunci r y este o evaluare pentru T, r y(T) r. Incluziunea rezulta din y(T) T' prin aplicarea lui r. Daca wd este o linie formata din variabile principale si y( wd) wd r y(wd)) r (wd) deci T'(r) T(r).

Necesitatea. Presupunem ca T T'. Considerānd tabloul T' ca relatie obtinem T(T')T'(T') Luānd evaluarea r' care este transformarea identica a variabilelor V' din T'. Evident r'(T') T'T' si r'(wd) wdT'(T'). Exista o evaluare r pentru T astfel ca r (T) T', r (wd) wd. Atunci definim c-aplicatia din T la T' prin r

Corolar 8.2. Fie T si T' doua tablouri de schema R. T T' exista o c-transformare de la T la T' si o c-transformare de la T' la T.

Exemplul 8.8 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 T'. C-transformarea din T la T' aplica wd īn wd. C-transformarea din T' īn T aplica toate liniile īn wd.

8.6. Echivalenta schemelor determinata de restrictii

Īn acest paragraf se determina care sunt proprietatile unei relatii care sa fie corect reprezentata prin proiectiile sale. Din corolarul 8.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. Īn 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 8.10. Fie P o multime de relatii de schema R. Daca T1 si T2 sunt tablouri de schema R atunci T1 cuprinde peT2 īn raport cu P ( notat T1P T2 ) daca

T1(r) T2 (r), r P.

T1 PT2 ( sunt echivalente pe P ) daca T1 PT2 si T2 PT1.

Īn majoritatea cazurilor se considera P SAT(C) pentru o multime de restrictii C data. Notam pe scurt pe prin . Ne intereseaza cānd SAT(C) FIX(R) pentru o schema a bazei de date R. Adica pentru o schema a bazei de date R putem sa descompunem fara pierdere pe R orice relatie din SAT (C). Īn termenii restrictiilor aceasta se poate reduce la verificarea corectitudinii relatiei C *[R]. Daca TI este un tablou pentru transformarea identica (TI contine linia formata din variabile principale), atunci dorim sa stim daca TR se comporta ca TI pe SAT(C) adica TR TI ? Teorema 8.3 da un test pentru dar ne trebuie un test pentru . Pentru lema urmatoare va trebui sa privim un tablou ca o relatie care este din multimea P. Prin aceasta se īntelege ca pentru orice evaluare r, r(T) P Pentru o multime arbitrara de relatii aceste conditii sunt mai greu de verificat. Totusi cāānd P=SAT(C) unde C consta īntr-o multime de F- sau J-dependente daca pentru o evaluare bijectiva r r (T) P, atunci pentru orice alta evaluare r r'(T) P.

Lema 8.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) T1 P T1' si T2 P 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 T1 PT1'si T2 P T2' deci T1PT2. Vom arata ca, daca T1P T2 atunci T1' T2'. Considerānd T1' simultan ca relatie si tablou atunci T1'(T1') este din P si T1'(T1') T2'(T2'). Fie wd o linie a tuturor variabilelor principale si r o evaluare identica a lui T1'. Evident r (T1') T1' astfel r (wd) wd este īn T1'(T1') prin urmare si īn T2(T1'). Exista o evaluare h pentru T2' astfel ca h( T2') T2' si h(wd) wd. Evaluarea h poate fi considerata ca o c-transformare din T2' īn T1' si prin urmare rezulta T1 * T2'.

Corolar 8.3. Īn ipotezele lemei 8.1. rezulta ca T1 P T2 daca si numai daca

T1' T2'.

Acest corolar poate fi interpretat ca un test de verificare a relatiei T1 T2, daca printr-un procedeu am afla tabloul T', astfel ca T' CT si T' ca relatie este īn SAT(C). Vom introduce reguli de transformare pentru tablouri. O regula de transformare determinata de o multime de restrictii C este un procedeu de modificare a tabloului T īn tabloul T' astfel ca T CT'. Prima transformare particulara a fost c-transformarea prin absortie. Pentru un tablou T cu variabile secundare ne duplicate eliminarea liniilor absorbite conserva echivalenta. Va trebui sa gasim multimea regulilor de transformare ( F-reguli si J-reguli) pentru o multime data C de F-dependente si J-dependente. Aplicarea repetata a acestor reguli de transformare are ca rezultat obtinerea unui tablou care satisface toate dependentele din C. Īn continuare vom considera o multime C de F- si J-dependente pentru o multime U de atribute care constituie schema pentru toate restrictiile si tablourile considerate. Oricarei F-dependente XA din C īi este asociata o F-regula. F-regula determinata de X A reprezinta o clasa de transformari care poate fi aplicata unui tablou care nu depinde de liniile alese.

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 v2. A aplica o F-regula determinata de F-dependenta X A la tabloul T, īnseamna a identifica variabilele v1 si v2 si a īnlocui una din ele prin alta īn urmatorul mod :

- daca una din v1 si v2 este principala, sa zicem v1 instanta lui v2 este īnlocuita cu v1.

- daca v1 si v2 nu sunt principale atunci orice instanta cu indice mai mare este īnlocuita cu instanta variabilei cu indice mai mic.

Deoarece tabloul este o multime de linii, cāteva din ele prin redefinire vor fi identice si vor fi eliminate.

Exemplul 8.9 Fie tabloul T din figura 1 si C . Aplicānd F-regula determinata de A2A4 A3 la liniile 1 si 2 permitem īnlocuirea 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

Aplicānd 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 īnseamna formarea tabloului T' T

Exemplul 8.10. Fie T tabloul reprezentat īn figura 4 si C . Aplicānd 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 īn 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 SAT(*[S]). Fie t' T'(r) si r o evaluare cu r (wd) t' si r(T') r. Deoarece T T' avem r(T) r(T') de asemenea r(T') r si r(wd) t' T(r). Prin urmare T'(r) T(r). Acum fie t un tuplu oarecare din T(r) si r o evaluare cu r(wd) t si r(T) r. Tuplul unic care ar putea apartine lui r(T') dar nu lui r(T) este r(w) unde w este generata de J-regula determinata de *[S] din liniile w1,w2,.,wq care apartin lui T. Daca w1,w2, .,wq sunt unibile pe S atunci r(w1), r(w2),.,r(wq) unite pe *[S] dau rezultatul w. Īntrucāt r intra īn SAT(*[S]) si r(w1), r(w2),., r(wq) r(T) r atunci r(w) r. Prin urmare r(T') r si r(wd) t T(r), deci T(r) T'(r) si deci T(r) T'(r).

8.7. Algoritmul chase

Īn 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 T* si T* ca relatie sa apartina lui SAT(C). Pentru un tablou T si o multime de dependente C se aplica regulile determinate de F- si J-dependentele din C atāta timp cāt se realizeaza schimbari. Ordinea de aplicare este neesentiala. Conform teoremelor F si J la terminarea algoritmului se genereaza un tablou T* T si T* SAT(C).

Fie tabloul T din figura 1 si C . Aplicānd F-regula determinata de B C se obtine T1 din figura 2. Aplicānd J-regula *[ABC, BCD] se obtine T2 din figura 3. Aplicānd F-regula determinata de AD C se obtine T3 din figura 4.

T ( A B C D) ( A B C D ) ( A B C D ) (A B C D ) T*( A B C D )

b4

 

 

Figura 1 Figura 2 Figura 3 Figura 4 Figura 5

Aplicarea J-regulii determinatā de *[ABC, BCD] lui T3 permite obtinerea lui T* si orice alta regula īl lasa invariant. Astfel T* este ca relatie īn SAT(C).

Definitia 8.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 Ti. Ultimul element Tn din secventa generata, care prin aplicarea oricarei F- sau J- reguli determinata de C nu-l mai schimba se numeste chase-ul lui T īn raport cu C. Operatorul corespunzator īl notam cu (T).

Algoritmul realizat mai jos doua proceduri TR si DIF. Procedura TR transforma tabloul Tj+i īn Tj+i+1 pe baza regulei determinata de dependenta Ci. Functia DIF determina daca exista o diferenta īntre 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 nn+1

  .2 TnT*

  .3 d =0

5.1.3 CONTINUE

5.3 CONTINUE

6 OUPUT

7 STOP

Exemplul 8.11. Fie T si C din exemplul 1. T, T1, T2, T3 si T* este o secventa generata din T de C si T* ChaseC(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 īi corespunde īn T' aceeasi linie sau are īn 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 īn T īi corespunde īn T' o linie w' care este de fapt w īn care s-a īnlocuit 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 este o linie din relatia " corespunde " poate fi prelungita tranzitiv.

Spunem ca linia din corespunde liniei daca exista unde si corespunde lui , corespunde , si corespunde lui . Pentru orice linie w dintr-un tablou al secventei generate din T īn orice tablou care īi urmeaza exista o linie care īi corespunde.

Teorema 8.5. Fie tabloul T si retrictiile C. Orice secventa generata din T determinata de C este finita, adica (T)

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 īn secventa generata din T determinata de C. Este suficient sa aratam ca nici un tablou nu apare de doua ori. Fie si doua tablouri dintr-o secventa generata de din T deterninata de C, i<j. Daca la fiecare pas o F-regula a fost utilizata atunci contine cāteva variabile care īn lipsesc, deci . Daca īn secventa se aplica numai J-reguli atunci contine cel putin o linie īn plus fata de , deci

Teorema 8.6. Orice tablou T* din (T), considerat ca relatie este īn SAT(C).

Demonstratie. Daca T* nu ar satisface F-dependenta XA din C atunci ar exista doua linii si īn T* astfel ca (X) (X) si (A)(A). Atunci putem aplica F-regula determinata de XA liniilor si care se schimba īn T* ceea ce arata ca T* nu este ultimul tablou īn secventa generata din T determinata de C. Similar daca T' violeaza o J-dependenta din C atunci aplicānd J-regula determinata de F-dependenta respectiva se obtine un nou tablou cu o linie īn plus.

Corolar 8.4. (T) T considerat ca relatie apartine lui SAT(C).

8. 8. Proprietatea Church-Rosser

Calculul chase-ului este un exemplu de sistem de implicatii. Un sistem de implicatii este o pereche ( Q,), unde Q este o multime de obiecte si este o relatie binara antireflexiva pe Q, numita relatie de transformare. Īn cazul nostru calculul chase-ului este un nou sistem de implicatii n raport cu orice multime de restrictii. Multimea Q este formata din tablouri pe U si TT' daca T' se obtine din T prin aplicarea unei F- sau J-reguli determinata de o dependenta din C.

Definitia 8.12. Īnchiderea tranzitiva si reflexiva a relatiei se noteaza . Vom citi T T' prin " T trece īn T' " sau " T' este obtinut din T ".

Definitia 8.13. Fie sistemul de implicatii ( Q,), obiectul pQ se numeste ireductibil ( terminal ) daca p q implica p q, adica nu exista pq pentru ca sa avem pq.

Definitia 8.14. Sistemul de implicatii ( Q,) este finit daca pentru orice pQ exista o constanta c, care depinde de p astfel daca p q īn i pasi atunci ic. Adica pentru orice obiect pQ exista numai un numar finit de transformari ale lui īntr-un obiect ireductibil (terminal ).

Utilizānd teorema 8.5 din paragraful precedent rezulta ca sistemul de implicatii pentru calculul chase-ului este finit. Prin (T) am notat toate tablourile terminale obtinute din T prin utilizarea F- sau J-regulilor determinate de dependentele din C.

Definitia 8.15. Un sistem de implicatii ( Q, ) este FCR ( Finit Church-Rosser ) daca pentru orice pQ si daca p si p si si sunt ireductibile atunci Adica īncepānd cu orice p ajung la unul si acelasi obiect ireductibil independent de procedeul de aplicare a transformarii.

Teorema 8.7. ( Sethi ) : Sistemul de implicatii ( Q,) este FCR daca si numai daca pentru orice pQ, p si p exista qQ astfel ca q si q2 q.

Pentru demonstratie vezi Sethy / /.

Daca T0,T1,.,Ti,.,Tj este o secventa generata din T determinata de C si este o linie din , relatia " corespunde " poate fi prelungita tranzitiv.

Spunem ca linia din corespunde liniei daca exista unde si corespunde lui corespunde , si corespunde lui . Pentru orice linie w dintr-un tablou al secventei generate din T īn orice tablou care īi urmeaza exista o linie care īi corespunde.

Teorema 8.8. Calculul chase-ului determinat de o multime de restrictii C este un sistem de implicatii FCR. Prin urmare este un singleton.

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 si prin aplicarea unor reguli de transformare determinate de dependentele din C atunci exista un tablou T* care poate fi obtinut din T1 sau T2 prin aplicarea a uneia sau mai multor reguli de transformare determinate de C.

Pentru aceasta vom examina trei cazuri.

T  T T

F-regula F-regula F-regula J-regula J-regula J-regula

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 īn T si u1 si u2 linii īn 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 īn T atunci aceeasi regula este aplicabila la multimea de linii corespunzatoare lui T'.

Cazul 1: Fie T1 dedus din T prin aplicarea regulii XA cu variabilele v1 si v2, si T2 dedus din T prin aplicarea regulii YB cu variabilele v3 si v4. Daca AB se utilizeaza regula dedusa din XA pentru a identifica variabilele v1 si v2. Rezultatul este T*. Analog plecānd

de la T1 prin aplicarea lui YB se identifica v3 si v4. Daca A B se aplica succesiv regulile XA si YB cel mult de doua ori si se obtine T*.

Celelalte cazuri sunt simple exercitii.

Corolar 8.5. Daca SAT(C) SAT(C') atunci (T) (T) pentru orice tablou T.

Demonstratie: Vom da demonstratia īn cazul cānd C' C pentru orice c cu proprietatea Cc. Fie T* (T). Aplicarea acelorasi reguli determinate de C la tabloul T conduce la obtinerea lui T*, deoarece C'C. Din teorema 8.6 rezulta ca nu putem aplica o regula din C' la T*, deoarece T* ca relatie este īn SAT(C) si prin urmare īn SAT(C'). Deci (T) T*.

8.9. Echivalenta tablourilor determinata de restrictii

Vom testa echivalenta tablourilor determinata de o multime de restrictii, care constituie un test pentru cazul cānd transformarea mR este fara pierderi de informatii pe SAT(C). Din observatiile de la īnceputul acestui paragraf se stie ca T(T). Din lema 1 rezulta urmatoarea teorema :

Teorema 8.9. Fie tablourile T1 si T2 si C o multime de restrictii.

  T2CT1 daca si numai daca ChaseC(T2) ChaseC(T1).

Corolar 8.6. T1T2ChaseC(T1)ChaseC(T2)

Vom da un procedeu de a verifica cānd 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*[R] sau ca este aplicatia identica pe SAT(*[C]). Īn termenii echivalentei tablourilor TR CTI unde TI este tabloul compus din wd linia variabilelor principale. TI este aplicatia identica a tuturor relatiilor.

Dintr-o teorema 8.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.



8.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 8.2. Fie T un tablou si C o multime de restrictii. Fie ρ o evaluare a tabloului T astfel ca ρ(T) r unde r SAT(C). Daca este o secventa generata pentru (T), atunci pentru 0in :

ρ (wi) si wi absoarbe unde w0 este o linie oarecare īn si wi este

linia care-i corespunde īn ;

r;

, in.

Demonstratie. Pentru a demonstra (1) si (2 ) este suficient sa aratam ca, daca este o linie din si este linia care-i corespunde īn atunci ρ ( ) si absoarbe . Daca w este o linie īn care nu corespunde la nici o linie īn , atunci ρ(w) r. Daca este obtinut prin aplicarea unei F-reguli care nu schimba variabilele īn , atunci , si deci ρ( absoarbe . Īn caz contrar, deoarece trece īn , pentru un atribut A (A) se schimba din īn . Schimbarea se face prin aplicarea F-regulii determinata de F-dependenta XA atunci pentru liniile si īn īn care (X) (X) si (A) si (A) si ρ( unde si sunt tupluri din r. Va trebui sa avem (X) (X) deoarece r este īn SAT(C) si (A) (A). Deci ρ( (A)) (A) (A) (A)) ). Prin urmare ρ( ). Daca w este o linie īn care nu corespunde nici unei linii din atunci w este rezultatul unei uniri si deci apartine lui SAT(C).

Fie dependenta netriviala XA si dorim sa testam cānd CXA. Construim tabloul care este format din doua linii si . Linia este formata numai din variabile principale si are variabile principale numai īn coloanele care apartin lui X. Adica , R

Teorema 8.10. C X A daca si numai daca (TX) contine īn coloana lui A numai variabile principale.

Demonstratie. Fie T ). Presupunem ca T* are variabile secundare īn coloana A. T* este considerat ca relatie este contraexemplu pentru CXA. Din teorema 8.6 rezulta ca T* satisface C. Prin urmare orice linie a lui T* are toate simbolurile principale īn coloanele lui X, deoarece calculul chase-ului nu creaza noi simboluri. Din lema 8.2 rezulta ca linia ramāne neschimbata. Prin urmare T* are doua linii compatibile pe X si necompatibile pe A, deci T* contrazice XA. Presupunem ca T* are numai variabile principale īn coloana X si r o relatie arbitrara din SAT(C). Fie si cu (X) (X), r. Consideram ρ o evaluare a lui astfel ca ρ( si ρ( . O astfel de evaluare exista deoarece (X) (X). Iar este linia din T* este linia care corespunde lui din . Fie * linia din * care corespunde lui din . Din lema 8.2 ρ( ) si T* are aceleasi variabile īn coloana A, (A) *(A).

(A) (A)) (A)) (X)) (A)

Astfel doua tupluri din r compatibile pe X sunt comparibile pe A. Prin urmare deoarece r a fost arbitrar aleasa rezulta SAT(C)SAT(XA) sau CXA.

Pe aceasta teorema se bazeaza urmatorul algoritm :

0 PROCEDURE TID ( X, A, C, n ;w) /*-Testarea implicatiei CXA */

1 Call generare(X,n;TX)

2 CALL Chase( C, ; T, p) /p-reprezinta nr de linii ale chase-ului/

3 d 0

4 i

5 WHILE d

5.1 IF T( i, A ) aA

THEN

.1 d

ELSE

.2 IF ip

THEN

.2.1 i i + 1

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.1 ( 1, i )

2.2 IF X

THEN

.1 ( 2, i )

ELSE

.2 k k + 1

. ( 2, i )

2 Return

Exemplul 8.12. Fie C si dorim sa aratam ca CBCD. Īn acest caz . Exista īn coloana D astfel ca BCD nu este implicata de C. Daca C' atunci ) este T*.

 

T* ( A B C D )

T* are numai īn coloana D, deci CBCD.

Pāna acum am definit īnchiderea lui X numai īn raport cu o multime de F-dependente. Vom extinde definitia pentru a cuprinde si J-dependente.

Definitia 8.16. Fie C o multime de F-dependente si J-dependente si X o multime de atribute. Se numeste īnchidere a lui X determinata de C, notata , cea mai mare multime Y cu proprietatea CX Y.

Observatie. Daca C este formata numai din F-dependente, aceasta definitie se reduce la vechea definitie.

Corolarul 8.7. Pentru o multime data C, este formata din toate atributele A pentru care ) are numai variabile principale.

Corolarul 8.8. Daca J este o multime de J-dependente, atunci JX Y implica XY. Adica o multime de J-dependente implica numai F-dependente triviale.

Demonstratie. Deoarece ) are o variabila secundara īn orice coloana corespunzatoare lui U, X , deoarece J regula nu identifica simboluri. Deoarece dependentele multivoce sunt cazuri speciale de J-dependente vom putea testa CX Y prin testarea lui C*[ XY, XZ], unde Z U-XY.

Teorema urmatoare arata o cale alternativa care utilizeaza Chase pentru a gasi īntreaga multime Y astfel ca CX --»Y, pentru un X dat.

Teorema 8.11. Fie C o multime de restrictii si fie Y o multime disjunctiva de multimea determinata de C. CX Y daca si numai daca contine o linie cu variabile principale numai īn coloana Y

Demonstratie. Necesitatea. Fie ). Fie si liniile corespunzatoare lui si din . Fie schema bazei de date R unde Z U-Y. Vom arata ca ) trebuie sa contina . Prin urmare C[XY,XZ]. Fie si liniile īn pentru schemele XY si XZ si fie si liniile īn . Se considera aplicatia δ de la variabile din la variabile din data de δ( . Daca este considerat ca relatie atunci δ poate fi privita ca o evaluare si deoarece (X) (X) rezulta (X) (X). Prin urmare T* considerat ca relatie este īn SAT(C), din lema 8.1 δ( (X), δ( ) si δ( ). Deoarece ). Se vede ca aplica variabilele principale din coloanele lui īn ale lui * si variabilele principale din coloanele lui īn ale lui *. Vom arata ca linia a lui are variabile principale īn coloanele Y ) este linia din *. Deoarece contine variabile principale īn coloanele ) contine variabile principale īn coloanele lui . Deoarece absoarbe contine p-variabile īn coloanele din Y. Se stie ca δ( , δ aplica p-variabilele din Y īn coloanele Y ale lui *. Linia contine variabile principale īn coloanele Y, astfel δ() este variabila principala īn toate coloanele Y. Deoarece absoarbe este formata din variabile principale īn toate coloanele lui Z. Este cunoscut ca δ( , de aceea δ trebuie sa aplice variabile principale din coloana Z a lui īn variabile principale ale coloanelor lui Z ale lui *. Linia este neprincipala īn coloanele Z. U=YZ, astfel δ () este d-principala īn coloanele Z. Prin urmare contine , astfel CX Y.

Implicatia inversa. Presupunem CX Y. Fie C'= C *[ XY, XZ], unde Z=U-Y. Din corolarul 8.6 rezulta ca ) deoarece SAT(C) =SAT(C').

0 PROCEDURE ĪNCHIDERE ( X, C,n ; , k )

1 CALL generare(X,n;TX )

2 CALL ; T*, m )

3 k 0

4

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 2

  ELSE

  5.3.1.2 i i + 1

5.3.2 CONTINUE

5.4 IF d = 1

THEN

5.4.1 k k + 1

5.4.2

5.5 CONTINUE

6 RETURN

Teorema 8.11 sta la baza urmatorului algoritm de verificare a implicatiei CX--»Y.

0 START [ TIDM - Testerea Implicatiei MV-dependentei ]

1 INPUT

2 CALL generare ( X,n ; ) //genereaza

3 CALL Chase(C, ; T*, m )

4 CALL INCHIDERE ( X, C ; , k )

5 i

6 d

7 WHILE in & d=2

7.1 j 1 w

7.2 WHILE w=0 & jn

7.2.1 IF Y

  THEN

  .1 IF

  THEN

  .1.1 w

ELSE

  .1.2 j j+1

  .2 CONTINUE

7.2.2 CONTINUE

7.3 IF w = 0

THEN

7.3.1 d

ELSE

7.3.2 i i 1

7.4 CONTINUE

8 CASE d OF

8.1 OUTPUT

8.2 OUTPUT

9 STOP

8.11. Tabloul ca patern al unei relatii

Īn acest paragraf se formalizeaza ideea tabloului ca patern (sablon) al unor relatii.

Definitia 8.17. Fie P o multime de relatii si r o relatie oarecare. Relatia s din P se numeste completare a lui r īn P daca rs si nu exista nici o relatie s' P astfel ca rs's. Multimea tuturor completarilor se noteaza cu (r). Scrierea prescurtata a lui (r) este COMP(r). Completarea nu exista īntotdeauna.

Exemplul 8.13 Fie relatia r din figura 1). Daca C = atunci (r)=. Daca C = [ AB, BCD ] atunci (r)= s din figura 2.

r ( A B C D ) s ( A B C D ) Q ( A B C D )

4 5 7  2 4 5 7 2 4 5 7

4 5 7  3 4 5 7 3 4 5 7

2 4 6 8 2 4 6 8 2 4 6 8

  3 4 6 8 3 4 6 8

Figura 1 Figura 2 Figura 3

Daca o completare exista ea nu este unica.

Exemplu 8.14 Fie relatia din figura 1 si P = SAT([AB, BC]). Completarea (r) contine relatia s din figura 2 si relatia q din figura 3.

O multime P de relatii se numeste īnchisa īn raport cu intersectia daca pentru orice pereche de relatii r si s din P r s este īn P.

Lema 8.3. P este īnchisa īn raport cu intersectia daca si numai daca completarea īn raport cu P este unica.

Demonstratie. Presupunem ca P este īnchisa fata de intersectie. Fie s si s' completari ale lui r īn raport cu P. Din īnchidere rezulta s' s P si s' s r, astfel ca s= s' s = s'. Fie r si s din P si q= r s. Exista o submultime r' a lui r ( care poate fi r īnsasi) astfel ca r' este o completare a lui q īn raport cu P. Analog exista s' īn P care este o completare a lui q. Din ipoteza de unicitate rezulta s'= r', de unde s'= q'= r', deci q apartine lui P.

Corolar 8.9. Daca C este o multime de F- si J- dependente atunci (r) este unica.

Vom defini multimea relatiilor care reprezinta un tablou.

Definitia 8.18. Fie T un tablou si P o multime de relatii. Multimea care reprezinta T īn raport cu P este notata REPC (T) este :

.

Notam cu REPC (T)= REP SAT( C ) (T).

Lema 8.4. Fie P o multime de relatii īnchisa īn raport cu intersectia si T1 si T2 doua tablouri. Daca T2 T1 atunci orice r REPP (T1) exista s REPP(T2) astfel ca sr.

Demonstratie:Vezi Maier pagina 189.

Teorema 8.12. Fie C o multime de restrictii si T un tablou. Daca T*=(T) atunci REPP (T)= REPP (T*).

Demonstratie. Presupunem r REP(T). Fie ρ o evaluare astfel ca r = COMPC(ρ(T)). Evident ca ρ(T) r. Deoarece r SAT(C) din lema 8.4 rezulta ρ(T) (T*) si ρ(T*) r de unde rezulta COMP(T*))=r deci REP(T) REP(T*). Acum presupunem ca r REP(T*). Fie evaluarea ρ astfe ca COMP(ρ(T*))=r. Deoarece T* ca relatie apartine lui SAT(C) ρ(T*) SAT(C), avem r=ρ(T*). Tabloul T poate avea mai multe variabile decāt 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 8.4 rezulta

(T) (T2) (T n).

Deoarece SAT(C) satisface proprietatea de intersectie

COMPC(ρ(Ti))  COMPC (ρ (Ti+1))

In ρ(Ti+1) trebuie sa existe ρ(w) care nu intra īn COMPP(ρ(Ti)) īn caz contrar ρ(Ti+1) COMPC(ρ(T)) si ambele incluziuni sunt adevarate. Prin urmare w Ti+1 si w Ti.

Corolar 8.8. 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)

1 2 3 5 2 1 2 3 5 2

1 4 3 7 2 1 4 3 7 2

1 4 3 7 6 1 4 3 7 6

1 2 3 7 6 1 2 3 5 6

1 2 3 7 2

Figura 1  Figura 2

Sa se calculeze m(r) si m(s).

2. Fie schema bazei de date R= . Aratati ca pentru orice r( R ).

mR(r) FIX( 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=

.




Document Info


Accesari: 1353
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )