Sunteți pe pagina 1din 22

Capitolul 4.

Dependen e multivaloare i dependen e jonc iune

Capitolul 4
DEPENDEN E MULTIVALOARE I DEPENDEN E
JONC IUNE
Modelul rela ional utilizeaz dependen ele pentru exprimarea constrângerilor pe
care datele din baza de date trebuie s le satisfac . Schema bazei de date rela ionale este
definit de o varietate de constrângeri ce sunt impuse componentelor sale. Dependen ele
func ionale sunt un exemplu de astfel de constrângeri de integritate. Ele au fost studiate
detaliat în capitolul 3.
O generalizare a dependen elor func ionale, numite dependen e multivaloare, a
fost descoperit de mai mul i cercet tori în domeniu. Cea mai important proprietate a
dependen ei multivaloare const în faptul c existen a ei într-o rela ie este o condi ie
necesar &i suficient pentru ca rela ia s poat fi înlocuit f r pierderi de informa ii,
independent de extensia curent , cu dou proiec ii ale sale. Aceast proprietate face ca
dependen a multivaloare s joace un rol important în teoria &i practica proiect rii
bazelor de date rela ionale.
O dat ce dependen ele multivaloare au devenit parte a teoriei rela iilor, o cerin
de baz ce trebuie s fie satisf cut este cunoa&terea propriet ilor lor &i, în particular,
metodelor de manipulare. Întrucât dependen ele multivaloare sunt o generalizare a celor
func ionale, metodele aplicate asupra ultimelor pot servi drept ghid în sus inerea acestei
cerin e.
Este bine cunoscut c existen a într-o rela ie a dependen elor func ionale implic
c în ea exist dependen e func ionale adi ionale. Aceasta e valabil &i pentru
dependen ele multivaloare. No iunea de implicare este formalizat în conceptul de
reguli de inferen . Sunt cunoscute mul imi închise &i complete de reguli de inferen
pentru dependen ele multivaloare.
Dependen ele jonc iune sunt o generalizare a dependen elor multivaloare. E
cunoscut faptul c o mul ime de dependen e func ionale plus o dependen jonc iune se
consider suficiente pentru exprimarea dependen elor dintre atributele unei scheme a
bazei de date.
Acest capitol cuprinde no iuni generale despre dependen ele multivaloare, regulile
de inferen , dependen ele multivaloare incluse, regulile de inferen ale dependen elor
jonc iune etc.

4.1. Dependen e multivaloare


Defini ia 4.1. Fie rela ia r cu schema R &i X,Y R. Not m Z=R \ XY. Vom spune
c rela ia r(R) satisface dependen a multivaloare X Y (sau X Y e valid în r(R)),
dac pentru orice pereche de tupluri t1 &i t2 din r(R) ce satisfac t1[X]=t2[X] exist în r(R)
un tuplu t3 pentru care au loc egalit ile t3[X]=t1[X], t3[Y]=t1[Y] &i t3[Z]=t2[Z].

Remarc . Din proprietatea de simetrie a acestei defini ii urmeaz c în r(R) mai


exist un tuplu t4 ce satisface egalit ile t4[X]=t1[X], t4[Y]=t2[Y] &i t4[Z]=t1[Z].

1
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

Teorema 4.1. O dependen multivaloare X Y e valid în rela ia r(R) dac &i


numai dac X Z e valid în r(R), unde Z = R \ XY.
Demonstra ie. Din remarca defini iei 4.1 urmeaz c , dac rela ia r(R) satisface
dependen a multivaloare X Y, atunci de fiecare dat când t1[X]=t2[X] în r(R) exist
nu numai un tuplu t3 ce satisface t3[X]=t1[X], t3[Y]=t1[Y] &i t3[Z]=t2[Z], dar &i un tuplu
t4 pentru care au loc egalit ile t4[X]=t1[X], t4[Y]=t2[Y] &i t4[Z]=t1[Z]. În consecin ,
tupluri distincte cu acelea&i X-valori &i cu Y-valori (Z-valori) identice trebuie s aib
diferite Z-valori (Y-valori) pentru a men ine toate tuplurile distincte. Din aceast
proprietate simetric rezult c rela ia r(R) satisface dependen a multivaloare X Y
dac &i numai dac satisface dependen a multivaloare X Z.
Exemplul 4.1. Rela ia r(ABCD) din fig.4.1 satisface dependen a multivaloare
BC A. În rela ia r(ABCD) e valid de asemenea dependen a multivaloare
BC D. Dac , îns , din rela ia r(ABCD) este eliminat un tuplu, atunci dependen ele
multivaloare BC A &i BC D devin invalide în r(ABCD).

r A B C D
a1 b1 c1 d1
a1 b1 c1 d2
a1 b1 c2 d1
a1 b1 c2 d2
a2 b1 c1 d1
a2 b1 c1 d2
a2 b1 c2 d1
a2 b1 c2 d2
Fig.4.1

În defini ia 4.1 nu s-au pus condi ii asupra mul imilor X &i Y. Deci X Y în
caz general. Determinatul Y poate fi redus. S demonstr m c varianta redus , X Y
\ X, e echivalent dependen ei X Y.

Teorema 4.2. Dependen a func ional X Y e valid în rela ia r(R), dac &i
numai dac X Y \ X e valid în r(R).
Demonstra ie. Necesitatea. Fie rela ia r(R) satisface dependen a multivaloare
X Y. Not m Y1 = Y \ X. Atunci Z= R \ XY = R \ XY1. Fie t1 &i t2 dou tupluri cu X-
valori egale, adic t1[X] = t2[X]. Fiindc X Y e valid în r(R), atunci în r trebuie s
existe un tuplu t3 ce satisface t3[X]=t1[X], t3[Y]=t1[Y] &i t3[Z] = t2[Z]. Egalitatea t3[Y] =
t1[Y] implic egalitatea t3[Y1] = t1[Y1]. Prin urmare, rela ia r satisface &i dependen a
multivaloare X Y1.
Suficien a. Fie r(R) satisface dependen a multivaloare X Y1, unde Y1 = Y \ X
&i fie X1 X. S ar t m c dependen a X Y1X1 e valid în r(R). Întrucât r satisface
1
X Y &i dac t1, t2 r &i t1[X] = t2[X], atunci exist un tuplu t3, pentru care t3[X] =
t1[X], t3[Y1] = t1[Y1] &i t3[Z] = t2[Z]. Din X1 X &i t3[Y1] = t1[Y1] urmeaz t3[Y1X1] =
t1[Y1X1]. Deci X Y1X1.

Exemplul 4.2. Rela ia r(ABCD) din fig.4.1 satisface dependen a multivaloare


BC A. Conform teoremei 4.2 în r e valid &i dependen a multivaloare BC AB.

2
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

Teorema ce urmeaz poate fi considerat o metod de verificare dac o


dependen multivaloare e valid într-o rela ie.

