Extras din curs
Algebra relaţională deseori e concepută ca un limbaj abstract de formulare a interpelărilor (cererilor) sau ca o colecţie de operaţii pe relaţii având drept operanzi una sau mai multe relaţii şi producând ca rezultat altă relaţie. Operaţiile algebrei relaţionale pot fi divizate în două grupuri: operaţiile tradiţionale pe mulţimi (vezi fig.2.1) ce consideră relaţiile ca mulţimi de tupluri şi operaţiile relaţionale native (fig.2.2).
Denumire Simbol
Uniunea
Intersecţia
Diferenţa
Produsul (cartezian)
Fig. 2.1. Operaţiile tradiţionale pe mulţimi
Denumire Simbol
Proiecţia
Selecţia
Joncţiunea
- joncţiunea
Semijoncţiunea
Diviziunea
Fig.2.2. Operaţiile relaţionale native
2.1. Operaţiile tradiţionale
2.1.1. Scheme relaţionale compatibile
Operaţiile binare asupra relaţiilor: uniunea, intersecţia şi diferenţa, necesită ca operanzii (relaţiile) să fie definiţi pe scheme compatibile. Compatibilitatea schemelor se defineşte în felul următor.
Definiţia 2.1. Vom spune că două relaţii r(R) şi s(S) sunt compatibile (sau au scheme compatibile), dacă între R şi S există o corespondenţă biunivocă f: pentru orice atribut A din R, există un atribut B în S încât dom(A)=dom(B), B=f(A) şi A=f-1(B), unde f-1 este funcţia inversă funcţiei f.
Remarcă. Două relaţii cu aceeaşi schemă sunt compatibile.
vânzări FIRMĂ ARTICOL articole ARTICOL CULOARE
f1 a1 a1 c1
f1 a2 a1 c2
f2 a1 a1 c3
f3 a1 a3 c2
a2 c1
furnizori ARTICOL FURNIZOR
a1 f1
a1 f3
a2 f1
a3 f3
Fig.2.3.
Exemplul 2.1. Fie baza de date din fig.2.3 ce constă din trei relaţii: vânzări(FIRMĂ ARTICOL), articole(ARTICOL CULOARE), furnizori(ARTICOL FURNIZOR). Schemele relaţiilor vânzări şi articole nu sunt compatibile, în timp ce schemele relaţiilor vânză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 B C s A B C
a1 b1 c1 a1 b1 c1
a1 b2 c3 a1 b1 c2
a2 b1 c2 a1 b2 c3
a3 b2 c3
Fig.2.4. Relaţiile r(A B C) şi s(A B C)
q A B C
a1 b1 c1
a1 b1 c2
a1 b2 c3
a2 b1 c2
a3 b2 c3
Fig.2.5. Relaţia q = r s
Definiţia 2.2. Uniunea a două relaţii compatibile r(R) şi s(S), notată cu r s, e o relaţie definită pe schema R sau S şi constă din tuplurile ce aparţin relaţiilor r sau s, adică
r s t | t r ⋁ 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.
Operaţia uniunea are două proprietăţi. Ea e comutativă, adică r s = s r. Ea este şi asociativă, adică (r s) q = r(s q) pentru relaţiile mutual compatibile r, s şi q. Prin urmare, în expresiile ce conţin o cascadă de operaţii uniunea, parantezele pot fi omise fără a provoca ambiguităţi. Deci, dacă avem k relaţii compatibile r1,r2,…,rk, uniunea acestor relaţii poate fi notată cu (r1, r2,…, rk).
Operaţia uniunea are două cazuri speciale. Pentru orice relaţie r(R) au loc: r = r şi r s = s, dacă 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.
Preview document
Conținut arhivă zip
- Algebra Relationala.doc