Documente Academic
Documente Profesional
Documente Cultură
Capitolul
Simbol
Uniunea
Intersec ia
Diferen a
Produsul (cartezian)
Simbol
Proiec ia
Selec ia
Jonc iunea
- jonc iunea
Semijonc iunea
Diviziunea
|x|
|x|F
|x
FIRM5
f1
f1
ARTICOL
a1
a2
articole
ARTICOL
a1
a1
CULOARE
c1
c2
f2
f3
a1
a1
furnizori
a1
a3
a2
ARTICOL
a1
a1
a2
a3
c3
c2
c1
FURNIZOR
f1
f3
f1
f3
Fig.2.3.
Exemplul 2.1. Fie baza de date din fig.2.3 ce const din trei rela ii:
vnz ri(FIRM5 ARTICOL), articole(ARTICOL CULOARE), furnizori(ARTICOL
FURNIZOR). Schemele rela iilor vnz ri i articole nu sunt compatibile, n timp ce
schemele rela iilor vnz ri i furnizori sunt compatibile. Ultimele rela ii sunt definite pe
atribute ce primesc valori din acelea i domenii. Valorile active sunt totu i diferite,
fiindc un furnizor poate s nu fie firm i viceversa.
2.1.2. Uniunea
Uniunea a dou rela ii presupune c schemele lor sunt compatibile.
r
A
a1
a1
a2
B
b1
b2
b1
C
c1
c3
c2
A
a1
a1
a1
a3
B
b1
b1
b2
b2
C
c1
c2
c3
c3
A
a1
a1
a1
a2
a3
B
b1
b1
b2
b1
b2
C
c1
c2
c3
c2
c3
Fig.2.5. Rela ia q = r
s = {t | t
s}.
Exemplul 2.2. Fie rela iile r(A B C) i s(A B C) din fig.2.4. Rela ia din fig.2.5
este q = r s.
2.1.3. Intersec ia
Similar uniunii, intersec ia a dou rela ii cere ca operanzii s fie rela ii cu scheme
compatibile.
Defini ia 2.3. Intersec ia a dou rela ii compatibile r(R) i s(S), notat cu r s,
este o rela ie definit pe schema R sau S i const din tuplurile ce apar in concomitent
rela iilor r i s, adic
r s = {t | t r & t s}.
Exemplul 2.3. Fie rela iile r(A B C) i s(A B C) din fig.2.4. Rela ia q = r
prezentat n fig.2.6.
q
A
a1
a1
B
b1
b2
s este
C
c1
c3
Fig.2.6
2.1.4. Diferen a
Opera ia diferen a presupune c operanzii sunt rela ii cu scheme compatibile.
Defini ia 2.4. Diferen a a dou rela ii compatibile r(R) i s(S), notat cu r \ s, este
o rela ie definit pe mul imea de atribute R sau S i are n calitate de tupluri, toate
tuplurile din rela ia r ce nu sunt n s, adic
r \ s = {t | t r & t s}.
Exemplul 2.4. Fie rela iile r(A B C) i s(A B C) din fig.2.4. Rela iile q1 = r \ s, i
q2 = s \ r sunt prezentate n fig.2.7.
q1
A
a2
B
b1
C
c2
q2
A
a1
a3
B
b1
b2
C
c2
c3
Fig.2.7.
Din exemplul de mai sus observ m c diferen a nu se bucur de proprietatea
comutativ , adic r \ s s \ r. Totodat , nu e nici asociativ , adic (r \ s) \ q r \ (s \ q),
fiindc (r \ s) \ q = r \ (s q) pentru orice rela ii mutual compatibile r, s, i q.
tup
A
a1
a1
a1
a1
a1
a1
a2
a2
a2
a2
a2
a2
a3
a3
a3
a3
a3
a3
B
b1
b1
b1
b2
b2
b2
b1
b1
b1
b2
b2
b2
b1
b1
b1
b2
b2
b2
C
c1
c2
c3
c1
c2
c3
c1
c2
c3
c1
c2
c3
c1
c2
c3
c1
c2
c3
Er
A
a1
a1
a1
a1
a2
a2
a2
a2
a2
a3
a3
a3
a3
a3
a3
B
b1
b1
b2
b2
b1
b1
b2
b2
b2
b1
b1
b1
b2
b2
b2
C
c2
c3
c1
c2
c1
c3
c1
c2
c3
c1
c2
c3
c1
c2
c3
Fig.2.8.
Diferen a a dou rela ii are patru cazuri speciale. Un caz este \ r = ; altul e r \
= r pentru orice rela ie r(R). Celelalte cazuri le vom examina n urm toarele dou
sec iuni.
2.1.5. Complementul
Defini ia 2.5. Fie rela ia r(R). Not m prin tup(R) mul imea tuturor tuplurilor
asupra atributelor schemei R i a domeniilor lor. Complementul rela iei r, notat cu Er,
este
Er = tup(R) \ r.
Exemplul 2.5. Fie rela ia r(A B C) din fig.2.4 i fie dom(A) = {a1,a2,a3}, dom(B)
= {b1,b2}, dom(C) = {c1,c2,c3}. Atunci tup(A B C) i Er sunt cele din fig.2.8.
Este clar c , dac pentru un atribut A din R domeniul dom(A) este infinit, atunci i
Er va fi infinit i deci nu va fi o rela ie conform defini iei noastre. Pentru lichidarea
acestui dezavantaj se introduce no iunea de complement activ.
atup
A
a1
a1
a1
a1
a1
a1
a2
B
b1
b1
b1
b2
b2
b2
b1
C
c1
c2
c3
c1
c2
c3
c1
~r
A
a1
a1
a1
a1
a2
a2
a2
B
b1
b1
b2
b2
b1
b1
b2
C
c2
c3
c1
c2
c1
c3
c1
a2
a2
a2
a2
a2
b1
b1
b2
b2
b2
c2
c3
c1
c2
c3
a2
a2
b2
b2
c2
c3
Fig.2.9.
A
a1
a1
a2
B
b1
b2
b1
C
c1
c3
c2
D
d1
d1
E
e1
e2
Fig.2.10.
Exemplul 2.7. Fie rela iile r(A B C) i s(D E) din fig.2.10. Produsul cartezian q =
r s arat ca n fig.2.11.
Produsul cartezian a dou rela ii nevide nu ntotdeauna produce o rela ie.
Rezultatul e o rela ie, dac ambii operanzi sunt rela ii cu scheme nevide i disjuncte
(vezi exemplul 2.7). Dac , ns , rela iile operanzi au scheme vide sau nondisjuncte,
atunci produsul cartezian nu este o rela ie. Aceast problem poate fi solu ionat cu
ajutorul opera iei atribuirea, care de fapt produce schimbarea numelor atributelor.
q
A
a1
B
b1
C
c1
D
d1
E
e1
a1
a1
a1
a2
a2
b1
b2
b2
b1
b1
c1
c3
c3
c2
c2
d1
d1
d1
d1
d1
e2
e1
e2
e1
e2
Fig.2.11.
Produsul cartezian nu este o opera ie comutativ . n schimb se bucur de
proprietatea asociativ . Prin urmare, dac avem o cascad de produse carteziene r1 ( r2
(rk)), ea poate fi reprezentat n form de prefix (r1,r2,,rk). Schemele rela iilor ri,
1 N i N k, trebuie s fie disjuncte dou cte dou . n caz contrar rezultatul nu va fi o
rela ie.
2.1.8. Atribuirea
Fie r(R) i s(S) dou rela ii cu scheme compatibile i R S. Pentru a aplica asupra
lor opera iile binare tradi ionale se face reatribuirea rela iilor pentru a renumi diferen a
de atribute R \ S sau S \ R. Atribuirea se utilizeaz i pentru p strarea rezultatelor
intermediare.
Defini ia 2.8. Fie r o rela ie cu schema A1An i {B1,,Bn} o mul ime de
atribute compatibile, adic dom(Bi) = dom(Ai), 1 N i N n. O nou rela ie s(B1Bn)
compatibil cu r se poate defini prin atribuirea: s(B1Bn): = r (A1An). Extensia
rela iei s este extensia rela iei r: ts s atunci i numai atunci, cnd tr r, unde ts[Bi] =
tr[Ai], 1 N i N n.
r
A
a1
a1
a2
B
b1
b2
b1
C
c1
c3
c2
A
a1
a1
a2
D
b1
b2
b1
C
c1
c3
c2
Fig.2.12.
Urm torul exemplu ilustreaz
atributelor unei scheme.
Exemplul 2.9. Fie rela ia r(A B C) din fig.2.12. Atunci, s(A D C): = r(A B C).
r
A
a1
a1
a2
B
b1
b2
b1
C
c1
c3
c2
q2 A
A
a1
a1
a1
a3
B
b1
b1
b2
b2
C
c1
c2
c3
c3
q1 A
a1
a1
a1
a2
a3
A
B
b1
b1
b2
b1
b2
C
c1
c2
c3
c2
c3
a1
a1
b1 c1
b2 c3
a1
a2
a3
b1 c2
b1 c2
b2 c3
Fig.2.13.
n urm torul exemplu, opera ia atribuirea se folose te pentru p strarea rezultatelor
intermediare.
Exemplul 2.10. Fie rela iile r(A B C) i s(A B C) din fig.2.13. Atunci q : = (r s)
\ (r s). Rela ia q s-a construit aplicnd consecutivitatea de opera ii: q1 : = r s, q2: = r
s, q= q1 \ q2.
a
a
b
b
10
20
30
40
1
1
1
2
a
b
b
1
1
2
A,C(r).
Fig.2.14.
Exist dou cazuri speciale:
(1) X = R. Atunci x(r) = r.
(2) r = . Atunci x(r) = .
(r) este indefinit , fiindc
Dac mul imea de atribute X = , atunci proiec ia
schema unei rela ii nu poate fi o mul ime vid . Schema unei rela ii, produs de opera ia
proiec ia, are cel pu in un atribut.
Pentru cazul cnd R X, opera ia proiec ia iar i este indefinit . Mul imea asupra
c reia se face proiec ia nu poate fi mai larg dect schema rela iei ini iale.
Fie rela ia r(R) i Y X R. Atunci y ( x(r)) = y(r). Dac X = Y, atunci x
( y(r)) = x(r) = y(r).
2.2.2. Selec ia
Selec ia este o opera ie unar . Pentru selectarea unor tupluri dintr-o rela ie e
necesar specificarea condi iilor de selectare. n rezultat se ob ine o rela ie ce e o
submul ime de tupluri a rela iei ini iale. Fie c condi ia de selec ie se noteaz prin
formula calculului propozi ional, F, definit recursiv:
(1) A B i A a sunt formule, unde A i B sunt atribute compatibile i
a dom(A), iar
{=, , <, N, >, }. Aceste formule sunt atomice.
(2) Dac G i H sunt formule, atunci conjunc ia G&H, disjunc ia G H,
nega iile G i H sunt formule.
(3) Nimic altceva nu e formul .
Defini ia 2.10. Vom spune c formula F e aplicabil rela iei r(R), dac orice
constant c din F este n dom(R), i orice atribut A din F este n R. O rela ie r satisface F
(sau F e valid n r), dac F e aplicabil rela iei r i orice tuplu t r satisface formula F n
sensul c formula G ob inut prin substituirea oric rui atribut A din F cu A-valoarea
tuplului t are valoarea adev r.
Defini ia 2.11. Selec ia rela iei r (R) conform formulei F, unde F e aplicabil
rela iei r(R), e o submul ime a rela iei r(R), notat cu F(r), ce const din toate tuplurile
t r ce satisfac F, adic
r & F(t)}.
F(r) = {t | t
Exemplul 2.12. Fie r(A B C D) din fig.2.15. Atunci s=
r
A
a
b
b
b
B
a
b
b
b
1
5
12
23
7
5
3
10
A
a
b
B
a
b
1
23
7
10
Fig.2.15.
Exist dou cazuri speciale ale selec iei.
(1) Dac F e o formul ce nu e compus nici dintr-o formul atomic , adic e o
formul nul , atunci F(r) = r. n acest caz asupra tuplurilor t r nu se
impune nici o constrngere pentru selec ie.
(2) Dac r(R) = , atunci F(r) = pentru orice formul F, fiindc F e valid n
orice rela ie vid .
Este evident c G( F(r)) = G&F(r). ntruct conjunc ia este comutativ , adic
F&G(r) = G&F(r), atunci i compozi ia a dou selec ii este comutativ . Deci G ( F(r)) =
F( G(r)).
Opera ia selec ia este distributiv n raport cu opera iile binare tradi ionale pe
mul imi. Fie r i s dou rela ii compatibile i { , ,\}, atunci F (r s) = F(r)
F (s).
S ar t m, de exemplu, c F (r s) = F(r)
F (s). ntr-adev r:
(r
s)
=
({t
|
t
r
t
s})
=
F
F
F(s).
r & ts
s & tr(A)
ts(B)}.
A
a1
a1
a2
B
b1
b2
b1
C
4
2
6
D
3
4
1
D
1
3
1
3
4
1
E
e2
e1
e2
e1
e1
e2
E
e1
e1
e2
Fig.2.16.
q
A
a1
a1
a1
a2
a2
a2
B
b1
b1
b2
b1
b1
b1
C
4
4
2
6
6
6
Fig.2.17.
Exemplul 2.13. Fie rela iile r(A B C) i s(D E) din fig.2.16, unde dom(C) =
dom(D). n fig.2.17 rela ia r|x|C>Ds este prezent .
Opera ia -jonc iunea poate fi exprimat prin opera iile produsul cartezian i
selec ia. Rezultatul unei -jonc iuni este acela i cu rezultatul unei selec ii operate asupra
unui produs cartezian, adic r|x|A Bs = A B(r s).
S observ m c opera ia selec ia poate fi simulat prin opera iile -jonc iunea i
proiec ie. Fie rela ia r(R). Pentru a calcula A a(r) se construie te o rela ie s definit pe
un singur atribut, A. Rela ia s con ine un singur tuplu componenta c ruia are valoarea a
pentru atributul A. Atunci
A a(r)
R(r
|x|A as).
s}.
Deci, fiecare tuplu din rela ia rezultat este o concatenare a unui tuplu din r cu un
tuplu din s ce au (R S)-valori egale. Atributele cu acela i nume n schema rela iei
rezultat se iau o singur dat .
Exemplul 2.14. n fig.2.18 sunt afi ate rela iile r(A B C), s(B C D) i q(A B C D),
unde q = r |x| s.
Dac R i S sunt disjuncte, R S= , atunci jonc iunea rela iilor r i s este identic
cu produsul cartezian al lor, adic r|x|s = r s.
Dac R S
i |R
proiec ia, selec ia i produsul cartezian: r|x|s = RS ( F (rs)), unde F = (r.A1 = s.A1) &
(r.A2 = s.A2) & & (r.Ak = s.Ak) pentru Ai R S, 1 N i N k.
Dac R=S, atunci r|x|s = r s. ntr-adev r:
RS
(rs)) =
(rs)) =
((r s) (r s)) = r s.
adic |x|(r1,r2,,rk).
A
a1
a1
a2
B
b1
b2
b1
q
C
c1
c1
c2
A B
B
b1
b1
b1
b2
C
c1
c1
c2
c2
D
d1
d2
d3
d4
10
a1 b1 c1
a1 b1 c1
a2 b1 c2
d1
d2
d3
Fig.2.18.
s1 A
a1
a2
s2 B
b1
b1
b1
b1
A
a1
a2
C
c1
c2
B
b1
b1
s3 A
a1
a2
C
c1
c1
C
c1
c2
Fig.2.19
Defini ia 2.14. Fie rela iile s1(S1),, sk(Sk). Consider m o consecutivitate de
tupluri t1,, tk , unde ti si (Si), 1 N i N k. Tuplurile t1,, tk se numesc jonc ionabile,
dac exist un tuplu t definit pe mul imea de atribute S1 Sk i t[Si]=ti, 1 N i N k. n
caz contrar se numesc nonjonc ionabile.
Exemplul 2.15. Fie rela iile s1(A B), s2(B C), s3(A C) i q(A B C ) din fig.2.19,
unde q=s1|x|s2|x|s3. Tuplurile<a1, b1>, <b1, c1>, i <a1, c1> sunt jonc ionabile. De
asemenea <a2, b1>, <b1, c2>, i <a2, c1> sunt jonc ionabile, dar tuplurile <a2, b1>, <b1,
c2>, i <a1, c1> sunt nonjonc ionabile.
S examin m acum leg tura dintre jonc iune i uniune.
Fie rela iile r(R), r1(R) i s(S). Atunci are loc urm toarea egalitate:
(r1 r)|x|s = (r |x|s) (r1 |x|s).
ntr-adev r, not m p r ile stnga i dreapta cu q i q1 respectiv. Fie t q. Atunci
exist n r1 r i s dou tupluri jonc ionabile tr i ts pentru care t[R]=tr i t[S]=ts. Dac
tr r, atunci ts r|x|s; dac , ns tr r1, atunci t r1|x|s. Deci t q1 i prin urmare q q1.
Acum presupunem c t q1. Atunci t r|x|s sau t r1|x|s. n ambele cazuri rezult
c t (r1 r)|x|s =q. Deci q1 q. Prin urmare q = q1.
S cercet m acum leg tura dintre proiec ie i jonc iune. Fie dou rela ii r(R) i
s(S). Not m q =r|x|s (din defini ia opera iei jonc iunea schema rela iei q este RS).
Proiect m rela ia q asupra mul imii de atribute R: r1= R(q). n ce corela ie se afl r1 i r
? R spuns: r1 r. ntr-adev r, fie t un tuplu arbitrar n q. Atunci conform defini iei
opera iei proiec ia r1 = {t[R]|t q}. Dar, pe de alt parte (n virtutea defini iei opera iei
jonc iunea ), t[R] trebuie s fie i tuplu n r.
Exemplul 2.16. Fie rela iile r(A B) i s(B C). Not m q=r|x|s i r1 = AB(q). n
urma opera iilor, observ m c tuplurile rela iei r1 constituie o submul ime proprie a
rela iei r (vezi fig.2.20.).
11
A B
a1 b1
a1 b2
B C
b1 c1
r1
A B C
a1 b1 c1
A B
a1 b1
Fig.2.20.
Exemplul 2.17. n acest exemplu r1 = r. Sunt date rela iile r(R) i s(S) cu
extensiile ca n fig.2.21, q = r|x|s, i r1 = AB(q). Este evident c semnul dintre rela iile
r1 i r este "=", dac pentru orice tuplu tr din r exist un tuplu ts n s ce satisfac egalitatea
tr[R S] = ts[R S]. Cu alte cuvinte, dac R S (r) = R S (s).
r
A
a1
a2
A
a1
a2
B
b1
b2
B
b1
b2
r1
B C
b1 c1
b2 c2
C
c1
c2
A
a1
a2
B
b1
b2
Fig.2.21.
S consider m acum leg tura dintre proiec ie i jonc iune, schimbnd ordinea de
aplicare a acestor opera ii.
Fie rela ia q e definit pe mul imea de atribute RS. Not m r = R(q) i s = S(q).
Fie q1 = r|x|s. Care e rela ia dintre q1 i q ? R spuns: q q1. ntr-adev r, fie t un tuplu
arbitrar al rela iei q. Atunci tuplurile t[R] i t[S] vor fi n rela iile r i s, corespunz tor.
Tuplurile t[R] i t[S] sunt jonc ionabile cu rezultatul t. Deci tuplul t este i n rela ia q1.
n cazul cnd q = q1, se spune c rela ia q se descompune f r pierderi pe
mul imile de atribute R i S.
Exemplul 2.18. Rela ia q din fig.2.22 se descompune f r pierderi pe mul imile
de atribute AB i BC, fiindc q = q1, unde r =
q
A
a1
a1
B
b1
b2
B
b1
b2
C
c1
c1
AB
C
c1
c1
(q), s =
BC
A
a1
a1
B
b1
b2
q1 A
a1
a1
B
b1
b2
C
c1
c1
(q), q1 = r|x|s.
Fig.2.22.
12
(q1), i
2.2.5. Diviziunea
Defini ia 2.15. Fie r(R) i s(S) dou rela ii i S R. Not m Q = R \ S. Diviziunea
rela iei r la rela ia s, notat cu rs, este o rela ie definit pe mul imea de atribute Q:
rs = {t| pentru ts s(S) tr r(R) ce satisface tr[Q]=t i tr[S]=ts}.
Remarc . Opera ia diviziunea poate fi conceput drept opera ie invers
produsului cartezian. Fie q=rs. Atunci qs produce o rela ie cu schema R i rela ia q va
con ine num rul maximal de tupluri ce ar satisface expresia qs r.
Teorema 2.1. Fie dou rela ii q(Q) i s(S). Dac r=qs, atunci q= rs.
Demonstra ie. Rela ia r este definit pe schema QS. E suficient s demonstr m c
q rs i rs q.
S ar t m c q rs. Fie w: = rs i t e un tuplu n q. Fiindc pentru orice tuplu ts
din s concatenarea tuplurilor t i ts este n r = qs, urmeaz (din defini ia opera iei
diviziunea) c tuplul t este n rela ia w. Deci q w.
S ar t m acum c rs q. Fie w:= rs i tw e un tuplu arbitrar din w. Atunci,
pentru orice tuplu ts din s (din defini ia opera iei diviziunea), concatenarea tuplurilor tw
ts este un tuplu din r. Orice tuplu n qs const din concatenarea unui tuplu din q cu un
tuplu din s. Prin urmare, exist n q un tuplu t, nct t=tw. Deci tw q i atunci w q.
Exemplul 2.19. Fie rela ia r(A B C) din fig.2.23. n fig.2.24(a)-2.24(e) sunt
prezentate rela iile s i q, unde q= rs. S se observe c qs r i c q con ine un num r
maximal de tupluri ce posed aceast proprietate.
r
A
a1
a2
a1
a1
a2
a1
a1
a1
B
b1
b1
b2
b2
b1
b2
b2
b1
C
c1
c1
c1
c2
c2
c3
c4
c5
13
Fig.2.23.
s
C
c1
A
a1
a2
a1
B
b1
b1
b2
A
a1
a2
B
b2
b1
A
a1
B
b2
A
a1
a2
A
a1
Fig.2.24(a).
s
C
c1
c2
Fig.2.24(b).
s
C
c1
c2
c3
c4
Fig.2.24(c).
s
B
b1
C
c1
Fig.2.24(d).
B
b1
b2
C
c1
c1
Fig.2.24(e).
14
Invers, dac t este un tuplu n rs, atunci t este n Q(r). Tuplul t nu poate apar ine
rela iei Q(( Q(r)s)\r), fiindc atunci ar trebui s existe n s un tuplu ts, nct
concatena ia tts s fie n Q(r)s i s nu fie rela ia r.
Deci t Q(r) \ Q(( Q(r)s)\r).
S subliniem c opera ia diviziunea nu este nici comutativ , nici asociativ .
Din defini ia diviziunii i remarc urmeaz c , dac rela ia r[R] este o submul ime
proprie de tupluri a rela iei s(S), atunci rs este o rela ie vid .
Dac S=
Semijonc iunea e o opera ie binar . Ea const n construirea unei rela ii din cele
i e format numai din tuplurile unei singure rela ii ce particip la jonc iune.
Defini ia 2.16. Fie dou rela ii r(R) i s(S). Semijonc iunea rela iei r i s, notat cu
R(r|x|s).
Exemplul 2.20. Fie rela iile r(A B), s(B C) i q(A B) din fig.2.25. Rela ia q =
r|xs.
r
A
a1
a1
a2
B
b1
b2
b1
B
b1
C
c1
A
a1
a2
B
b1
b1
Fig.2.25.
15
(b) S se g seasc numele clien ilor ce n-au dat nici o comand prin agentul a03.
CL_NUME (clien
i |x| (
CL_ID
(clien i)\
CL_ID
AG_ID="a03" (comenzi))))
(c) S se g seasc clien ii ce- i plaseaz comenzile numai prin agentul a03.
CL_ID
(clien i) \
CL_ID
|x|
(articole) \
ART_ID
((
CL_ID
CL_ORA]="Chi in u"
i))
i |x| (
CL_ID ART_ID(comenzi)
CL_ID
(i) S se g seasc clien ii ce au plasat comenzi prin agen ii care au livrat articolul
art03.
CL_ID
(comenzi |x|
AG_ID
(clien i |x|
REDUCERE
CL_ORA]="Chi in u"
i)))
16
(k) S se g seasc articolele, ce au fost comandate prin agen ii, ce au primit comenzi
de la clien ii, ce au comandat cel pu in un articol printr-un agent, ce a servit
clientul c001.
ART_ID
(comenzi |x| (
AG_ID
(comenzi |x| (
CL_ID
(comenzi |x| (
AG_ID
CL_ID
="c001" (comenzi))))))))
Evaluarea unei expresii algebrice presupune efectuarea opera iilor asupra rela iilor
din expresie n ordinea indicat de operatorii din expresie sau de paranteze. Rezultatul
evalu rii unei expresii este o rela ie. Deci orice expresie algebric define te o func ie, ce
aplic mul imea de rela ii din expresie ntr-o singur rela ie. Schema acestei rela ii
depinde de schemele rela iilor ce compun expresia algebric . Not m cu sch(E) schema
expresiei algebrice E.
Defini ia 2.18. Schema expresiei algebrice sch(E) se define te recursiv:
(1) dac E este o rela ie constant , atunci sch(E) este schema rela iei;
(2) dac E este rela ia ri cu schema Ri, atunci sch(E) = Ri;
(3) dac E este una din expresiile E1 E2, E1 E2, E1\E2, ~E1 i F(E1), unde F
este o formul aplicabil lui E1, atunci sch(E) = sch(E1);
(4) dac E este X(E1), atunci sch(E) = X;
(5) dac E este E1 E2, atunci sch(E) = sch(E1)\sch(E2);
(6)
(7)
dac E este una din expresiile E1E2, E1|x|FE2 i E1|x|E2, atunci sch(E) =
sch(E1) sch(E2);
dac E este ri:=rj, unde rela iile ri i rj au schemele Ri i Rj, respectiv, atunci
sch(E)=Rj.
2.4. Exerci ii
2.1. Fie rela iile r(A B C) i s(B C D), a dom(A) i b dom(B). Care din
expresiile algebrei rela ionale de mai jos sunt corecte?
(a) r s;
(b)
B(r) \ B(s);
(c)
B=b (r);
(d)
A=a,B=b(s);
(e)
(f)
r|x|s;
A(r)|x| D(s).
A
a
a
a
a1
B C
b c
b1 c1
b2
b1
c1
c
B C
b1 c1
b2 c1
D
d
d1
b2
Fig.2.26.
2.2. Fie r i s sunt rela iile din fig.2.26. S se calculeze expresiile:
(a) ~r;
17
(b)
(c)
(d)
s;
A=a(r);
2.3. Fie rela iile r(R) i s(S), i fie K R este cheia rela iilor r i s. Care din
rela iile de mai jos au n calitate de cheie mul imea K?
(a) r s;
(b) r s;
(c) r\s;
(d) ~r;
(e)
K(r);
(f)
r|x|s.
2.4. Fie rela ia r(R), A R, a, b dom(A). Care din expresiile de mai jos sunt
corecte?
(a)
;
A=a, A=b(r) =
(b)
A=a, A=b(r) = A=a(r).
2.5. Fie rela iile r(R) i s(S), A R i a dom (A). Confirma i sau infirma i
urm toarele egalit i:
~
(a)
A=a( r) = A=a(r);
(b)
A=a(r s) = A=a(r) s.
2.6. Fie rela ia r(A B C). Ce se poate de spus despre num rul de tupluri ale
rela iei A=a(r) ?
2.7. Fie rela ia r(R), X R, A R i A X. S se g seasc un exemplu ce ar
infirma egalitatea X ( A=a(r)) = A=a ( X(r)).
2.8. Fie rela iile r(R), s(R) i X R . Confirma i sau infirma i egalit ile:
(a)
X(r s) = X(r)
X(s);
(b)
X(r s) = X(r)
X(s);
(c)
(r\s)
=
(r)
\
(s);
X
X
X
~
~
(d)
X( r) =
X(r).
2.9. Fie rela ia r(R), A R. Not m S=R\A. Care sunt corela iile dintre
dimensiunile rela iilor r, A=a(r), A(r), S(r), A=a( A(r))?
2.10. Fie rela iile r i s. S se arate c :
(a)
s|x|s=s;
(b)
r|x|s = r|x|(r|x|s).
A=a(r|x|s)
A=a(r)|x|s.
2.12. Fie rela iile r(R), r1(R) i s(S). Confirma i sau infirma i egalit ile:
(a)
18
(b)
(c)
r|x|~s = r|x|s.
. S se arate c (r|x|s)s = r.
2.14. Fie rela iile r(R), s(S), s1(S) i S R. S se arate c s s1 implic rs1
S se arate c afirma ia invers nu e corect .
rs.
2.15. Fie rela iile r(ABC) i s(BCD). Care este schema expresiei algebrice
E=
~
A( B=b( r))
|x|
B( BC(r)
BC(s)).
19