Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Baze de date


Qdidactic » stiinta & tehnica » informatica » baze de date
Algebra relationala



Algebra relationala


Algebra relationala


Algebra relationala este unul din cele trei formalisme abstracte propuse de Codd pentru interogarea bazelor de date relationale. Aceasta are la baza un set de operatori care se folosesc ca primitive pentru construirea interogarilor. Algebra relationala este considerata un limbaj de tip procedural, intrucat interogarile exprimate cu ajutorul ei nu sunt altceva decat secvente de operatori prin care se specifica in mod explicit modul de obtinere a relatiei rezultat corespunzatoare fiecarei interogari.

Putem concluziona ca algebra relationala este o colectie de operatori ce au ca operanzi relatii; rezultatul aplicarii unui operator la una sau doua relatii este tot o relatie. Presupunand ca toate relatiile au un numar finit de tuple distincte si sunt descrise printr-o multime ordonata de atribute, atributele se vor deosebi prin pozitia pe care o ocupa in relatie sau prin numele asociat, numarul atributelor dand aritatea relatiei.



Operatorii utilizati in algebra relationala pot fi impartiti in doua grupe:

-operatori pe multimi – care actioneaza asupra relatiilor vazute ca multimi de elemente fara a lua in considerare caracterul de tupla al elementelor. Operatorii din aceasta grupa sunt o adaptare la relatii ale operatiilor uzuale pe multimi din matematica.

-operatori relationali speciali – care iau in considerare caracterul de tupla al elementelor operanzilor lor.

Operatii pe multimi

Pentru operatiile de reuniune, intersectie si diferenta, cele doua relatii operand trebuie sa fie compatibile la reuniune. Aceasta inseamna ca trebuie sa fie de acelasi grad iar atributele corespondente trebuie sa fie derivate din acelasi domeniu.

1.     Reuniunea relatiilor R si S notata cu R S este multimea tuplurilor care se gasesc in cel putin una din relatiile R sau S. Aceasta operatie se poate aplica numai in cazul in care R si S au aceeasi aritate si atributele corespunzatoare iau valori in aceleasi domenii, rezultatul avand si el aceeasi aritate ca a celor doua relatii si aceleasi domenii asociate. Daca atributele au nume, se cere ca, cele doua liste de nume sa coincida si rezultatul va avea aceeasi lista de nume pentru atribute.

Exemplu: R=

S=

R S=

2.     Diferenta relatiilor R si S, notata R S este multimea tuplurilor din R care nu sunt in S. Trebuie indeplinite aceleasi conditii ca si pentru reuniune.

Exemplu: R=

S=

R S=

3.     Intersectia relatiilor R si S, notata R S este multimea tuplurilor care se gasesc in ambele relatii. Aceasta operatie se poate aplica numai in cazul in care R si S indeplinesc conditiile specificate la reuniune. Intersectia se poate exprima si prin operatiile de baza cu formula:


R S=R (R S)

Exemplu: R=

S=

R S=

4.     Produsul cartezian. Fie relatiile R de aritate r si S de aritate s. Produsul cartezian al relatiilor R si S, notat R S ese multimea tuplurilor cu r+s componente, in care primele r componente formeaza un tuplu in R si ultimele s componente formeaza un tuplu in S. Daca atributele au nume, lista numelor atributelor din rezultat este multimea disjuncta a celor doua liste.

Exemplu: R=

S=

R S=

5.     Catul. Fie relatiile R de aritate r si S de aritate s cu r>s si S . Catul lui R prin S, notat R S este multimea tuplurilor t de ariate r s astfel incat pentru orice tuplu u al lui S, tuplul tu este in r. Daca atributele celor doua relatii au nume, atunci lista atributelor lui S trebuie sa fie o submultime a listei atributelor lui R si rezultatul are ca lista de atribute diferenta celor doua liste. Catul se poate exprima prin operatiile de baza cu formula:

R S=pi1,i2,,ir-s(R) pi1,i2,,ir-s pi1,i2,,ir-s(R) S) R)

Exemplu: R=

S=

R S=


Operatori relationali speciali:

1.     Selectia sau restrictia. Fie F o formula logica formata din operanzi care sunt constante sau numere de componente in tupluri, operatori de comparare aritmetica < > si operatori logici (si), (sau) si (non). Selectia relatiei R in raport cu formula F, notata sF(R) este multimea tuplurilor t din R pentru care formula F devine adevarata prin inlocuirea fiecarui numar de componenta i din ea cu valoarea cele de a i-a componente a tuplului t. Daca relatia R are asociate nume pentru atribute, se pot inlocui indicii cu numele atributelor respective, relatia rezultat avand pentru atribute aceleasi nume ca si relatia R. Pentru a se deosebi de indicii sau numele atributelor, toate constantele care apar in F sunt incluse intre apostrofuri.

2.     Proiectia. Fie relatia R de aritate r. Proiectia relatiei R dupa campurile i1, i2,,ik, notata pi1,i2,,ik(R) este multimea tuplurilor de aritate k de forma a1a2ak pentru care exista un tuplu b1b2br in R astfel incat a1=bi1, a2=bi2,, ak=bik. Daca relatia R are asociate nume pentru atribute, se pot inlocui indicii cu numele atributelor respective, aceste nume pastrandu-se si in relatia rezultata.

3.         Uniunea. O q-uniune a relatiilor R si S dupa coloanele i si j notata R X S, unde q este operator de comparatie, iqj

este multimea tuplurilor produsului cartezian dintre R si S pentru care a i-a componenta a lui R se afla in relatia q cu a j-a componenta a relatiei S. Daca q este operantul =, operatia se numeste echiuniune. Uniunea se poate exprima prin operatiile de baza cu formula:

R X S=siq(r+j)(R S)      iqj

Daca R si S au nume pentru atribute, atunci in loc de i si j se pot folosi numele atributelor corespunzatoare.

4.     Uniunea naturala. Se noteaza cu R X S si se aplica daca cele doua relatii R si S au nume asociate atributelor si, in acest caz, se selecteaza din produsul cartezian al relatiilor R si S acele tupluri ce contin valori comune pentru campurile cu acelasi nume din cele doua relatii; apoi se elimina valorile din campurile lui S comune cu cele ale lui R. Daca relatiile R si S au in comun atributele A1,A2,,AK, atunci se obtine formula:


R X S=pi1,i2,,im sR.AI=S.A1 R.Ak(R S))


unde i1,i2,,im este o sublista a atributelor lui R S in care apar mai intai atributele din lista atributelor lui R, urmata de atributele din lista atributelor lui S din care se elimina atributele S.A1,S.A2,,S.Ak.




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright