8.Selectia
- Are in calitate de operand o singura relatie. Ea extrage din relatia data tuplurile care satisfac un criteriu de selectie. in consecinta se obtine o relatie care este constituita dintr-o submultime de tupluri ale relatiei initiale. Pentru selectarea tuplurilor dintr-o relatie, se specifica criteriul de selectare. Acest criteriu, fie ca e notata prin F, reprezinta o formula bine formata care poate fi definita recursiv.
- O formula F asupra unei relatii r, se defineste ca o expresie logica compusa din operanzi care sunt nume de atribute sau constante; operatorii de comparatie aritmetica =, !=, <, <=, >=, >, operatorii logici &, ∨, ¬. precum urmeaza:
- A θ B si A θ a doua formule bine formate (atomice) unde A si B sunt atribute compatibile si a ∈ dom (A),iar θ ∈ (=, !=, <, <=, >=, >,)
- Daca G si H sunt formule bine formate, atunci vonjunctia G & H, disjunctia G ∨ H, negatiile ¬G si ¬H sunt formule bine formate
- Nicio alta formula nu e formula bine formata in calitate de criteriu
- Formula bine formata F e aplicabila relatiei r(R), daca orice constanta c din F este in dom(A), unde A∈ R, si orice atribut utilizat in F este in R. O relatie r satisface F, daca F e aplicabila relatiei r si orice tuplu t∈ r satisface formula F, in sensul ca formula obtinuta prin substituirea oricarui atribut A din F cu A-valoarea tuplului t are valoarea adevar.
- Selectia relatiei r(R) conform unei formule bine formate si aplicabile F este o submultime de tupluri ale relatiei r(R), notata cu σF(r), ce consta din toate tuplurile t∈ r , care satisfac F, adica
σF(r) = { t | t ∈ r & F(t)}
Cu alte cuvinte, o selectie σF(r) produce o relatie care are aceleasi atribute ca relatia r si care contine acele tupluri din r pentru care F este adevarata.
Exista si cazuri speciale ale selectiei:
- Daca F e o formula vida, sau o tautologie, atunci σF(r) = r. In acest caz, asupra tuplurilor t ∈ r nu se impune nicio constringere de selectie.
- Daca r(R) = , atunci σF(r) = pentru orice formula F, deoarece F e satisfacuta de orice relatie vida.
Unele proprietati ale expresiilor ce includ operatia selectia
- Compozitia a doua selectii este comutativa: σG(σF(r)) = σF(σG(r))
- Selectiile pot fi atomizate σF&G(r) = σF(σG(r))
- Operatia selectia este distributiva in raport cu operatiile binare traditionale pe multimi. Astfel, daca r si s sunt doua relatii compatibile si x∈ { ∪ , ∩ , \}, atunci σF(r x s) = σF(r) x σF(s)
- Operatiiile selectia si proiectia se bucura de proprietatea comutativa, daca sunt respectate unele conditii. Fie r o relatie cu schema R si fie X ⊆ R si F o formula bine formata definita pe X. Atunci x(σF(r) ) = σF(x(r) .
- In plus sunt urmatoarele proprietati
- σF∨ G(r) = σF(r) ∪ σG(r)
- σF& G(r) = σF(r) ∩ σG(r)
- σF& (¬G)(r) = σF(r) \ σG(r)
9.Jonctiunea naturala
- jonctiunea este una din operatiile esentiale ale algebrei relatioanale, probabil, cea mai dificil de realizat de SGBD-uri. Jonctiunea poate compune doua relatii folosind un criteriu de jonctiune. Aceasta poate fi vazuta ca o extensie a produsului cartezian cu o conditie de comparare a atributelor.
- Jonctiunea naturala pentru doua relatii r(R) si s(S) (notata r s) se obtine facind jonctiunea celor doua relatii dupa conditia "atributele cu acelasi nume au valori egale" si eliminid prin proiectie atributele duplicat (cele dupa care s-a facut jonctiunea)
- Fie r(R) si s(S) doua relatii. Jonctiunea naturala r s este o relatie definita pe schema RS (adica R ∪ S) astfel, incit
r s = { t | t [R]∈ r & t[S]∈ s}
Definita confirma faptul ca tuplurile relatiei-rezultat provin din combinarea tuplurilor din r cu tuplurile din s care au valori egale pentru atributele comune, adica (R ∩ S) - valori egale. In practica, de obicei, atributele comune R ∩ S, constituie intr0o relatie, cheiea primara, iar in alta relatie - cheia externa.
- Jonctiunea naturala se calculeaza de SGBD in trei etape:
- Mai intii, este determinat produsul cartezian r x s.
- Apoi, asupra produsului cartezian obtinut, este efectuata o operatie de selectie, prin extragerea tuplurilor care continaceleasi valori, ale atributelor comune din schemele relatiilor incidente r si s
- In final sunt eliminate atributele redundante rezultate
- Cazuri speciale:
- Daca Schemele R si S sunt disjuncte, R ∩ S = , atunci jonctiunea relatiilor r si s este identica cu produsul cartezian al lor,
adica r s = r x s - Daca R ∩ S ≠ si | R ∩ S | = k, atunci jonctiunea poate fi redata prin operatiile proiectia, selectia si produsul cartezian
- Daca R = S, atunci r s = r ∩ s
- Daca toate tuplurile din ambele relatii sunt jonctionabile, se spune ca jonctiunea naturala este completa.
Fie r(R) si s(S) doua relatii. Jonctiunea naturala r s este completa daca:
∀tr ∈ r, ∃ t ∈ r s, astfel incti t [R] = tr si
∀ts ∈ s, ∃ t1 ∈ r s, astfel incti ts [S] = ts
- Jonctiunea natarula dintre r si s contine un numar de tupluri cuprins intre 0 si |r| * |s|. Mai mult decit atit:
- Daca jonctiunea este completa atunci | r s | >= max( | r |, | s | ).
- Daca R ∩ S contine o cheie pentru s, atunci | r s | <= | r |
- Daca R ∩ S este cheie primara pentru s si exista constringerea de integritate referentiala pe atribute R ∩ S din r si s, atunci | r s | <= | r |
10.Semijonctiunea
- In unele cazuri, in timpul executarii unei jonctiuni, nu este necesar sa se pastreze atributele ambelor reltii in relatia-rezultat.
- Semijonctiunea este o operatie binara. Ea consta in construirea unei relatii din cele doua, dar e formata nuami din tupluri luate dintr-o singura relatie ce participa la jonctiune.
- Fie doua relatii r(R) si s(S). Semijonctiunea relatiilor r si s, notata cu r s, este o multime de tupluri determinata de proiectia asupra multimii de atribute R a jonctiunii naturale dintre relatiile r si s:
r s = R (r s)
11.Jonctiunea Theta
- Denumita si jonctiune generala, a doua relatii produce o a treia relatie care contine toate combinatiile de tupluri ale celor doua realtii care satisfac o conditie initilala specificata. Conditia trebuie, desigur, sa permita fuziunea celor doua relatii. Denunmirea de theta-jonctiune este folosita din motive istorice, simbolul θ (unde θ∈ (=, !=, <, <=, >, >=), fiind utilizat, initial pentru a desemna o conditie de comparare intre atributele celor doua relatii
- Fie doua relatii r(R) si s(S). Jonctiunea theta a relatiilor r si s, notata cu r F s reprezinta produsul cartezian la relatiilor r si s, urmat de o selectie dupa conditia F (conditie de jonctiunea): r F s = σF(r x r)
- Conform definitiei, jonctiunea-theta este efectuata in urmatoarea ordine:
1. Se calculeaza produsul cartezian r x s.
2. Din relatia obtinuta, sunt extrase, prin selectie, tuplurile care satisfac formula F.
12.Jonctiuni externe
- Sunt trei variante de jonctiune externa:
- La stinga . Rezultat apar toate tuplurile relatiei din stinga operatorului
- La dreapta
- Completa
13.Divizarea
- permite cautarea, intr-o relatie a subtuplurilor care pot fi completate cu toate celelalte din alta relatie.
14.Interogari in algebra relationala