Teorema 4.3. Fie rela ia r(R), X,Y R &i Z = R \ XY. Dependen a multivaloare
X Y e valid în r(R) dac &i numai dac r este jonc iunea proiec iilor sale XY(r) &i
XZ(r).
Demonstra ie. Necesitatea. Fie dependen a multivaloare X Y e valid în r(R)
&i fie r1= XY(r), r2= XZ(r). Fiindc întotdeauna are loc corela ia r(R) r1 |x|r2, pentru a
demonstra necesitatea, e de ajuns s ar t m c orice tuplu t din jonc iunea r1 |x|r2 este &i
în r(R), adic r1 |x|r2 r(R). Fie t un tuplu în r1 |x|r2. Atunci r1 &i r2 trebuie s con in
corespunz tor tuplurile t1 &i t2 încât t[X] = t1[X] = t2[X], t[Y] = t1[Y] &i t[Z] = t2[Z].
Întrucât r1 &i r2 sunt proiec ii ale rela iei r, atunci r con ine tuplurile t11 &i t21 pentru care
t1[XY]=t11[XY] &i t2[XZ]=t21[XZ]. În r este un tuplu t3 (dat fiind faptul c X Ye
valid în r) ce satisface t3[X] = t11[X], t3[Y] = t11[Y] &i t3[Z] = t21[Z]. Se vede c acest
tuplu t3 este t.
Suficien a. Presupunem acum c rela ia r se descompune în dou rela ii r1 &i r2 f r
pierderi. S ar t m c pentru orice dou tupluri t11 &i t21 ce satisfac t11[X] = t21[X] exist
un tuplu t încât t[X] = t11[X], t[Y] = t11[Y] &i t[Z] = t21[Z], adic în r e valid dependen a
multivaloare X Y.
Fie t11 &i t21 dou tupluri în r(R). Întrucât r(R) se descompune f r pierderi asupra
XY &i XZ (adic r= XY(r)|x| XZ(r)), atunci în r1 &i r2 se g sesc, respectiv, tuplurile t1 &i
t2 &i t1 = t11[XY], t2 = t21[XZ]. Fiindc r = r1 |x|r2 , r con ine un tuplu t ce satisface
t[XY]=t1[XY] &i t[XZ]=t2[XZ]. Întrucât tuplurile t11, t21 &i t satisfac defini ia 4.1 rela ia
r(R) satisface dependen a multivaloare X Y.

Din teorema 4.3 se poate face urm toarea concluzie.

Concluzie. Rela ia r(R) se descompune f r pierderi în rela iile r1(R1) &i r2(R2)
dac &i numai dac R1 R2 R1 (sau R1 R2 R2).

Este ineficient utilizarea metodei din aceast teorem pentru a verifica dac o
rela ie satisface sau nu o dependen multivaloare. Testarea necesit dou proiec ii &i o
jonc iune. S examin m un alt procedeu de verificare, dac o dependen multivaloare e
valid într-o rela ie.
Fie rela ia r(R) satisface dependen a multivaloare X Y, atunci conform
teoremei 4.3 r(R) = XY(r) |x| XZ(r), unde Z = R \ XY.
Expresiile | XY( X=x(r))| &i | XZ( X=x(r))| reprezint numerele de tupluri în
proiec iile rela iei r asupra mul imilor XY &i XZ, corespunz tor, pentru X-valoarea dat
egal cu x. Este evident c , dac rela ia r se descompune f r pierderi în rela iile XY(r)
&i XZ(r), atunci
| X=x(r)| =| XY( X=x(r))| | XZ( X=x(r))|. (4.1)
Întrucât | XW( X=x(r))| =| W( X=x(r))|, atunci egalitatea (4.1) poate fi simplificat :
| X=x(r)| =| Y( X=x(r))| | Z( X=x(r))|. (4.2)

3
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

Aceast procedur de verificare a validit ii unei dependen e multivaloare este


mai pu in laborioas decât precedenta. Ea presupune sortarea tuplurilor dup X-valori,
apoi pentru orice X-valoare x se testeaz egalitatea de mai sus.

