Documente Academic
Documente Profesional
Documente Cultură
Capitolul
PROFESOR
Petrescu
Petrescu
Petrescu
Vasilache
DISCIPLIN,
Baze de date
Baze de date
Baze de date
Progr.logic
ZI
Luni
Mierc.
Mierc.
Luni
OR,
8:00
14:30
16:00
9:30
GRUP,
C941
C941
C941
C941
SAL,
402
216
216
404
Unica posibilitate de a determina dependen ele func ionale const ntr-o analiz cu
luare-aminte a semanticii atributelor. n acest sens dependen ele sunt de fapt aser iuni
despre lumea real . Ele nu pot fi demonstrate. Dar ele pot i trebuie s fie sus inute de
SGBD-uri. Majoritatea sistemelor sus in numai dependen ele func ionale determinate de
cheile rela iei. Dar sunt i sisteme ce sus in dependen e func ionale arbitrare.
Trebuie men ionat c declararea dependen elor func ionale ntr-o baz de date este
o decizie pe care o ia numai proiectantul bazei de date. Odat declarate SGBD-ul va
sus ine aceste constrngeri. n afar de aceasta, dup cum se va vedea n celelalte
sec iuni, gra ie dependen elor, exist o structur mai eficient de p strare a datelor.
Dependen ele func ionale vor servi la proiectarea schemelor bazelor de date cu anumite
propriet i dezirabile.
Defini ia 3.1. Fie rela ia r cu schema R i X,Y R. Vom spune c dependen a
func ional X Y este valid n rela ia r (sau rela ia r satisface dependen a func ional
X Y), dac , pentru orice dou tupluri din r, fie t1 i t2, din condi ia c tuplurile au Xvalori identice, urmeaz c au i Y-valori identice, adic t1[X]=t2[X] t1[Y]=t2[Y].
Dac X Y e valid n r(R), vom spune c X determin func ional Y sau, c Y e
determinat func ional de X. n aceast defini ie ( i mai departe) simbolul " " noteaz
"implic ".
Deci dependen a func ional X Y reprezint o restric ie de integritate aplicat
tuplurilor rela iei r(R), n sensul c oricare dou tupluri din r care prezint o aceea i
valoare pentru X trebuie s prezinte o aceea i valoare pentru Y.
Defini ia 3.1 poate fi interpretat i n felul urm tor: rela ia r(R) satisface
dependen a func ional X Y, dac rela ia Y( X=x(r)) con ine nu mai mult de un tuplu
pentru orice valoare x a atributului X.
Partea stng a dependen ei poart numele de determinant, iar partea dreapt a
dependen ei poart numele de determinat. Astfel n cadrul dependen ei X Y, X este
determinantul, iar Y determinatul.
Exemplul 3.1. Consider m rela iile din fig.3.2. n ele sunt valide urm toarele
dependen e func ionale. n rela ia r1: A B; n rela ia r2: A B, B A; n rela ia r3:
A B.
r1
A
a1
a2
a3
a4
a5
a6
B
b1
b2
b1
b1
b2
b2
r2
A
a1
a2
a1
a3
a2
a4
B
b1
b4
b1
b2
b4
b3
r3
A
a1
a2
a1
a3
a2
a4
B
b1
b4
b1
b2
b4
b4
A
a1
a2
a1
a3
B
b1
b2
b1
b3
C
c1
c1
c1
c2
D
d1
d1
d2
d3
Fig.3.3.
Exemplul 3.2. Consider m rela ia din figura 3.3. Rela ia r(ABCD) satisface
dependen a func ional A B. Conform regulii DF2 n aceast rela ie sunt valide i
dependen ele AB B, AC B, AD B, ABC B, ABD B, ACD B, ABCD B,
AC BC, AD BD, ABC BC, ABD BD, ACD BC, ACD BD, ACD BCD,
ABCD BC, ABCD BD, ABCD BCD.
DF3. Regula aditivit# ii. Dac X Y i X Z, atunci X YZ.
Demonstra ie. Presupunem contrariul: n rela ia r(R) exist dou tupluri t1 i t2,
pentru care t1[X]=t2[X], dar t1[YZ] t2[YZ]. Atunci, sau t1[Y] t2[Y], sau t1[Z] t2[Z], sau
ambele concomitent. Dar aceasta contrazice presupunerea, c rela ia r satisface
dependen ele X Y i X Z.
Exemplul 3.3. Rela ia r(ABCD) reprezentat n fig.3.3 satisface dependen ele
func ionale A B i A C. Conform regulii DF3, rela ia r trebuie s satisfac i
dependen a A BC.
A BC.
A
a1
a2
a3
a4
B
b1
b2
b1
b1
C
c2
c1
c2
c2
D
d1
d2
d1
d3
Fig.3.4.
Exemplul 3.5. Rela ia r(ABCD), reprezentat n fig.3.4, satisface dependen ele
func ionale A B i B C. Conform regulii tranzitivit ii, rela ia r satisface i
dependen a func ional A C.
DF6. Regula pseudotranzitivit# ii. Dac X Y i YW Z, atunci XW Z.
Demonstra ie. Presupunem contrariul: rela ia r(R) satisface dependen ele
func ionale X Y i YW Z, dar nu satisface dependen a func ional XW Z. Adic
exist dou tupluri t1, t2 r pentru care t1[XW]=t2[XW] i t1[Z] t2[Z]. Din egalitatea
t1[XW]=t2[XW] urmeaz t1[X]=t2[X] i t1[W]=t2[W]. Pot avea loc dou cazuri: sau
t1[YW]=t2[YW], sau t1[YW] t2[YW].
(1) Fie t1[YW]=t2[YW]. Atunci din condi ia c t1[Z] t2[Z] reiese c dependen a
func ional YW Z nu e valid n r.
(2) Fie t1[YW] t2[YW]. ntruct t1[W]=t2[W] rezult c t1[Y] t2[Y]. Din ultima
inegalitate i din condi ia t1[X]=t2[X] urmeaz c rela ia r nu satisface
dependen a func ional X Y.
Li ntr-un caz i n altul am ajuns la contradic ie. Deci din X Y i YW Z urmeaz
XW Z.
A adar, dac W,X,Y,Z R, atunci n orice rela ie r cu schema R sunt valide
regulile de inferen din fig.3.5.
Simbol
Denumire
Regul
DF1
DF2
DF3
DF4
DF5
DF6
Reflexivitatea
Incrementarea
Aditivitatea
Proiectivitatea
Tranzitivitatea
Pseudotranzitivitatea
Y
X
X
X
X
X
X X Y
Y, Z W XW YZ
Y, X Z X YZ
YZ X Y
Y, Y Z X Z
Y, YW Z XW Z
A
a1
a1
B
b1
b2
C
c1
c2
D
d1
d1
Fig.3.6.
Exemplul 3.5. S combatem afirma ia c dependen a XY ZW implic
dependen a X Z. Rela ia r(ABCD) din fig.3.6 satisface dependen a func ional
AB CD, dar nu satisface dependen a A C.
Unele reguli de inferen pot fi deduse din altele. Armstrong a ar tat c regulile
DF1, DF2 i DF5 formeaz o mul ime de reguli independente, iar regulile DF3, DF4 i
DF6 pot fi deduse din DF1, DF2 i DF5. Mul imea {DF1, DF2, DF5} de reguli de
inferen este cunoscut sub denumirea de axiome Armstrong.
Teorema 3.1. Regulile DF3, DF4 i DF6 se deduc din regulile DF1, DF2, DF5.
Demonstra ie. S ar t m c regula DF3 se deduce din regulile DF1, DF2, DF5,
adic {X Y, X Z}|-X YZ, aplicnd doar DF1, DF2, DF5. ntr-adev r, aceast
aser iune are loc, fiindc putem construi urm toarea consecutivitate de derivare.
f1:=X Y (dependen dat ),
f2:=X XY (f1|-f2 aplicnd DF2),
f3:=X Z (dependen dat ),
f4:=XY YZ (f3|-f4, aplicnd DF2),
f5:=X YZ ({f2, f4}|-f5, aplicnd DF5).
Fiindc X YZ este ultimul, f5, element n consecutivitate, DF3 se deduce din
DF2 i DF5.
S ne convingem c regula DF4 se deduce din DF1, DF2, DF5, adic X YZ|X Y, aplicnd regulile DF1, DF2, DF5. Aceasta se confirm de urm toarea
consecutivitate de derivare.
f1:=X YZ (dependen dat ),
f2:=YZ Y (dependen trivial , aplicnd DF1),
f3:=X Y ({f1, f2}|-f3, aplicnd DF5).
Deci, regula DF4 se deduce din DF1 i DF5.
n sfr it, s ar t m c {X Y, YW Z}|-XW Z, aplicnd regulile DF1, DF2 i
DF5. Putem construi urm toarea consecutivitate de dependen e func ionale.
f1:=X Y (dependen dat ),
f2:=XW YW (f1|-f2 aplicnd DF2),
f3:=YW Z (dependen dat ),
f4:=XW Z ({f2, f3}|-f4, aplicnd DF5).
Deci, regula DF6 se deduce din regulile DF1, DF2, DF5.
Defini ia 3.5. Fie F o mul ime de dependen e func ionale asupra schemei R i
X,Y R. nchiderea mul imii F, notat cu F+, se define te recursiv:
(1)
F F+;
(2)
(3)
se deriv din Z Y, unde Z X, aplicnd regula increment rii (DF2), adic {Z Y}|{X Y|Z X R i X i Y R}. n F+ avem ase dependen e deduse, aplicnd regula
DF2 asupra F. Deci AB C|-{AB AC, AB BC, AB ABC} i {C B}|-{C BC,
AC B, AC AB}. Regula tranzitivit ii nu genereaz dependen e netriviale. n afar
de aceasta, F+ con ine cele dou dependen e din F. n total F+ const din dou zeci i
apte dependen e.
Din exemplul de mai sus, se observ c num rul de dependen e ce alc tuiesc F+
este destul de mare n raport cu F.
Dac F= , atunci F+ const numai din dependen e triviale. Fiindc orice rela ie
r(R) satisface orice dependen trivial asupra R, dependen ele triviale, binen eles, nu
se consider constrngeri asupra rela iei. ntruct R are 2|R| submul imi, num rul de
dependen e triviale ntr-o rela ie este exponen ial. Nu vom considera de asemenea
dependen ele de forma X
, fiindc ele nu au aplicare practic .
dependen e F. Mul imea RI de reguli este nchis , dac F|-f, utiliznd regulile din RI,
implic F|=f. Mul imea de reguli de inferen
f, utiliznd regulile din RI.
C mul imea de reguli DF1-DF6 este nchis , adic ele au loc n orice rela ie, s-a
demonstrat pentru fiecare regul n parte n sec iunea 3.2. Pentru a ar ta c mul imea de
reguli este complet mai nti introducem no iunea de nchidere a unei mul imi de
atribute.
Defini ia 3.7. Fie F o mul ime de dependen e asupra R i X R. nchiderea
mul imii de atribute X n raport cu mul imea de dependen e F, notat cu X+, se define te
astfel:
(1) X X+ (X e o submul ime a nchiderii);
(2) Dac Z X+ i Z Y F, atunci Y X+;
(3) Nici un alt atribut nu face parte din X+.
Comparare atribute,
dependen e
AB (AB)+
AB AB i AB DE F
D ABDE i D C F
CE ABCDE i CE G F
(1)
(2)
(2)
(2)
(AB)+
AB
ABDE
ABCDE
ABCDEG
Fig.3.7.
X+
a a ... a
a a ... a
R\X+
a a ... a
b b ... b
Fig.3.8.
Teorema 3.2. Mul imea de reguli de inferen DF1-DF6 este complet .
Demonstra ie. Fie F o mul ime de dependen e asupra R. Trebuie s ar t m c ,
dac F|=X Y, atunci F|-X Y (sau, ce e echivalent, dac
F|TX Y).
F|-X Y, atunci
i numai
s
Y.
de
ii,
10
Defini ia 3.8. Consecutivitatea de dependen e func ionale se nume te RAPconsecutivitate de derivare (dup primele litere ale denumirilor B-axiomelor:
Reflexivitate, Acumulare, Proiectivitate) a unei dependen e X Y din mul imea de
dependen e F, dac :
(1) prima dependen n consecutivitate e X X;
(2) ultima dependen n consecutivitate e X Y (ob inut , aplicnd regula B3);
(3) orice dependen din consecutivitate (n afar de prima i ultima) sau este o
dependen din F, sau are forma X Z i e ob inut , aplicnd regula B2
asupra dependen elor precedente.
Exemplul 3.8. Fie F={AB E, AG J, BE I, E G, GI H}. Consecutivitatea
de mai jos este RAP-consecutivitate de derivare a dependen ei AB GH din F.
(B1),
f1:=AB AB
f2:=AB E
(dat ),
f3:=AB ABE
(B2: f1, f2),
f4:=BE I
(dat ),
f5:=AB ABEI
(B2: f3, f4),
f6:=E G
(dat ),
f7:= AB ABEIG
(B2:f5, f6),
f8:=GI H
(dat ),
f9:=AB ABEIGH
(B2: f7, f8),
f10:=AB GH
(B3: f9).
11
Fig.3.9.
Defini ia 3.10. Nodul B al unui DDA-graf H se nume te ini ial, dac n el nu intr
nici o muchie (Nodurile ini iale se adaug n H prin regula R1).
Defini ia 3.11. Fie H un DDA-graf asupra F. Graful H se nume te DDA-graf de
derivare a dependen ei X Y din F, dac :
(1) X este mul imea de noduri ini iale n H;
(2) orice atribut din Y este un nod n H.
Defini ia 3.12. Mul imea de dependen e din F utilizate de regula R2 pentru
construirea DDA-grafului H de derivare a unei dependen e X Y din F se nume te
mul ime utilizabil , notat cu U(H).
Exemplul 3.9. n fig.3.9 sunt prezentate etapele de construire a DDA-grafului de
derivare a dependen ei AB CG din mul imea de dependen e func ionale F={AB CD,
A I, C E, DE GI}.
12
Nodurile ini iale sunt A i B. Mul imea utilizabil U(H)={AB CD, C E, DE GI}.
Graful H ob inut este DDA-graful de derivare a dependen ei AB CG din F, fiindc
mul imea de atribute AB formeaz nodurile ini iale din H, iar CG sunt noduri n H.
13
tranzitivit ii)
implic
Xi-1 W F+. Ad ug m la determinantul i determinatul
ultimei dependen e mul imea Xi-1. Ob inem (conform regulii increment rii) Xi-1 Xi+
+
+
+
1W F . Din X Xi-1 F (ipoteza induc iei) i Xi-1 Xi F urmeaz X Xi F .
n baza acestor dou propriet i vom demonstra
Teorema 3.5. Fie <X0, X1,..., Xn> deriva ia maximal a mul imii X n raport cu
mul imea de dependen e func ionale F. Atunci X Y F+ dac i numai dac Y Xn.
Demonstra ie. Necesitatea. S ar t m c , dac X Y F+, atunci exist o mul ime
Xi n deriva ia maximal <X0,X1,...,Xn> nct Y Xi i, prin urmare, Y Xn. Vom utiliza
induc ia asupra (lungimii deriv rii) num rului de dependen e folosite n derivarea
dependen ei X Y n raport cu F, unde dependen a de derivare sau este n F, sau se
deduce din regula reflexivit ii sau din regula increment rii, aplicate asupra unei
dependen e precedente, sau cu ajutorul regulii tranzitivit ii, aplicate asupra a dou
dependen e precedente. Ultima dependen n derivare, binen eles, e X Y.
Fie c derivarea dependen ei X Y are lungimea 1, adic const din nsu i X Y.
Sunt dou cazuri. Sau X Y se deduce din axioma reflexivit ii, sau X Y F. n
primul caz, Y X i, prin urmare, Y X0. n al doilea caz, dependen a X Y va participa
la formarea elementului al doilea a deriva iei maximale a mul imii X n raport cu F.
Deci Y X1.
Presupunem acum c afirma ia noastr e just pentru o derivare cu lungimea mai
mic dect k i s demonstr m veridicitatea afirma iei noastre pentru derivarea cu
lungimea k. Consider m consecutiv regulile de inferen ce pot fi aplicate la acest pas.
Dac pentru deducerea dependen ei X Y se aplic regula reflexivit ii sau
X Y F, atunci Y se comport ca i pentru deriv ri cu lungimea unu, adic Y se
pomene te corespunz tor n X0 i X1.
Dac X Y urmeaz din regula increment rii asupra unei dependen e precedente
V W, atunci exist S i T, unde T S i VS=X, WT=Y. ntruct V W are o derivare
cu o lungime mai mic dect k, atunci conform ipotezei induc iei exist n deriva ia
maximal o mul ime Vj, unde W Vj. Fiindc V X, atunci conform lemei 3.1 exist n
deriva ia maximal pentru X n raport cu F o mul ime Xi, unde W Xi. Din T S X
urmeaz T X0 i T Xi.
Consider m ultimul caz, cnd dependen a X Y e ob inut , aplicnd regula
tranzitivit ii asupra a dou dependen e precedente X Z i Z Y, deriva iile c rora au
lungimi mai mici dect k.
Urmnd ipoteza induc iei, pentru X Z i Z Y avem corespunz tor Z Xj i
Y Zp. ns Zp este element al deriva iei maximale a mul imii Z n raport cu F. Fiindc
Z Xj, conform lemei 3.1 Zp Xj+m, unde Xj+m este elementul m+1 al deriva iei
maximale a mul imii Xj n raport cu F pe care o vom nota <Xj+0, Xj+1,..., Xj+m,..., Xj+p>.
Este evident c deriva ia maximal a mul imii Xj nu e altceva dect o subconsecutivitate
ce const din ultimele n-j+1 elemente ale deriva iei maximale a mul imii X n raport cu
F. Prin urmare, Y Xi , unde i=j+m.
Suficien a. Fie <X0, X1,..., Xn> e deriva ia maximal a mul imii X n raport cu F.
Conform lemei 3.2 X Xn F+. ntruct Y Xn, atunci aplicnd regula proiectivit ii
asupra dependen ei X Xn ob inem X Y F+. Teorema e demonstrat .
14
Defini ia 3.14. Fie X Y F+ i <X0, X1,..., Xn> deriva ia maximal a mul imii X
n raport cu F. Fie Xi este primul element din consecutivitate ce con ine mul imea Y.
Subconsecutivitatea <X0, X1,..., Xi> se nume te deriva ia dependen ei func ionale X Y
n raport cu F.
Din teorema 3.5 i defini ia 3.14 urmeaz
Consecin a 3.1. X Y F+ atunci
dependen ei X Y n raport cu F.
deriva ia
3.5.4. Algoritmi
Pentru a determina dac F|=X Y, e suficient de verificat dac X Y F+. ns ,
F+ este excesiv de mare n raport cu F. E dezirabil o metod de verificare, dac X Y
apar ine F+, f r a deduce toate dependen ele func ionale din F. Un astfel de algoritm e
prezentat mai jos. Nucleul algoritmului const din procedura de construire a nchiderii
mul imii de atribute X n raport cu F. Dup ce se g se te X+, se verific dac Y X+.
Este evident c ultimul element, Xn, din deriva ia maximal nu este altceva dect
+
X . Iar teorema 3.5 ne sugereaz c X Y urmeaz logic din F, dac Y X+. Deci,
deriva ia maximal serve te drept model teoretic pentru urm torul algoritm de
determinare a lui X+.
Algoritmul CLOSURE caut n F o dependen func ional pentru care
determinantul reprezint o submul ime a lui Xi, iar determinatul nu este inclus n Xi.
Dac se g se te o astfel de dependen func ional , atunci se adaug la Xi atributele care
constituie determinatul dependen ei. Dac nu se g se te, atunci nchiderea c utat , X+
este reprezentat de mul imea de atribute Xi.
Algoritmul CLOSURE (F, X, X+)
Intrare: F- o mul ime de dependen e func ionale asupra schemei R; X o mul ime
de atribute, X R.
Ie ire: X+ - nchiderea mul imii X n raport cu F
begin
i:=0; Xi:=X;
repeat
i:=i+1;
Xi:=Xi-1;
For all V W in F
if V Xi then Xi:=Xi W;
until Xi=Xi-1;
return (X+:=Xi);
end
15
3.6. Acoperiri
n aceast sec iune se consider diverse moduri de reprezentare a mul imilor de
dependen e, cum ar fi mul imile nonredundante, reduse, canonice, minimale i optimale.
16
V W din G se deduce din F. Dac toate dependen ele se deduc, mul imile F i G sunt
echivalente.
Exemplul 3.11. Mul imile F={AB C, AC D, AD B, C B} i G={AD C,
AB D, C B} sunt echivalente, ns F nu este echivalent mul imii G1={AB C,
AC D, AD B, AC B} (a se verifica n calitate de exerci iu).
Aceast defini ie este pus n baza urm torului algoritm de construire a acoperirii
nonredundante. E de men ionat c rezultatul ob inut n urma aplic rii algoritmului
depinde de ordinea consider rii dependen elor func ionale.
Algoritmul NONREDUN (F,G)
Intrare: F o mul ime de dependen e func ionale.
Ie ire: G o acoperire nonredundant a mul imii F.
begin
G:=F;
for all X Y in G
if MEMBERSHIP (G \ {X Y}, X Y) then
G:=G \ {X Y};
return (G);
end
Exemplul 3.13. Fie F = {A B, B A, B C, A C}. n rezultatul aplic rii
algoritmului NONREDUN ob inem acoperirea nonredundant G = {A B, B A,
A C}. Dac mul imea F e prezentat n alt ordine {A B, A C, B A, B C} se
ob ine rezultatul G = {A B, B A, B C}.
17
Defini ia 3.18. Fie F o mul ime de dependen e func ionale asupra schemei R i
X Y F. Atributul A este redundant n dependen a X Y n raport cu F, dac
(1) A X, V=X \ A i F \ {X Y} {V Y} F
sau
(2) A Y, W=Y \ A i F \ {X Y} {X W} F.
Cu alte cuvinte, atributul A este redundant n dependen a X Y, dac el poate fi
eliminat din determinant sau determinat, f r a fi schimbat nchiderea mul imii F.
Procesul de eliminare a atributelor redundante se nume te, corespunz tor, reducere n
stnga i reducere n dreapta a dependen elor.
Exemplul 3.14. Fie F = {AC B, A C, A BD}. Atributul C este redundant n
AC B, fiindc (AC)+ = A+ = ACBD. Adic A B este n F+. Deci dependen a AC B
poate fi nlocuit cu A B n mul imea de dependen e func ionale F. Atributul B este
redundant n partea dreapt a dependen ei A BD.
Defini ia 3.19. Fie F o mul ime de dependen e func ionale asupra schemei R.
Mul imea F se nume te redus n stnga (dreapta), dac orice dependen din F nu are
atribute redundante n partea stng (dreapt ). Mul imea de dependen e redus n stnga
i n dreapta se nume te redus .
Exemplu 3.15. Mul imea F = {AC B, A C, A BD} nu este redus nici n
stnga, nici n dreapta. Mul imea F1={A B, A C, A BD} e redus n stnga i nu e
redus n dreapta, dar F2={AC B, A C, A D} e redus n dreapta i nu n stnga.
Mul imea de dependen e func ionale F3={A B, A C, A D} e redus n stnga i n
dreapta, deci e redus .
Mai jos se aduc algoritmii de reducere a unei mul imi nonredundante.
Algoritmul LEFTRED (F, G)
Intrare: F o mul ime nonredundant de dependen e func ionale.
Ie ire: G o mul ime de dependen e func ionale redus n stnga.
begin
G:=F;
for all X Y in G
for all A in X
if MEMBERSHIP (G, (X \ A) Y) then
G:=G \ {X Y} {(X \ A) Y};
return (G);
end
Algoritmul RIGHTRED (F,G)
Intrare: F o mul ime nonredundant de dependen e func ionale.
Ie ire: G o mul ime de dependen e func ionale redus n dreapta
begin
G:=F;
for all X Y in G
18
for all A in Y
if MEMBESHIP (G \ {X Y} {X (Y \ A)}, X A) then G:= {G \
{X Y} {X (Y \ A)};
return (G);
end
Algoritmul REDUCE (F, G)
Intrare: F o mul ime de dependen e func ionale nonredundant .
Ie ire: G o mul ime redus de dependen e de dependen e func ionale.
begin
LEFTRED (F, F1);
RIGHTRED (F1, G);
eliminarea din G a dependen elor X
;
return (G);
end
A)
19
Urm toarea lem arat corela ia dintre structurile a dou acoperiri nonredundante.
Lema 3.3. Fie F i G dou mul imi de dependen e func ionale nonredundante
echivalente asupra schemei R. Fie X Y o dependen n F. Atunci n G exist o
dependen V W, unde X V n raport cu F ( i n raport cu G).
Demonstra ie. Din faptul c F G urmeaz G|=X Y. Atunci exist deriva ia H a
dependen ei func ionale X Y, n raport cu G. Consider m toate dependen ele utilizate
n construirea deriva iei H, adic mul imea U(H). n acela i timp, orice dependen
V W din U(H) se deduce din F. Fie H1 este deriva ia dependen ei V W n F. Trebuie
s existe n U(H) o dependen V W pentru deducerea c reia se utilizeaz dependen a
X Y, adic X Y U(H1). n caz contrar pentru dependen a X Y va exista o
deriva ie H11 asupra F \ {X Y} i, prin urmare, X Y va fi redundant n F ce
contrazice ipotezei c F este o mul ime nonredundant .
ntruct X Y U(H1), conform consecin ei 3.2, F|=V X. Dar V W U(H) i
atunci G|=X V. Prin urmare, X
V.
Lema de mai sus poate fi parafrazat n felul urm tor. n dou acoperiri
nonredundante F i G pentru orice dependen din F exist o dependen n G ce are
20
partea stng echivalent celei din F. Prin urmare, mul imile nonredundante echivalente
au acela i num r de clase de echivalen .
Exemplul 3.18. Mul imile F={A BC, B A, AD E} i G={A ABC, B A,
BD E} sunt nonredundante i echivalente. S observ m c A A, B B, AD BD i
A B. Deci F={EF(A) = {A BC, B A}, EF(AD) = {AD E}} i
{A ABC, B A}, EG(BD) = {BD E}}.
={EG(A) =
21
Xn Yn
EG(X)
V1 W1
V2 W2
Vm Wm
Fig.3.10.
22
Consecin a 3.4. Dac F i G sunt dou mul imi minimale echivalente, atunci
pentru orice determinant Xj eF(X) exist un singur determinant Vk n eG(X) pentru care
au loc Xj Vk (F\EF(X))+ i Vk Xj (F\EF(X))+.
Remarc#. Existen a coresponden ei biunivoce, indicate n consecin a 3.4, permite
substituirea unor p r i stngi ale mul imii minimale cu p r i stngi ale altei acoperiri
minimale, neafectnd echivalen a mul imilor. Mai mult ca att, mul imea nou de
dependen e func ionale va continua s fie minimal .
n teorema de mai sus se afirm c , dac o mul ime nonredunant G are dou
dependen e X Y i V W pentru care X V i (G \ EG(X))|=X V, atunci G nu este
minimal . Aceste dou dependen e pot fi substituite cu alt dependen V YW. n
rezultat ob inem o mul ime echivalent de dependen e func ionale ce con ine cu o
dependen mai pu in.
Acest proces este pus la baza urm torului algoritm de minimizare a unei mul imi
de dependen e func ionale.
Algoritmul MINIMIZE (f,g)
Intrare: F o mul ime de dependen e func ionale.
Ie ire: G o mul ime minimal de dependen e func ionale.
begin
NONREDUN (F, G);
get
G;
23
ntruct clasa EG(C) con ine o singur dependen , se examineaz numai clasa de
echivalen EG(AB). Nu e greu de verificat c n EG(AB) sunt dou dependen e AC D,
AB C i (G \ EG(AB))|=AC AB. Atunci n clasa de echivalen EG(AB) aceste dou
dependen e se substituie cu AB CD.
Am ob inut mul imea de dependen e G={EG(AB)={AB CD, AD B},
EG(C)={C B}}. n clasa de echivalen a EG(AB) nu se mai g sesc dependen e
determina ii c rora se determin func ional n afara clasei EG(AB). Prin urmare,
mul imea G={AB CD, AD B, C B} este o acoperire minimal a mul imii F.
3.7. Exerci ii
3.1. S se aduc un exemplu de dou atribute ce se g sesc ntr-o dependen
func ional i un exemplu de dou atribute ce nu sunt func ional dependente.
r
A
a1
a1
a2
a2
B
b1
b1
b1
b1
C
c1
c2
c1
c3
D
d1
d2
d3
d4
Fig.3.11.
3.2. S se g seasc dependen ele func ionale valide n rela ia r din fig.3.11.
3.3. Fie r e definit pe mul imea ABC. S se aduc o extensie a rela iei r ce ar
satisface dependen a func ional A B i nu ar satisface dependen a C A.
3.4. S se arate c {WX Y}|-X Y.
24
{X Y, Z W} |- XZ YW;
(b)
{XY Z, Z X} |- Z Y;
(c)
{X Y, Y Z} |- X YZ;
(d)
(e)
{X Y, W Z} |-X Z, unde W Y.
3.6. S se arate c regulile DF1, DF2 i DF6 sunt independente, adic nici una
din ele nu se deduce din celelalte.
3.7. S se arate c pentru orice mul ime de dependen e func ionale F are loc
egalitatea F+ (F+)+.
3.8. Fie F o mul ime de dependen e func ionale asupra schemei R. Care este F+,
dac F= ?
3.9. Fie mul imea F={AB C, C B} definit asupra atributelor ABC. S se
g seasc F+.
3.10. S se demonstreze c sistemul de reguli DF1, DF3, DF4 i DF5 este
complet. Sunt aceste reguli independente?
3.11. Fie F={AB C, B D, CD E, CE GH, G A}.
(a)
(b)
(c)
(d)
G,
25
(b)
se g seasc
A,
26