algebra relationala
DESCRIPTION
dadadaTRANSCRIPT
ALGEBRA RELATIONALA
Odata memorate datele, apar doua probleme: Problema regasirii informatiei (interogare) Problema actualizarii informatiilor prin
inserare/adaugare, modificare, stergerePentru modelul relational, cea
mai potrivita modalitate teoretica de abordare a acestor operatii o constituie algebra relationala.
Set de operatii aplicate asupra uneia sau a doua relatii initiale si care au ca rezultat o alta relatie = algebra relationala.
Pentru a exemplifica operatiile, vom considera urmatoarele scheme relationale:
Clasa(codclasa, sala, diriginte) Elev(nume, medie, nrabs, codclasa) Profesor(nume, grad, datan, disciplina)
1. Selectia Se aplica asupra unei singure relatii si
are ca rezultat o noua relatie, cu aceeasi schema relationala, si ale carei inregistrari constituie o submultime a relatiei initiale.
Forma generala:Select R where <conditie>
Ex: select elev where codclasa=’12A’ select profesor where nume=‘Ionescu’
2. Proiectia Se aplica asupra unei relatii si are ca
rezultat o noua relatie, cu mai putine atribute.
Forma generala:project R on <lista atribute>
Ex: project clasa on codclasa,diriginte project profesor on disciplina
3. Produsul cartezian Se aplica asupra a doua relatii initiale si
are ca rezultat relatia corespunzatoare produsului cartezian(schema relationala a rezultatului reprezinta reuniunea celor doua scheme initiale, iar drept inregistrari are toate combinatiile dintre orice doua inregistrari ale relatiilor initiale).
Forma generala:R1 product R2
ex: clasa product elev
4. Reuniunea Se aplica asupra a doua relatii avand
aceeasi schema relationala si se obtine o relatie ce va contine reuniunea multimilor de inregistrari ale relatiilor initiale.
Forma generala:R1 union R2
Ex: elevg union elevl
5. Diferenta Se aplica asupra a doua relatii cu
aceeasi schema relationala si are ca rezultat relatia care contine diferenta multimilor de inregistrari ale relatiilor initiale.
Forma generala:R1 minus R2
6. Intersectia Se aplica asupra a doua relatii cu
aceeasi schema relationala si rezulta o relatie ce va contine intersectia inregistrarilor.
Forma generala:R1 intersect R2
R1 intersect R2 = ((R1 union R2) minus (R1 minus R2)) minus (R2 minus R1)
7. Jonctiunea Se aplica asupra a doua relatii care au, fiecare,
cel putin un camp definit peste acelasi domeniu. Noua relatie va avea drept atribute reuniunea atributelor celor doua relatii, iar ca inregistrari va avea acele inregistrari care se pot forma din orice doua inregistrari initiale pentru care valorile din campurile de legatura sunt egale.
Forma generala:join R1 and R2 where
R1.<atribut>=R2.<atribut>
ex: join clasa and elev where clasa.codclasa=elev.codclasa
8. Diviziunea Operatie oarecum inversa produsului
cartezian. Pentru o relatie mai mare R1 si o a doua
relatie R2, formata doar cu o parte din atributele primei relatii, aplicand diviziunea vom obtine acele inregistrari din prima relatie care ‘relationeaza’ cu toate inregistrarile din relatia a doua.
Forma generala:R1 divide R2
Aplicatii ale algebrei relationale O interogare se efectueaza prin
combinarea operatiilor de selectie, proiectie si jonctiune.
Adaugarea unei inregistrari se realizeaza prin reuniune.
Stergerea unei inregistrari se realizeaza prin diferenta.
Modificarea unei inregistrari se realizeaza prin stergere si adaugare.
Exemple Care este numele dirigintelui clasei x? In ce sala invata clasa 12A? Care sunt elevii clasei x cu media peste
7.50? Care este data nasterii dirigintelui
elevului x? Sa se adauge elevul Popescu, la clasa
11B stiind ca are media 9.00 si 2 absente.
Sa se stearga elevul Ion din clasa 11D stiind ca are media 10 si 0 absente.