Exemplul 4.3. Rela ia r(ABCD) din fig.4.1 satisface teorema 4.3. Proiec iile
BCA(r) &i BCD(r) sunt prezentate în fig.4.2. Jonc iunea lor este egal cu r(ABCD).
Atunci egalitatea (4.2) e satisf cut fiindc :
(1) | A( BC=b1c1(r))|=| D( BC=b1c1(r))|=2, &i |( BC=b1c1(r)| = 4
&i
(2) | A( BC=b1c2(r))|=| D( BC=b1c2(r))|=2, &i |( BC=b1c2(r)| = 4.

BCA(r) B C A BCD(r) B C D
b1 c1 a1 b1 c1 d1
b1 c2 a1 b1 c1 d2
b1 c1 a2 b1 c2 d1
b1 c2 a2 b1 c2 d2
Fig.4.2.

Proprietatea de mai sus poate fi utilizat într-o nou defini ie a dependen ei


multivaloare.

Defini ia 4.2. Fie r o rela ie asupra schemei R, X,Y R &i Z = R \ XY. Rela ia r(R)
satisface dependen a multivaloare X Y, dac pentru orice X-valoare x &i XZ-valoare
xz e satisf cut egalitatea Y( X=x(r)) = Y( XZ=xz(r)).

Cu alte cuvinte, în cadrul rela iei r(R) exist o dependen multivaloare X Y,


dac &i numai dac mul imea valorilor lui Y corespunz toare unei perechi xz depinde
numai de X-valoarea x nu &i de valoarea lui Z.

4.2. Reguli de inferen ' ale dependen elor multivaloare


Primele &ase reguli sunt similare regulilor de inferen omonime ale dependen elor
func ionale, îns numai primele trei con in acelea&i aser iuni.

Fie o rela ie r cu schema R &i W,X,Y,Z R.


DM1. Regula reflexivit ii. Dac Y X, atunci X Y.
Validitatea acestei reguli urmeaz din defini ia dependen ei multivaloare.

DM2. Regula increment rii. Dac Z W &i X Y, atunci XW YZ.


Validitatea acestei afirma ii reiese din defini ia 4.1 &i teorema 4.2.

DM3. Regula aditivit ii. Dac X Y &i X Z, atunci X YZ.


Demonstra ie. Fie în r sunt dou tupluri t1 &i t2 ce au X-valori egale, t1[X]=t2[X].
Trebuie ar tat c în r exist un tuplu t, încât t[X] = t1[X], t[YZ] = t1[YZ] &i t[U] = t2[U],
unde U=R\XYZ.

4
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

Întrucât r(R) satisface dependen a X Y, atunci r con ine un tuplu t3 &i t3[X] =
t1[X], t3[Y] = t1[Y], t3[V] = t2[V] pentru orice t1 &i t2 ce satisfac egalitatea t1[X]=t2[X],
unde V=R\XY. Acela&i ra ionament este &i pentru X Z: exist în r(R) un tuplu t4
care satisface t4[X] = t1[X], t4[Z] = t1[Z] &i t4[W] = t3[W] (fiindc t1[X] = t3[X]), unde W
= R \ XZ.
S ar t m c t = t4. E evident c t[X] = t4[X]. De asemenea t4[Z] = t1[Z] = t[Z].
Dar t4[Y W] = t3[Y W] = t1[Y W] = t[Y W] &i atunci t4[YZ] = t[YZ]. Din
U W V, urmeaz t4[U] = t3[U] = t2[U] = t[U]. Întrucât R=XYZU, atunci t4=t.

DM4. Regula proiectivit ii. Dac X Y &i X Z, atunci X Y Z,


X Y \ Z.
Demonstra ie. Conform regulii DM3, X Y &i X Z implic X YZ.
Aplicând teorema 4.1 asupra dependen ei multivaloare X YZ, ob inem X R \
XYZ. Aplicând regula DM3 asupra dependen elor X R \ XYZ &i X Z, ob inem
X (R \ XYZ)Z. Dar conform teoremei 4.1, X (R \ XYZ)Z implic X R \
X(R \ XYZ)Z. Determinatul ultimei dependen e se simplific în felul urm tor (vezi fig.
4.3): R \ X(R \ XYZ)Z = R \ X(R \ Y)Z = Y \ XZ = (Y \ Z) \ X. Deci X (Y \ Z) \ X
&i conform teoremei 4.2 dependen a X Y \ Z este valid în r(R).
Am demonstrat validitatea regulii: dac X Y &i X Z, atunci X Y \ Z.
S ar t m acum c , dac X Y &i X Z, atunci X Y Z.
Dependen a X Y implic dependen a X R \ XY. Combinând, conform
regulii DM3, dependen ele X Y \ Z &i X R \ XY, ob inem X (R \ XY)(Y \
Z). Aplicând teorema 4.1 asupra ultimei dependen e multivaloare, ob inem X R \ X(
R \ XY)(Y \ Z). S examin m partea dreapt a dependen ei multivaloare ob inute,
utilizând diagrama din fig.4.3.
R \ X( R \ XY)(Y \ Z) = R \ X( R \ Y)(Y \ Z) = Y \ X(Y \ Z) = (Y Z) \ X.
Prin urmare, rela ia r(R) satisface dependen a multivaloare X (Y Z) \ X &i,
conform teoremei 4.2, satisface dependen a X Y Z.

DM5. Regula tranzitivit ii. Dac X Y &i Y Z, atunci X Z \ Y.


Demonstra ie. Dac vom ar ta c X YZ e valid în rela ia r, atunci asupra
acestei dependen e &i dependen ei X Y poate fi aplicat regula DM4, pentru a ob ine
dependen a X YZ \ Y sau X Z \ Y.
Not m W=R \ XYZ &i s ar t m c X Y &i Y Z implic X YZ. Adic ,
dac în r sunt dou tupluri t1, t2 &i t1[X] = t2[X], atunci r con ine un tuplu t ce satisface
egalit ile t[X] = t1[X], t[YZ] = t1[YZ] &i t[W] = t2[W].
Întrucât dependen a X Y e valid în r, rela ia r con ine un tuplu t3 ce satisface
t3[X] = t1[X], t3[Y] = t1[Y] &i t3[V] = t2[V], unde V = R \ XY. Dar dependen a Y Z
presupune c în r este un tuplu t4 ce satisface condi iile t4[Y]=t1[Y], t4[Z] = t1[Z] &i t4[U]
= t3[U]., unde U = R \ YZ.
S ar t m c tuplul t4 este tuplul c utat t. Întrucât t1[X]=t2[X] = t3[X] = t4[X] e
evident c t4[YZ] = t1[YZ]. Dat fiind faptul c t4[U]=t3[U] &i W U \ X, atunci t4[W] =
t3[W]. Din t3[V] = t2[V] &i (U \ X) V reiese c t3[W] = t2[W]. Deci, tuplul t4 este cel
c utat.

5
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

Fig. 4.3. - R, - X, - Y, - Z.

DM6. Regula pseudotranzitivit ii. Dac X Y &i YW Z, atunci


XW Z \ YW.
Demonstrarea acestei reguli e similar regulii tranzitivit ii &i se propune în
calitate de exerci iu.

DM7. Regula complement rii. Dac X Y, atunci X Z, unde Z = R \ XY.


Validitatea acestei reguli este demonstrat de teorema 4.1.

Simbol Denumire Regul


DM1 Reflexivitatea Y X X Y
DM2 Incrementarea Z W, X Y XW YZ
DM3 Aditivitatea X Y, X Z X YZ
X Y, X Z X Y Z,
DM4 Proiectivitatea
X Y\Z
DM5 Tranzitivitatea X Y, Y Z X Z\Y
X Y, YW Z
DM6 Pseudotranzitivitatea
XW Z \ YW
DM7 Complementarea X Y X R \ XY
Fig.4.4. Reguli de inferen ale dependen elor multivaloare

În fig.4.4 sunt prezentate regulile de inferen ale dependen elor multivaloare.

Dup cum s-a observat din demonstr rile validit ii regulilor de inferen , unele
reguli se pot deduce din celelalte. Similar mul imii de reguli {DF1, DF2, DF5}, pentru
dependen ele func ionale, exist submul imi de reguli pentru dependen ele multivaloare,
din care se deduc celelalte.

Teorema 4.4. Regulile DM3, DM4 &i DM6 se deduc din regulile DM1, DM2,
DM5 &i DM7.
Demonstra ie. S ar t m validitatea regulii DM3 utilizând DM1, DM2, DM5,
DM7, adic {X Y, Y Z}|- X YZ. Într-adev r:
m1:=X Z (dat ),
m2:=X XZ (DM2:m1),
m3:=X Y (dat ),

6
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

m4:=XZ YZ (DM2:m3),
m5:=XZ R \ XYZ (DM7:m4),
m6:=X R \ XYZ (DM5:m2,m5 &i fiindc (R\XYZ)\XZ = R\XYZ)),
m7:=X R \ X(R \ XYZ) (DM7:m6).
Din fig.4.3 se vede c R \ X(R \ XYZ) = YZ, deci m7=X YZ.
S demonstr m c regula DM4 urmeaz din DM1, DM2, DM5, DM7. Validitatea
expresiei {X Y, X Z}|-{X Y \ Z, X Y Z} este confirmat de
urm toarea consecutivitate de inferen .
m1:=X Y (dat ),
m2:=X Z (dat ),
m3:=X R \ XY (DM7:m1),
m4:=X Z(R \ XY) (DM3:m2, m3),
m5:=X Y\Z (DM7:m4 (vezi fig.4.3.)),
m6:=X (Y\Z)(R\XY)=
X R \ (X Y) (DM3:m3, m5 (vezi fig.4.3.)),
m7:=X X Y (DM7:m6).
Întrucât regula DM3 urmeaz din DM1, DM2, DM5 &i DM7 substituirea
dependen elor m4 &i m6 cu consecutivit i de inferen corespunz toare se propune în
calitate de exerci iu.
Gi, în sfâr&it, s ar t m c pseudotranzitivitatea, DM6, urmeaz din DM1, DM2,
DM5, DM7. Pentru aceasta vom defini o consecutivitate de inferen pentru a ar ta
validitatea expresiei {X Y, YW Z}|-XW Z \ YW, aplicând doar regulile
DM2 &i DM5.
m1:=X Y (dat ),
m2:=XW YW (DM2:m1),
m3:=YW Z (dat ),
m4:=XW Z \ YW (DM5:m2, m3).

4.3. Reguli de inferen ' mixte


Fie M o mul ime de dependen e func ionale &i multivaloare asupra schemei R &i m
o dependen func ional sau multivaloare. Sunt reguli de inferen ce pot fi utilizate
pentru a verifica dac M|=m.
Fie rela ia r(R) &i W,X,Y,Z R.

DFM1. Regula replic rii. Dac X Y, atunci X Y.


Validitatea acestei reguli este evident . Apelând la defini ia 4.2 a dependen ei
multivaloare are loc egalitatea Y( X=x(r)) = Y( XZ=xz(r)), unde Z = R \ XY, fiindc
dependen a func ional presupune c pentru orice X-valori egale corespund Y-valori
egale ale tuplurilor. Deci valorile pe care le prime&te atributul Z sunt imateriale.

Dependen a func ional reprezint un tip particular de dependen multivaloare,


pentru care mul imea valorilor dependente este constituit dintr-o singur valoare, adic
Y( XZ=xz(r)) este o rela ie ce con ine nu mai mult de un tuplu.

7
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

DFM2. Regula coalescen ei. Dac X Y &i Z W, unde W Y &i Y Z= ,


atunci X W.
Demonstra ie. Deoarece X Y &i dac în r sunt dou tupluri t1, t2, pentru care
t1[X] = t2[X], atunci în r exist un tuplu t3 ce satisface egalit ile t3[X] = t1[X], t3[Y] =
t1[Y] &i t3[R\XY] = t2[R \ XY]. S observ m c , deoarece Y Z= , avem Z X(R\XY)
&i întrucât t3[X] = t1[X] = t2[X], rezult c t3[Z] = t2[Z].
Conform dependen ei func ionale Z W avem t3[W]=t2[W]. Îns W Y, de unde
urmeaz c t3[W]=t1[W]=t2[W] &i prin urmare dependen a func ional X W e valid în
r.

În fig.4.5 sunt prezentate regulile mixte de inferen .

Simbol Denumire Regul


DFM1 Replicarea X Y X Y
X Y, Z W, W Y, Y Z= ,
DFM2 Coalescen a
X W

Fig.4.5. Reguli mixte de inferen

Defini ia 4.3. Fie rela ia r(R) &i X,Y R. Dependen a multivaloare X Y se


nume&te trivial , dac X Y sau XY=R.
Astfel, regula de inferen DM1, genereaz numai dependen e multivaloare
triviale.

Aici ne vom limita numai la formularea unor rezultate despre completitudinea


regulilor de inferen f r a aduce demonstr rile corespunz toare.

Teorema 4.4. Regulile DM1-DM7 formeaz o mul ime complet de reguli de


inferen a dependen elor multivaloare.

Teorema 4.5. Sistemul de reguli DF1, DF2, DF5, DM1, DM2, DM5, DM7,
DFM1, DFM2 formeaz o mul ime închis &i complet de reguli de inferen a
dependen elor func ionale &i multivaloare.

4.4. Problema calit' ii de membru


Fie M o mul ime de dependen e func ionale &i multivaloare &i m o dependen
func ional sau multivaloare. Deseori e necesar de determinat dac urmeaz logic
dependen a m din M. Aceast problem se nume&te problema calit ii de membru
(membership problem). Bineîn eles c asem n tor cu cazul numai dependen elor
func ionale calcularea M+, adic a mul imii tuturor dependen elor ce se deduc din M,
este o procedur destul de laborioas . Procesul necesit un timp care depinde
exponen ial de dimensiunile mul imii M. Similar no iunii de închidere a unei mul imi de
atribute în raport cu o mul ime de dependen e func ionale, pentru mul imea M se
introduce no iunea de baz a dependen elor (dependency basis).

8
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

Defini ia 4.4. Fie rela ia r cu schema R, o mul ime M de dependen e multivaloare


&i func ionale &i X R. Baza dependen elor a mul imii de atribute X, notat cu DEP(X),
în raport cu M este o parti ie a lui R: DEP(X) = {W1,...,Wk|1 k n,n=|R|} ce satisface
(1) X W i M+ , 1 i k
&i
(2) X Y M+, dac &i numai dac Y este uniunea a unor mul imi Wi din
DEP(X).

S remarc m c regula proiectivit ii pentru dependen ele multivaloare este mai


slab decât omologul s u pentru dependen ele func ionale. Proiectivitatea pentru
dependen ele func ionale ne spune c , dac dependen a X Y e valid într-o rela ie,
atunci e valid în aceast rela ie &i dependen a X A, pentru orice A Y. Regula
proiectivit ii pentru dependen ele multivaloare ne permite s spunem c , dac X Y
e valid într-o rela ie, atunci dependen a X A e valid în aceea&i rela ie numai dac
exist în schema rela iei o mul ime de atribute Z ce satisface condi iile: dependen a
X Z e valid &i sau Z Y=A, sau Y \ Z=A.
Cu toate acestea regulile aditivit ii (DM3) &i proiectivit ii (DM4) ne permit s
formul m urm toarea teorem despre mul imea de atribute Y, ca Y s depind de o
mul ime de atribute X, adic X Y. Aceast teorem st la temelia no iunii de baz a
dependen elor &i a algoritmului de calculare a bazei dependen elor descris ceva mai jos.

Teorema 4.6. Fie rela ia r(R) &i X R. Mul imea de atribute R \ X poate fi
parti ionat în submul imi disjuncte W1,...,Wk, încât pentru Y R \ X are loc X Y
atunci &i numai atunci când Y este uniunea a unor mul imi Wi, 1 i k.
Demonstra ie. La început fie c avem o singur submul ime constituit din
atributele R \ X. Presupunem c la un oarecare pas de parti ionare am ob inut
submul imile W1,...,Wm &i e valid dependen a X Wi, 1 i m. Dac X Y, dar
Y nu este uniunea unor Wi, atunci substituim toate mul imile Wi care satisfac expresiile
Wi Y &i Wi\Y , cu mul imile Wi Y &i Wi \ Y, respectiv. Conform regulii
proiectivit ii, dependen ele X Wi Y &i X Wi\Y sunt valide în r(R). Fiindc o
mul ime finit de atribute nu poate fi parti ionat la infinit, în cele din urm , vom avea o
parti ie încât Y din dependen a X Y, va fi uniunea unor submul imi Wi. Conform
regulii aditivit ii, X va determina uniunea oric rei submul imi din parti ie.

Remarc . Dependen ele multivaloare triviale X Y, unde Y X, ce se ob in


din regula reflexivit ii nu sunt considerate în teorema de mai sus. Din defini ia bazei
dependen elor mul imii de atribute X urmeaz c DEP(X) con ine &i toate atributele
singulare A, unde A X.

Algoritmul DEPBASIS (R, X, M, DEP(X))

Intrare: R – o schem rela ional ;


X – o mul ime de atribute;
M – o mul ime de dependen e func ionale &i multivaloare definite pe
schema R.
Ie&ire: DEP(X) – baza dependen elor mul imii X în raport cu M.
begin

9
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

0 DEP(X):={A1,...,An} ( unde A1…An=X);


1 W1=R \ X;
2 k:=1;
3 for i=1 until k do
4 while S T M & S W i= & T Wi Wi do
begin
5 k:=k+1;
6 Wk:= T Wi;
7 Wi:= Wi \ Wk;
end
8 DEP(X):=DEP(X) {W1,...,Wk};
return (DEP(X));
end

Algoritmul DEPBASIS construie&te baza dependen elor pentru o mul ime dat de
atribute X în raport cu o mul ime de dependen e M &i este de complexitate polinomial .

Exemplul 4.4. Fie R=ABCDEFGHI, X=HI &i


M={m1:HI A,
m2:AEFH ABF,
m3: CFI EH,
m4:AI BCDI,
m5:AHI B}. S se calculeze DEP(X).
La început, conform liniilor 0,1,2,3 ale algoritmului, sunt setate urm toarele valori
pentru DEP(HI), W1, k &i i:
DEP(HI)={H,I},
W1=ABCDEFG,
k=1, i=1.
Variabila k indic num rul de blocuri, iar i blocul curent. Conform liniei 4 a
algoritmului, vom considera pe rând dependen ele din M în privin a satisfacerii
condi iilor corespunz toare. Fiindc i=1, este selectat blocul de atribute W1. Pentru W1,
dependen a m1 satisface condi iile liniei 4: HI W1= &i A W1 W1, unde HI &i A
sunt, corespunz tor, determinantul &i determinatul dependen ei m1. Deci, conform
liniilor 5-7 pentru k, W2 &i W1 sunt setate urm toarele valori:
k=2,
W2=A,
W1=BCDEFG.
Pentru blocul W1 dependen a m4 e prima care satisface condi iile din linia 4
(dependen a m5, de asemenea, satisface). Prin urmare, dup executarea liniilor 5-7, k,
W3 &i W1 ob in valorile:
k=3,
W3=BCD,
W1=EFG.
Blocul W2 nu e satisf cut de nici o dependen . El va intra în DEP(HI). Atunci, în
linia 3 variabila i cre&te cu o unitate, adic i=2. Dar pentru W2 nu sunt dependen e în M
ce satisfac condi iile liniei 4 &i atunci i cre&te cu o unitate, devenind 3. Pentru W3 exist
dependen a m2. Prin urmare,
k=4,

10
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

W4=B,
W3=CD.
Blocul W3 nu e satisf cut de nici o dependen &i atunci i devine egal cu 4. Pentru
blocul W4, de asemenea, nu exist nici o dependen . Aici generarea blocurilor
sfâr&e&te, &i în final vom ob ine:
DEP(HI)={H,I,W1,W2,W3,W4}={H, I, EFG, A, CD, B}.

Exemplul 4.5. Fie R &i M din exemplul 4.4. S se confirme sau s se infirme c :
(a) M|=HI AB,
(b) M|=HI H,
(c) M|=HI ABC.
Pentru a verifica dac X Y, se deduce din M, conform defini iei bazei
dependen elor, Y trebuie s fie uniunea unor mul imi din DEP(X). În cazul nostru,
DEP(HI)={H, I, EFG, A, CD, B}. Deci:
(a) M|=HI AB,
(b) M|=HI H,
(c) M HI ABC.

4.5. Acoperiri nonredundante cu dependen e


multivaloare
Ca &i în cazul dependen elor func ionale, o mul ime de dependen e multivaloare
este redundant , dac cel pu in una din dependen e este derivabil din celelalte. Vom
spune, de asemenea, c aceast dependen este redundant în mul imea dat . O
acoperire nonredundant a unei mul imi de dependen e este o mul ime nonredundant
echivalent . Problema construirii acoperirilor nonredundante pentru dependen ele
multivaloare se solu ioneaz similar acoperirilor nonredundante ale dependen elor
func ionale.
Fie M o mul ime de dependen e multivaloare. O acoperire nonredundant a
mul imii M se construie&te de urm toarea procedur simpl . Se selecteaz o dependen
din M. Dac ea se deduce din celelalte dependen e multivaloare, atunci se elimin din
M. Acest proces continu pân nu poate fi g sit nici o dependen redundant . Fiindc
în acest proces fiecare dependen multivaloare se examineaz o singur dat ,
complexitatea acestui proces este propor ional complexit ii construirii mul imii
DEP(X) înmul it la num rul de dependen e în M.
Un proces similar poate fi aplicat asupra unei mul imi de dependen e func ionale
&i multivaloare. Dar trebuie men ionat c în acest caz ordinea, în care dependen ele sunt
examinate, determin care dependen e vor r mâne în acoperirea nonredundant . Intuitiv,
se observ c pentru utilizatori (de asemenea &i pentru SGBD) dependen ele func ionale
poart mai mult informa ie decât dependen ele multivaloare. De aceea e rezonabil
pentru eliminare mai întâi de examinat dependen ele multivaloare.
Fie F &i M mul imi de dependen e func ionale &i multivaloare, respectiv. Fie F1 o
acoperire nonredundant a tuturor dependen elor func ionale din (F M)+. Orice
dependen func ional din (F M)+ poate fi dedus din F1 cu algoritmul
MEMBERSHIP. Apoi se elimin dependen ele redundante multivaloare din F1 M

11
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

pentru a ob ine F1 M1. Orice dependen multivaloare din (F M)+ = (F1 M1)+ poate fi
dedus din F1 M1, utilizând numai algoritmul DEPBASIS.
S men ion m c F1 M1 nu este neap rat nonredundant , fiindc unele
dependen e func ionale pot deveni redundante în F1, fiindc dependen ele multivaloare
M1 n-au fost considerate când se construia F1.
De asemenea F nu este neap rat o acoperire pentru dependen ele func ionale din
(F M)+. Regulile DFM1 &i DFM2 pot deduce dependen e func ionale noi ce pot fi
ad ugate la F. Dar aceast metod e destul de ineficient .
Exist metode mai eficiente de generare a astfel de acoperiri ale dependen elor
func ionale fiind prezente &i dependen e multivaloare. Dar discu iile asupra algoritmilor
eficien i dep &e&te cadrul acestei lucr ri.

4.6. Dependen e multivaloare incluse


Vom considera o generalizare a clasei dependen elor multivaloare care se nume&te
dependen e multivaloare incluse (embedded multivalued dependencies).

Defini ia 4.5. Fie rela ia r asupra mul imii de atribute R &i R1 R, X,Y R1.
Dependen a X Y se nume&te multivaloare inclus , dac X Y este dependen
1
multivaloare în R (r).

Este evident din defini ie c orice dependen multivaloare este dependen


multivaloare inclus . Exemplul de mai jos arat c afirma ia invers e gre&it .
Exemplul 4.6. Consider m rela ia r(ABCD) &i proiec iile ei ABC(r) &i ABD(r) din
fig.4.6. Proiec iile ABC(r) &i ABD(r) satisfac respectiv dependen ele A C &i
A D. Conform regulii complement rii (DM7), ambele proiec ii satisfac dependen a
A B. În acela&i timp rela ia r(ABCD) nu satisface dependen a A B, deci &i
A CD nu e valid în r.

r A B C D
a b c d
a b1 c1 d1
a b c1 d
a b1 c d1
a b c d1
a b1 c1 d

ABC(r) A B C ABD(r) A B D
a b c a b d
a b1 c1 a b1 d1
a b c1 a b d1
a b1 c a b1 d
Fig.4.6.

12
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

Trebuie men ionat c nu exist o mul ime complet de reguli de inferen pentru
dependen ele multivaloare incluse.

4.7. Dependen e multivaloare noncontradictorii


Defini ia 4.6. Fie o mul ime M de dependen e multivaloare definite pe schema R.
Vom spune c dependen a multivaloare X Y din M separ dou atribute A &i B,
dac unul din atribute, fie A, este în Y, iar B este în R \ XY. Mul imea M de dependen e
multivaloare separ o mul ime de atribute V, dac M separ dou atribute din V.

Exemplul 4.7. Fie schema R=ABCD. Dependen a AB C separ atributele C


&i D. Similar, dependen a multivaloare CD A separ A &i B. Dac schema
R=ABCD e proiectat în baza dependen ei AB C în dou subscheme ABC &i ABD,
atunci în ele sunt valide doar dependen ele multivaloare AB C &i AB D,
respectiv. Nici într-o schem nu e valid dependen a CD A.

Problema descris în exemplul de mai sus e cunoscut sub denumirea de problem


a separ rii determinan ilor.

Defini ia 4.7. Fie determinan ii X,Y a dou dependen e multivaloare &i fie
DEP(X), DEP(Y). Determinan ii X &i Y sunt noncontradictorii (conflict free), dac
DEP(X) \ {A| A X} = {V1,…,Vk, X1,…,Xi, Zx, Y1,…,Yj},
DEP(Y) \ {B| B Y} = {V1,…,Vk, Y1,…,Yj, Zy, X1,…,Xi},
unde {V1,…,Vk} DEP(X Y) &i Zx X = Zy Y. Vom spune c o mul ime M de
dependen e multivaloare este noncontradictorie, dac sunt noncontradictorii
determinan ii ai oric ror dou dependen e din M.

Din defini iile 4.6 &i 4.7, urmeaz c mul imea M de dependen e multivaloare este
noncontradictorie, dac nici o dependen din M nu separ determinantul altei
dependen e multivaloare din M.

Exemplul 4.8. Fie R = ABCDEF &i M = {B A, B C, B DEF,


D ABC, D EF, E ABCD, E F}. S se arate c mul imea M de
dependen e multivaloare e noncontradictorie.
Trebuie s ar t m c orice pereche din mul imea de determinan i {B, D, E} este
noncontradictorie. Într-adev r, DEP(B) \ B = {A, C, DEF}, unde X = B, X1 = A, X2 =
C, Zx=D, Y1 = E, Y2 = F; DEP(D) \ D = {EF, BAC}, unde Y = D, Y1 = E, Y2 = F, Zy =
B, X1 = A, X2 = C. Întrucât X Y = B D = &i DEP( )= , atunci DEP(B) DEP(D)
DEP(B D). Este satisf cut &i condi ia Zx X = Zy Y, fiindc Zx X={D,B} &i
Zy Y = {B, D}. Prin urmare, B &i D sunt determinan i noncontradictorii. Similar poate
fi ar tat c sunt noncontradictorii &i perechile B, E &i D, E. Verificarea acestor din urm
se las în calitate de exerci iu.

Exemplul 4.9. Fie R = ABCD &i M = {AB C, AB D, CD A,


CD B}. Atunci DEP(AB)\{A,B}={C, D}, DEP(CD) \ {C, D} = {A, B}. Defini ia
4.7 nu e satisf cut &i, prin urmare, mul imea M de dependen e multivaloare e
contradictorie.

13
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

Unii cercet tori afirm c , dac o mul ime de dependen e multivaloare reflect o
parte a lumii reale, atunci mul imea neap rat este noncontradictorie. Dar dac mul imea
specificat nu e noncontradictorie, atunci înseamn c o parte de semantic a lumii reale
nu a fost capturat .

4.8. Dependen e jonc iune


Defini ia 4.8. Fie U mul imea universal de atribute &i fie rela iile r1, ..., rm
definite pe schemele R1,...,Rm, respectiv, unde Ri U, 1 i m. Jonc iunea rela iilor r1,
..., rm, notat cu |x|(r1,...,rm), este o rela ie definit pe schema U1=R1...Rm U:
|x|(r1, ..., rm)={t | t[Ri] = ti & ti ri(Ri), 1 i m}.

De no iunea jonc iune |x|(r1, ..., rm) a rela iilor r1,...,rm e strâns legat no iunea de
dependen jonc iune asupra U1, care este o constrângere asupra U1 de forma
|x|(R1,...,Rm). Vom spune c dependen a jonc iune este inclus dac U1 U. Dac U1 =
U, vom spune simplu dependen a jonc iune.

Defini ia 4.9. Vom spune c rela ia r(U) satisface dependen a jonc iune
|x|(R1,...,Rm) sau dependen a jonc iune |x|(R1...Rm) e valid în r(U), dac r(U) se
descompune f r pierderi pe schemele R1,...,Rm, adic
r(U) = |x|( R1(r), ..., Rm(r)) (4.3)

Exemplul 4.10. Rela ia r(ABC) satisface (vezi rela ia &i proiec iile
corespunz toare în fig.4.7) dependen a jonc iune |x|(AB, AC, BC), fiindc r(ABC) =
|x|( AB(r), AC(r), BC(r)).

O condi ie necesar , ca egalitatea (4.3) s fie satisf cut , este U=R1...Rm.


Este evident c dependen a de jonc iune inclus este o generalizare a dependen ei
jonc iune. La rândul s u, apelând la teorema 4.3, despre condi ia necesar &i suficient
ca o rela ie s se descompun f r pierderi în dou proiec ii, conchidem c dependen a
jonc iune este o generalizare a dependen ei multivaloare. Într-adev r, teorema 4.3 ne
spune c r(R) satisface dependen a multivaloare X Y, atunci &i numai atunci când r
se descompune f r pierderi pe schemele XY &i XZ, unde Z = R \ XY. Condi ia
coincide cu defini ia dependen ei jonc iune |x|(XY, XZ).

r A B C AB(r) A B
a1 b1 c1 a1 b1
a1 b2 c2 a1 b2
a3 b3 c3 a3 b3
a4 b3 c4 a4 b3
a5 b5 c5 a5 b5
a6 b6 c5 a6 b6

AC(r) A C BC(r) B C

14
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

a1 c1 b1 c1
a1 c2 b2 c2
a3 c3 b3 c3
a4 c4 b3 c4
a5 c5 b5 c5
a6 c5 b6 c5

Fig.4.7.

4.9. Tablouri
Vom descrie o metod tabelar de testare a dependen ei jonc iune, bazat pe
no iunea de tablou. Tabloul, de fapt este o rela ie, cu numai o singur deosebire – în loc
de valori tuplurile con in variabile. Variabilele sunt luate din dou mul imi: mul imea
variabilelor distincte &i mul imea variabilelor nondistincte. Variabilele distincte sunt
formate din litera a cu indice, iar cele nondistincte din litera b cu doi indici. Mul imea
de atribute ce denumesc coloanele este schema tabloului. O variabil corespunde unei
singure coloane. O coloan nu poate avea mai mult de o variabil distinct .

Defini ia 4.10. Fie o dependen jonc iune |x|(R1,...,Rm). Tablou al dependen ei


|x|(R1,...,Rm) este o rela ie ce are un nume (fie tab) &i |R1...Rm| = |U| coloane, notate cu
atributele din U, &i m tupluri câte unul pentru fiecare schem Ri, 1 i m. Tuplul ti
con ine în coloana Aj variabila distinct aj, dac Aj apar ine lui Ri. Celelalte componente
ale tuplului ti sunt variabile nondistincte bij ce nu se repet în alt tuplu. Deci ti[Aj] = aj,
dac Aj Ri &i ti[Aj] = bij, dac Aj Ri.

tab A B C D
a1 a2 b13 b14
b21 a2 a3 b24
a1 b32 a3 a4

Fig.4.8. Tabloul dependen ei |x|(AB, BC, ACD)

Exemplul 4.11. Fie dependen a jonc iune |x|(AB,BC,ACD). Tabloul acestei


dependen e arat ca în fig.4.8.

Tuplurile într-un tablou pot fi transformate conform unor reguli ce corespund


anumitor clase de dependen e: func ionale &i jonc iune. Scopul unor astfel de
transform ri const în ob inerea unui tuplu alc tuit numai din variabile distincte. Tuplul
format exclusiv din variabile distincte se nume&te tuplu-scop. Dac în urma
transform rilor tabloul con ine tuplul scop, atunci dependen a jonc iune e valid , adic
jonc iunea este f r pierderi. Sunt cunoscute dou tipuri de reguli de transformare a
tabloului: F-reguli &i J-reguli.

F-reguli. Fie tab un tablou a unei dependen e jonc iune &i J o mul ime de
dependen e jonc iune, multivaloare &i func ionale. Pentru orice dependen func ional

15
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

X Y din J modificarea tabloului tab se produce în felul urm tor. În tab se caut
tuplurile ce coincid pe atributele din X. Fiind descoperite astfel de tupluri, se egaleaz
variabilele atributelor din Y. Fie ti[X] = tj[X] &i pentru A Y ti[A] = 1, tj[A] = 2.
Atunci,
(a) dac una din variabilele 1 &i 2 este distinct , atunci variabila nondistinct e
substituit de cea distinct ;
(b) dac ambele variabile sunt nondistincte, atunci variabila cu indice mai mare
e substituit de variabila cu indice mai mic.

J-reguli. Fie tab un tablou determinat de dependen a jonc iune |x|(R1,...,Rm) &i fie
J o mul ime de dependen e jonc iune, multivaloare &i func ionale. Pentru orice
dependen jonc iune |x|(S1,...,Sk) din J la tabloul tab se adaug tuplul t (dac el nu este
deja un tab) dac t |x|( S1(tab),..., Sk(tab)).
Trebuie de men ionat c S1,...,Sk trebuie s formeze mul imea universal U de
atribute, adic R1,...,Rm = S1,...,Sk. Consider m un ra ionament de executare eficient a
jonc iunii. Nu toate tuplurile ce vor participa la jonc iune sunt esen iale în formarea
tuplului t ce se adaug la tab. Dac tuplurile ti &i tj sunt în tab &i dac tuplul tj are
componente distincte pentru toate atributele pentru care are variabile distincte tuplul ti,
atunci tj nu trebuie s participe la jonc iune.

Regulile de transformare a tabloului legate de dependen ele multivaloare sunt de


prisos, întrucât dependen a multivaloare este un caz particular al dependen ei jonc iune:
dependen a multivaloare X Y este dependen a jonc iune |x|(XY, XZ), unde Z = R \
XY.

S aducem urm torul algoritm de testare a dependen elor jonc iune.

Algoritmul LOSSLESSTEST (J, j)


Intrare: J - o mul ime de dependen e jonc iune, multivaloare &i func ionale;
|x|(R1,...,Rm) - o dependen jonc iune.
Ie&ire: Adev r, dac dependen a jonc iune e valid (sau jonc iunea e f r pierderi)
&i fals, în caz contrar.
(1) Se define&te tabloul dependen ei jonc iune |x|(R1,...,Rm).
(2) Se aplic F-regulile &i J-regulile asupra tabloului pân nu mai poate fi
schimbat.
(3) Dup substituirile produse de toate dependen ele din J, se verific dac
tabloul con ine un tuplu ce are toate componentele distincte. Dac exist în
tablou tuplul-scop, atunci return (adev r) în caz contrar - return(fals).

Exemplul 4.12. Fie rela ia r(ABCDEF) &i J={A B, F E}. S se verifice dac
dependen a jonc iune |x|(ABDE,ACDF,BCEF) este valid în rela ia r(ABCDEF).
Aplicând algoritmul de mai sus, pasul (1) produce tabloul din fig.4.9(a). Acest
tabel are trei tupluri &i &ase coloane.

A B C D E F
t1 a1 a2 b13 a4 a5 b16

16
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

t2 a1 b22 a3 a4 b25 a6
t3 b31 a2 a3 b34 a5 a6

Fig.4.9(a). Tabloul ini ial al dependen ei


jonc iune |x|(ABDE, ACDF, BCEF)

Urmând F-regulile în aplicarea dependen ei A B din J (pasul (2)), ob inem


tabloul modificat din figura 4.9(b). În tablou tuplul t2[B] = a2, fiindc t1[A] = t2[A] în
tabloul ini ial &i b22 a fost substituit de a2.

A B C D E F
t1 a1 a2 b13 a4 a5 b16
t2 a1 a2 a3 a4 b25 a6
t3 b31 a2 a3 b34 a5 a6

Fig.4.9(b). Tabloul modificat de A B

Aplicând apoi dependen a func ional F E în pasul (2), ob inem tabloul


modificat din fig.4.9(c). Aici t2[E] = a5, întrucât variabila b25 din tabloul precedent este
substituit de a5. Examinând tabloul ob inut, observ m c t2 = <a1,a2,a3,a4,a5,a6> este
tuplul-scop. Deci rela ia r(ABCDEF) satisface dependen a jonc iune |x|(ABDE, ACDF,
BCEF) sau jonc iunea |x|( ABDE(r), ACDF(r), BCEF(r)) este f r pierderi.

A B C D E F
t1 a1 a2 b13 a4 a5 b16
t2 a1 a2 a3 a4 a5 a6
t3 b31 a2 a3 b34 a5 a6

Fig.4.9(c). Tabloul modificat de F E

Exemplul 4.13. Fie rela ia r(ABCDE) &i mul imea de dependen e jonc iune
J={|x|(AC,ABD,BDE), |x|(ABD,CDE)} valid în r. S se arate c rela ia r(ABCDE)
satisface &i dependen a jonc iune |x|(AC,ABD,DE).
Construim tabloul ini ial tab pentru dependen a jonc iune |x|(AC,ABD,DE) din
fig. 4.10(a) ce const din trei tupluri t1, t2 &i t3, determinate respectiv de mul imile AC,
ABD &i DE.

tab A B C D E
t1 a1 b12 a3 b14 b15
t2 a1 a2 b23 a4 b25
t3 b31 b32 b33 a4 a5

Fig.4.10(a) Tabloul ini ial tab

17
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

Aplic m dependen a jonc iune |x|(ABD,CDE) din J asupra tabloului tab.


Proiect m tabloul tab asupra schemelor ABD &i CDE. Ob inem proiec iile ABD(tab) &i
CDE(tab) din fig.4.10(b) &i fig.4.10(c), respectiv.

ABD(tab) A B D
a1 b12 b14
a1 a2 a4
b31 b32 a4

Fig.4.10(b). ABD(tab)

CDE(tab) C D E
a3 b14 b15
b23 a4 b25
b33 a4 a5

Fig.4.10(c). CDE(tab)

În rela ia ABD(tab) tuplurile <a1 b12 b14> &i <b31 b32 a4> nu sunt esen iale, fiindc
tuplul <a1 a2 a4> le recapituleaz . În rela ia CDE(tab) tuplurile reprezentative sunt <a1
b14 b15> &i <b33 a4 a5>. Tuplul <b23 a4 b25> nu va participa la jonc iune, fiindc se
substituie de tuplul <b33 a4 a5>. Jonc ionând tuplurile reprezentative din rela iile
ABD(tab) &i CDE(tab), ob inem tuplul t4=<a1 a2 b33 a4 a5>. Form m tabloul tab1=tab
{t4} din fig.4.10(d).

tab1 A B C D E
t1 a1 b12 a3 b14 b15
t2 a1 a2 b23 a4 b25
t3 b31 b32 b33 a4 a5
t4 a1 a2 b33 a4 a5

Fig.4.10(d) Tabloul tab1= tab {t4}

S examin m acum ac iunea asupra tabloului tab1 a dependen ei


|x|(AC,ABD,BDE) din J, proiectându-l pe schemele AC, ABD &i BDE (vezi
fig.4.10(e), fig.4.10(f), fig.4.10(g), respectiv)

AC(tab1) A C
a1 a3
a1 b23
b31 b33
a1 b33
Fig.4.10(e). AC(tab1)

ABD(tab1) A B D
a1 b12 b14

18
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

a1 a2 a4
b31 b32 a4
Fig.4.10(f). ABD(tab1)

BDE(tab1) B D E
b12 b14 b15
a2 a4 b25
b32 a4 a5
a2 a4 a5
Fig.4.10(g). BDE(tab1)

S observ m tuplurile ce vor participa la jonc iune. În AC(tab1) este tuplul <a1
a3>, în ABD(tab1) e tuplul <a1 a2 a4> &i în BDE(tab1) e tuplul <a2 a4 a5>. În urma
jonc iunii acestor tupluri (câte unul din fiecare proiec ie) ob inem tuplul t5=<a1a2a3a4a5>.
Se construie&te tabloul tab2=tab1 {t5} prezentat în fig.4.10(h).

tab2 A B C D E
t1 a1 b12 a3 b14 b15
t2 a1 a2 b23 a4 b25
t3 b31 b32 b33 a4 a5
t4 a1 a2 b33 a4 a5
t5 a1 a2 a3 a4 a5

Fig.4.10(h). Tabloul tab2=tab1 {t5}

Tabloul tab2 con ine tuplul-scop, t5. Deci dependen a jonc iune |x|(AC,ABD,DE)
este valid în rela ia r(ABCDE) sau, ceea ce e echivalent, jonc iunea |x|( AC(r),
ABD(r), DE(r)) este f r pierderi.

Deci tablourile pot fi utilizate pentru solu ionarea problemei calit ii de membru
pentru dependen ele jonc iune. Adic , dac J e o mul ime de dependen e jonc iune,
multivaloare &i func ionale &i j e o dependen jonc iune, atunci cu ajutorul tablourilor
putem determina dac j urmeaz logic din J. Aceast metod este aplicabil , numai dac
dependen ele jonc iune din J sunt definite pe toat mul imea universal de atribute U
Pentru mul imea de dependen e jonc iune nu exist o mul ime complet de reguli
de inferen .

Defini ia 4.11. Dependen a jonc iune |x|(R1,..., Rm) asupra U = R1...Rm este
trivial , dac e valid în orice rela ie r cu schema U.

4.10. Reguli de inferen ' ale dependen elor jonc iune


Consider m urm toarea mul ime de reguli de inferen ale dependen elor
jonc iune. Este clar c mul imea este închis , dar e pu in probabil s fie &i complet .

19
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

DJ1. Dac R U, atunci |x|(R).


Aceast regul ne spune c orice rela ie r(R) satisface dependen a jonc iune
|x|(R), fiindc r(R) = |x|( R(r)).

DJ2. Dac |x|(R1,…,Rm) &i Y R1…Rm, atunci |x|(R1,…,Rm,Y).


Validitatea acestei reguli reiese din egalitatea |x|(|x|(R1,…,Rm)Y) =
|x|(R1,…,Rm,Y).

r A B C
a1 b1 c1
a1 b2 c2
a2 b1 c3

Fig. 4.11.

Exemplul 4.14. Fie dependen a jonc iune |x|(AC,BC) &i fie Y = AB. Atunci
|x|(AC,BC)|=|x|(AC,BC,AB), adic rela ia r(ABC) ce satisface dependen a (vezi
fig.4.11) |x|(AC,BC) satisface &i dependen a |x|(AC,BC,AB). Aceste dou dependen e
sunt definite pe mul imea universal de atribute, deci ele pot fi testate prin intermediul
tabloului.

DJ3. Fie |x|(R1,…,Rm) &i Y,Z U. Atunci |x|(R1,…,Rm,Y,Z) implic


|x|(R1,…,Rm,YZ).

Exemplul 4.15. Fie în rela ia r(ABCDE) este valid dependen a jonc iune
|x|(AC,DE). Atunci |x|(AC,DE,ABD,BD) |=|x|(AC,DE,ABD). Întrucât ambele
dependen e antreneaz toate atributele, deduc ia poate fi verificat cu ajutorul tabloului.

DJ4. Fie |x|(R1,…,Rm), |x|(S1,…,Sk) &i Y = S1…Sk. Atunci |x|(R1,…,Rm,Y) &i


|x|(S1,…,Sk) implic |x|(R1,…,Rm,S1,…,Sk).

Exemplul 4.16. Fie |x|(AC,ABD), |x|(BD,DE) &i Y=BDE. Atunci


{|x|(AC,ABD,BDE), |x|(BD,DE)} |= |x|(AC,ABD,BD,DE). Aici tabloul nu poate fi
utilizat pentru verificarea implica iei, fiindc dependen a jonc iune |x|(BD,DE) este
inclus , adic nu e definit pe mul imea universal .

DJ5. Fie |x|(R1,…,Rm), A R1…Rm &i Y U. Dac |x|(R1,…,Rm,YA) atunci


|x|(R1,…,Rm,Y).

Exemplul 4.17. Fie |x|(BCD), Y = DE &i A BCD. Atunci |x|(BCD,DEA) |=


|x|(BCD,DE). Întrucât dependen a |x|(BCD,DE) e inclus , tabloul nu poate fi utilizat
pentru verificarea acestei reguli.

20
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

Regulile DJ4 &i DJ5 con in dependen e jonc iune incluse. Vom combina aceste
reguli pentru ob inerea unei reguli DJ6 echivalente, dar care antreneaz numai
dependen e jonc iune definite pe mul imea universal .

DJ6. Dac |x|(R1,…,Rm,Y), |x|(S1,…,Sk) &i {A| A apar ine cel pu in la dou
scheme Si,Sj} Y, atunci |x|(R1,…,Rm,S1 Y,…,Sk Y).

Exemplul 4.18. {|x|(AC,AB,BDE) |x|(ABD,CDE)} |={|x|(AC,ABD,BD,DE).


Aceast inferen poate fi verificat , utilizând tabloul.

Pentru dependen ele jonc iune nu este g sit o mul ime complet de reguli de
inferen . Probabil c nici nu exist .

4.11. Exerci ii
4.1. Fie rela ia r(ABC) din fig.4.12.
(a) S se arate c rela ia r(ABC) satisface dependen a multivaloare
A B.
(b) S se construiasc din r(ABC) patru rela ii diferite, fiecare con inând
câte trei tupluri &i s se arate c dependen a A B nu e valid în
nici o rela ie.
(c) S se construiasc din r(ABC) &ase rela ii diferite a câte dou tupluri.
S se arate c patru din ele satisfac dependen a multivaloare A B,
iar dou nu o satisfac.

r A B C
a b1 c1
a b2 c2
a b1 c2
a b2 c1

Fig.4.12.

4.2. S se infirme c , dac Z W &i X Y, atunci XW YZ.

4.3. S se infirme c , dac X Y, atunci X Y.

4.4. Fie rela ia r(ABCDEFGHIJ) &i M={AB DEFG, CGJ ADHI}. S se


calculeze DEP(ACGJ).

4.5. Fie rela ia r(ABC) &i J={AB C, C A}. S se arate c rela ia r(ABC) nu
satisface dependen a jonc iune |x|(AB, AC).

21
Capitolul 4. Dependen e multivaloare i dependen e jonc iune

4.6. Fie U=ABCDEFGH &i J={B E, C E, EF G, G ABH}. S se arate c


schema bazei de date Db={ABFG, BC, CDFH, AEH} se bucur de
proprietatea jonc iunii f r pierderi.

4.7. S se arate c dependen a jonc iune |x|(R1,...,Rm) asupra U= R1...Rm este


trivial , dac &i numai dac Ri=U pentru careva i, 1 i m.

4.8. S se completeze cu tupluri rela ia r(ABCDE) din fig.4.12, ca s satisfac


dependen ele multivaloare A BC &i CD BE

r A B C D E
a1 b1 C1 d1 e1
a1 b2 C1 d2 e1
a2 b1 C1 d1 e2

Fig.4.12.

4.9. S se descrie clasa de dependen e multivaloare ce pot fi deduse din


dependen a func ional X Y.

4.10. S se g seasc DEP(AC) pentru mul imea de dependen e multivaloare


definite pe schema R=ABCDEI.

4.11. S se arate c o rela ie r(R) nu poate fi descompus f r pierderi în dou


rela ii cu schemele R1 &i R2, unde R1 R &i R2 R, atunci &i numai atunci când
în r sunt valide numai dependen e multivaloare triviale.

4.12. Fie rela ia r(ABCDE) &i fie F={A C, B C, C D, DE C, CE A} o


mul ime de dependen e func ionale valide în r. S se arate c în r e valid &i
dependen a jonc iune |x|(AD, AB, BE, CDE, AE).

4.13. Fie R = ABCDE &i M={E B, AE C}. S se arate c mul imea M de


dependen e multivaloare este noncontradictorie.

22