CATEGORII DOCUMENTE |
In acest capitol sunt tratate criteriile care arata cand o descompunere a unei relatii determinata de o schema a unei baze de date este o reprezentare adecvata. Se introduce echivalenta prin date a schemelor bazelor de date. Aceste criterii sunt date la inceput pentru o multime arbitrara de relatii P, apoi se formuleaza rezultate suplimentare pentru cazul P=SAT(C).
1 Reprezentare adecvata
Vom introduce cateva notatii care vor fi folosite sistematic pe parcursul acestui capitol. Scopul este de a construi o reprezentare adecvata a elementelor multimii de relatii P. relatiile din P vor fi relatii de schema U.
Relatiile din Q le vom numi stari posibile (instantieri) pentru a le deosebi de relatiile care compun baza de date. Schema bazei de date va fi notata cu, R= unde U=R1R2.Rp. Multimea bazelor de date de schema R va fi notata cu D. Se pune problema reprezentarii instantelor din P prin baze de date din D si examinarea restrictiilor impuse schemei bazei de date pentru ca aceste reprezentari sa fie adecvate.
Definitia 1. Se numeste proiectie (transformare de proiectie) definita de schema R, notata pR transformarea care face sa corespunda unei instante rI Q o baza de date dID, adica pR=d, unde d= si pRi ri 1≤i≤p.
Definitia 2. Transformarea care face sa corespunda unei baze
de date dID o instanta din Q si
este notata cu
Descrierea schemei este implicita in structura bazei de date d.
Exemplul 1. Fie
r(A B C)
3 5 1 3 3 5 1 3 5 9 8
1 4 6 1 4 4 6 1 4 5 3 9
2 4 5 2 4 4 5 1 4 6
2 4 6 2 4 5
2 4 6
Figura 1 Figura 2 Figura 3 Figura 4
Daca
se considera in locul relatiei
Definitia3. Fie P Q. Se numeste imagine directa a lui P determinata
de R, notata cu
Pentru usurinta scrierii vom renunta la p. Din definitia transformarii de proiectie
rezulta ca pP pQ D. Ultima incluziune este stricta
deoarece nu orice baza de date este
proiectia unei stari
admisibile oarecare din Q. Baza de date
sa se decida daca o multime de relatii se pot uni complet ?
bazele de date care nu se pot uni complet pot fi semnificative ?
sa se verifice daca o baza de date din pQ trebuie considerata in intregime ? Nu este
suficient sa consideram perechi de relatii in baze de date sau relatii individuale ?
Exemplu 2. Fie relatiile r1, r2 si r3 din figura 5.
r1 (A B) r2 (B C) r3 (A C)
Acestea se pot uni complet daca le luam ca perechi, insa toate trei impreuna nu pot fi unite. In continuare sunt prezentate restrictiile impuse relatiilor care compun baza de date derivata din Q de inlaturare a acestor contradictii.
CWR(P)=, riIpRi(P)}
se numeste imagine pe componente a lui P determinata de R
Adica CWR(P) consta din baze de date de schema R ale caror relatii sunt proiectii de instante din P dar nu in mod necesar ale aceleiasi instante. E clar ca pP CWR(P) care in cele mai multe cazuri este stricta. Pentru reprezentarea lui P trebuie utilizate numai acele baze de date care sunt proiectii de instante pentru care imaginile pe componente sunt proiectii de instante din Q. Multimea acestor baze de date o vom nota cu L. Ea este data de: L= CWR(P)∩pQ. Este clar ca pP L si pP pQ
Relatiile de incluziune intre multimile introduse la momentul actual sunt aratate in figura 6.
pQ
Figura 6 L
Definitia 5. Daca
N D atunci N=
Notiunea de reprezentare adecvata a fost introdusa de Rissanen / /.
Definitia 6. Schema bazei de date R descompune relatiile din P in componente independente daca au loc urmatoarele doua proprietati:
IC1: Daca dIL atunci exista cel mult o instanta rIP cu pr=d.
IC2: Daca dIL atunci exista cel putin o instanta rIP cu pr=d.
Proprietatea IC1 se numeste proprietate de reprezentare unica. Proprietatile IC1 si IC2 impreuna constituie conditia de componente independente. Conditia de componente independente impune ca transformarea p : P L sa fie bijectiva.
Se
poate transcrie IC1 si IC2 ca o singura conditie, dar cum in
continuare IC1 se va folosi in alte determinari ale adecvarii, le-am
formulat separat. Observam ca
IC2 este adevarata daca si
numai daca pP=L. Conditia de componente independente
provoaca greutati cand vrem sa revenim de la baza de date
la instanta caci transformarea inversa a lui p e greu de calculat. Conditiile IC1 si IC2 nu cer ca
Figura 7
Exemplul 3. Fie: U=ABC, R=.
P se compune din asemenea stari admisibile ce satisfac
urmatoarea conditie: pentru orice pereche de tupluri
Unirea unei baze de date din pQ poate sa nu fie o instanta din P.
Urmatoarea notiune de adecvare a fost introdusa de Arora si Carlson / /.
Definitia 7. Schema bazei de date R descrie o descompunere care conserva informatiile din P daca ea are urmatoarele proprietati:
AC1. Pentru dIL exista cel mult o instanta rIP astfel ca p(r)=d;
AC2. Daca instanta rIQ este proiectata in L, adica p(r)IL rezulta atunci ca rIP.
Proprietatea AC2 se numeste restrictie de conservare. AC1 si AC2 constituie o conditie de conservare a informatiei.
Definitia 8. Pentru orice submultime N pQ se numeste preimagine a lui N, notata N , multimea : N
Multimea
care ne intereseaza este
D pQ
Figura 8
Lema 1. AC2 este echivalenta cu proprietatea
Demostratie Presupunem
ca are loc AC2. Pentru orice
Presupunem ca
Observatie.
Corolar 1. AC2 implica IC2, prin urmare AC1 si AC2 implica IC1 si IC2.
Observatie. In sens invers implicatia nu este adevarata.
Din proprietatile AC1 si AC2 rezulta ca, putem reprezenta orice instanta rIP printr-o baza de date dIL si de asemenea rezulta ca d nu este posibil sa reprezinte o alta instanta din Q-P. Conditia de conservare a informatiei specifica faptul ca exista inversa transformarii p
Observatie.
Intotdeauna
Lema 2. Proprietatea LJ implica proprietatea IC1.
Demonstratie. Presupunem ca LJ are loc. Fie instantele
Corolar2. LJ si AC2 implica AC1 si AC2.
Lema 3. Proprietatile AC1 si AC2 implica LJ.
Demonstratie. Presupunem ca sunt indeplinite conditiile de
conservare a informatiei. Fie
Teorema 1. Daca AC2 este adevarata atunci proprietatile AC1 si LJ sunt echivalente.
Adica
in conditiile de conservare a informatiei
Exemplul 4. Fie
Dupa cum am observat chiar in conditiile indeplinirii proprietatilor IC1 sI IC2 transformarea inversa de la baza de date la instante poate sa nu fie usor de calculat. Am vazut ca din proprietatile AC1 sI AC2 rezulta ca aplicatia de unire este inversabila dar pentru aceasta trebuie sa verificam ca p(r) nu apartine lui L pentru rIQ-P. Vom prezenta o conditie intermediara intre conditia de componente independente si conditia de conservare.
Definitia 10. Vom spune ca schema bazei de date R satisface conditia de unire (join) pe P daca au loc urmatoarele proprietati :
J1) Aceeasi ca IC1;
J2) Pentru orice baza de date dIL,
Observatie
: J1 si J2 cer ca
Daca
rIP atunci p(r)IL. Din J2 rezulta mR(r)IP dar p(mR(r))=p(r), iar din J1 mR(r)=r. Vom arata ca
proprietatea LJ are loc pe multimea P.
Conditia de unire atrage dupa sine ca, orice baza de date dIL poate fi reprezentata printr-o instanta
maximala rIP astfel ca
Lema 4. Proprietatea J2 are loc daca si numai daca FIX(R) L P.
Demonstratie Necesitatea.
J2 poate fi scrisa ca
Fie rIFIX(R) L . Deoarece rIL rezulta
ca p(r)IL si rIFIX(R), r=
Suficienta.
Presupunem ca FIX(R) L P si ca
r este o instanta rI
Comparam conditiile de componente independente cu conditiile de conservare a informatiei.
Lema 5. Din proprietatea J2 rezulta IC2
Demonstratie Presupunem J2 adevarata, adica
s'
r' p
Figura 9
P
r
Teorema 2. Din proprietatile AC1 si AC2 rezulta J1 si J2, din care la randul lor
rezulta IC1 si IC2.
Demonstratie. Presupunem
ca AC1 si AC2 sunt indeplinite. Atunci J1 este adevarata.
Pentru a dovedi ca J2 este adevarata vom lua o instanta
arbitrara rI
}i in ambele conditii nu pot sa existe r si r' aratata in figura 9 dar pot sa existe s si s' dar nu pot satisface conditiile AC1 si AC2.
Exemplul 5. Fie
Definitia 11. Schema bazei de date R conserva (pastreaza) P daca are loc proprietatea :
PR. Pentru orice instanta rIP atunci mR(r)IP adica
mR(P) P unde mR(P) =
Lema 6. Proprietatea J2 implica proprietatea PR. Invers nu e adevarat.
Demonstratie. Din
Exemplul 6. Fie U=ABC, R= P=SAT(A B,B A)
Fie P SAT(B A) , atunci
3 5 1 3 5 1 3 5 1 3 5
1 4 3 6 1 4 5 1 3 6 1 3 6
2 4 4 5 2 4 5 2 4 5 1 4 5
4 7 2 4 7 1 4 7
2 4 5
2 4 6
2 4 7
Figura 10 Figura 11 Figura 12
Lema 7. Proprietatile PR si IC2 implica proprietatea J2.
Demonstratie. Fie rI
Corolar 3. Proprietatile IC1, IC2 si PR sunt indeplinite daca si numai daca J1 si J2 sunt indeplinite.
Observatie. Putem inlocui IC1 si PR cu LJ.
Lema 8. Proprietatea LJ implica proprietatea PR.
Demonstratie. Din
Teorema 3. Conditiile LJ si IC2 sunt adevarate daca si numai daca J1 si J2 sunt adevarate.
Demonstratie. Din lema 2 rezulta ca LJ implica IC1. Din lema 8 rezulta ca LJ implica PR. Prin urmare din corolarul teoremei 2 si lema 7 LJ si IC2 implica conditiile de unire. Din teorema 2 rezulta ca J1 si J2 implica IC2. Din J1 si J2 rezulta de asemenea LJ prin urmare din J1 si J2 rezulta LJ si IC2.
Vom studia acum ce fel de proprietati trebuie adaugate la conditiile de unire ca sa obtinem un sistem de conservare a informatiei.
Definitia 12. Schema bazei de date R satisface proprietatea S daca
Teorema 4. Proprietatile J1, J2 si S au loc daca si numai daca AC1, AC2 au loc.
Demonstratie '< '. Din teorema
2 rezulta ca AC1 si AC2 implica J1 si J2. Din lema 1 proprietatea AC2 cere ca
>'. Se arata ca J2 si S implica
AC2. Fie r o instanta din L unde p(r)=d,
pentru dIL. Din J2
rezulta ca
Diferenta intre conditiile de unire si conditiile
de conservare necesita
2 D-echivalenta schemelor bazelor de date
Se spune despre schemele R si S ca sunt echivalente daca TR(r)=TS(r) pentru orice instanta r din P. Schemele R si S sunt echivalente pe P in cazul cand transformarile TR(r) si TS(r) restrictionate la P coincid (adica cand descompunerea determinata de R a starii admisibile rIP are aceleasi pierderi de informatii ca si descompunerea determinata de S). Ne intereseaza doar acele instante care prin descompunere nu pierd informatii.
Definitia 13. Fie R o schema a unei baze de date si
P o multime de instante posibile de schema R. Se numeste multime
de puncte fixe determinata de R in P multimea :
Definitia 14. Schemele bazelor de date R si S sunt
d-echivalente pe P (se noteaza
Pentru verificarea d-echivalentei (echivalenta
determinata de datele din P)
trebuie demonstrate doua incluziuni. Mentionam ca
incluziunea
Lema Echivalenta
Demonstratia este lasata cititorului.
Observatie: Reciproca lemei 8 nu este adevarata.
Exemplul 7 Fie U ABCD, iar R=
r (A B C D) s(A B C D) s'(A B C D) s''(A B C D)
1 3 6 8 2 3 6 7 2 3 6 7 1 3 6 7
2 4 6 8 2 4 6 8 2 4 6 7 2 3 5 7
2 3 6 8 2 3 6 7 2 4 6 8 2 4 6 8
Figura 1 Figura 2
Definitia 15. Fie R o schema de baza de date.
Submultimea
Conditia de conservare a lui P, este
Observatie
:
Teorema 5. Fie R si S doua scheme de baze de date si P o multime de instante. Presupunem ca exista o multime de instante P' care satisface conditia:
atunci
Demonstratie. Necesitatea. Fie r instanta
arbitrara din P'. Deoarece
Suficienta.
Fie r o relatie din
Corolar 4. Urmatoarele trei afirmatii sunt echivalente:
1)
2)
3)
Demonstratia rezulta din teorema 1.
Corolarul 4. Daca R si S sunt scheme de baze de
date si R conserva P, atunci
Demonstratia se obtine direct din echivalenta afirmatiilor 1) si 3) corolarul 1.
Teorema 6. Daca
R si S sunt scheme de baze de date care conserva P, atunci
}tim deja ca atat conditia de unire cat si conditia de conservare a informatiei cer indeplinirea proprietatii PR. De aceea, in cazul determinarii a adecvarii reprezentarii putem alege oricare din aceste conditii.
Verificarea adecvarii reprezentarii si a echivalentei determinata restrictii
Conditiile de unire si de independenta pe
componente sunt echivalente in cazul cand, unirea transforma o baza de date din
L intr-o relatie din Q. Diferentele intre conditiile de
unire si conservare a informatiei constau in verificarea incluziunii P FIX(R) sau a unei conditii mai stricte ca
Am determinat pC anterior, astfel ca L =SAT(pC). Una din greutatile introducerii determinarii formale este aceea ca restrictiile din pC nu se exprima obligatoriu prin aceleasi tipuri de dependente ca si restrictiile din C. Deseori in pC se intalnesc dependente de acelasi tip ca si in C, dar acolo pot apare dependente si de alt tip.
Exemplul 8. Fie U=ABCDE, R=ABCD, P=SAT(A E, B E, CE D).
Multimea F-dependentelor pe care trebuie sa le satisfaca proiectia p(r) pentru un r arbitrar din P este
atunci :
Aceasta dependenta nu este echivalenta cu nici o multime de F-dependente. Observam ca s nu satisface aceasta dependenta.
s (A B C D) s (A B C)
1 3 5
2 4 5 8 1 4 6
1 4 6 8 2 4 5
Figura 1 Figura 2
Exemplul Fie U=ABCD, R=ABC, P=SAT
Proiectiile p(r) pentru un r arbitrar din P satisfac numai MV-dependentele triviale. Relatia s data in figura 2 nu este proiectia nici unei instante din P.
4. Cazul cand P este definita numai de dependente functionale
S-a aratat mai sus ca in determinarea lui pC, si in verificarea incluziunii
Teorema 7. Daca P=SAT(F) pentru o multime F de F-dependente atunci conditiile de componente independente, unire si conservare a informatiilor sunt echivalente.
Demonstratie. Din teorema 2 este suficient sa aratam ca,
daca AC1 sau AC2 nu sunt indeplinite, nu vor fi indeplinite nici IC1 si
nici IC2. Este evident ca neindeplinirea lui AC1 duce la neindeplinirea
lui IC1. Sa presupunem ca AC2 nu este indeplinita, adica
Definitia 16. Fie R schema bazei de date, F o multime
de F-dependente. Vom numi restrictie a lui F la R multimea
tuturor dependentelor din F+, care sunt aplicabile la o schema de
relatie R din R. Vom nota
aceasta multime
Exemplul 10. Fie U=ABCD, R=, F=.
F-dependentele netriviale din
Reamintim
ca F este constransa
(enforceable) la R daca
Lema 10. Fie P=SAT(F), unde F este o multime de F-dependente. Proprietatea J2 este indeplinita daca si numai daca FsFR
In continuare vom descrie un procedura de complexitate
polinomiala care permite sa verifice daca F este constransa la R.
Algoritmul 1 calculeaza
Procedure PCLOSURE (F,R,X;Y)
Y: X
Z=O
WHILE(Y Z) 3.0 Z=Y
3.1 FOR fiecare RIR
Y:=((Y R)+ R) Y
3. return (Y)
Exemplul 11. Fie U=ABCDE, R=, F=.
Atunci PCLOSURE(F,R,A;ABC). Remarcam
ca
Teorema 8. PCLOSURE(F,R,X;
Demonstratie. Fie Y multimea returnata de
procedura. Atunci Y este o submultime a lui
Lema 11. Ordinul de complexitate al procedurii PCLOSURE este O(|U|*|R|*||F||) unde ||F|| este numarul tuturor F-dependentelor din F.
Demonstratie: Ciclul while din pasul 2 nu se poate
realiza mai mult de
Teorema 8. Fie F este o multime de F-dependente si P=SAT(F).
Timpul de verificare a unei conditii de unire este polinomial in raport cu
Demonstratie. Conform celor afirmate anterior, timpul de verificare al proprietatii LJ este polinomial.
Dupa lema 2 proprietatea J2 este adevarata daca
Urmatoarele doua exemple demonstreaza ca proprietatile LJ si J2 sunt independente pe P, daca aceasta este descrisa de o multime dependente functionale.
Exemplul 12. Fie U=ABC, R=, P=SAT().
Proprietatea
LJ este indeplinita pentru aceste date deoarece A C, dar proprietatea J2 nu este
indeplinita deoarece
Exemplul 13. Fie U si P aceleasi ca in exemplul anterior si
5 Cazul cand P este determinata de dependente functionale si multivoce
Anterior s-a aratat cum se verifica conditia
de unire daca P este definit de
o multime de dependente functionale. Acum se va da o procedura
de verificare a acestor conditii in cazul cand
Lema 12. Fie R
o schema de baza de date in FN4 si P=SAT(C), unde C este o multime de F- si MV-dependente. Fie F omultime
de F-dependente care rezulta
din C, iar
Demonstratie. Pe parcursul demonstratiei cu simbolul
Lema 13. Fie R o schema de baza de date in FN4, iar P=SAT(C), unde C este
o multime F-dependente si
MV-dependente. Sa
presupunem ca LJ este indeplinita.
Fie F o multime de F-dependente care rezulta din C, iar MV-dependenta X―Y rezulta
din C si nu rezulta din
Demonstratie. Sa presupunem ca Y este o multime minimala
care satisface ipotezele, adica nici o submultime proprie Y' a multimii
Y nu satisface concomitent conditiile
Noi am obtinut un procedeu de verificare a conditiilor
de unire pentru scheme de baze de date
in FN4 si multimi de instante P, determinate de o multime
de F- si MV-dependente. Mai exact, la inceput, prin folosirea
algoritmului chase se verifica proprietatea LJ, adica
Exemplul 14. Fie U=ABCD, R=,C=.
Multimea
de dependente
Exemplul 15. Fie U=ABCDE, R=,C=.
Multimea dependentelor
6 Verificarea echivalentei determinata de date
Pentru a
verifica R PS unde P=SAT(C),
R si S scheme de baze de date, este necesar sa se determine daca
este indeplinita egalitatea
Lema 14. Fie schemele
de baze de date R si S si C o multime de F-si J-dependente. Sa presupunem ca
Observatie
: Lema 14 este utila deoarece
a1 a2 a3 b1 a5 a1 b1 a3 b2 a5 a1 a2 a3 b1 b2
b3 a2 a3 a4 a5 b3 a2 a3 a4 b4 b3 a2 b4 a4 b5
b5 b6 b7 a4 a5 a1 a2 a3 b6 a5
b3 b6 a3 a4 a5
b5 a2 b7 a4 a5
Figura 1 Figura 2 Figura 3
Exemplul 16. Fie U=ABCDE, S=, R=,
C= si P=SAT(C).
In figurile
1 si 2 sunt date
Stim ca
Definitia 16. Fie T un tablou. Vom spune ca T
descrie F-dependenta
Este evident ca,
multimea de F-dependente este constransa la schema bazei de date
R daca si numai daca
Exemplul 17. Tabloul T dat in figura 3 descrie multimea de F-dependente
Teorema Fie R o schema de baza de date si F o multime neredundanta de F-dependente. Schema R conserva SAT(F), (FIX(R)=SAT(F)) daca si numai daca T*R=chaseF(TR) descrie F.
Pentru demonstatie vezi Maier/ /. Aceasta teorema sta la baza algoritmului de verificare a propietatii de conservare.
START
INPUT R, F
Call TR(R: TR) //procedura genereza
Call ChaseF(TR:T*,m)
d
FOR fiecare X Y din F
5.1 w
5.2 i
5.3 WHILE i m si w=0
5.3.1 IF ti(XY)=variabile principale
THEN
. 1 w
ELSE
. 2 i i+1
5.3.2 Continue
5.4 IF w=0
THEN
5.4.1 d
5.5 Continue
6. CASE d OF
6.2 OUTPUT
6.2 OUTPUT
7. STOP
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1004
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved