Documente Academic
Documente Profesional
Documente Cultură
TOPICI:
Modelul de Date
IERARHIC
Modelul de Date
RELATIONAL
Forme de
Structurare a
Datelor
Relatii
Modelul
Conceptual
Graf oarecare
Schema Relationala
Reprezentarea
Legaturilor 1:N
Reprezentarea
Legaturilor N:M
NU in mod direct, ci doar prin NU in mod direct, ci doar prin DA prin scheme de relatie
multiplicarea inregistrarilor
tipuri de legatura dedicate
separate
(sau
tabele
de
legatura)
Limbajul
de formulare a
interogarilor
Navigational
Navigational
conexiuni
de
Relational
Obs4: Facilitatile suplimentare, necuprinse in formalismele abstracte, de care dispun limbajele reale,
includ:
- comenzi de inserare
- comenzi de stergere
- comenzi de modificare
- posib. efect. de calcule aritm.
- fctii de tiparire a relatiilor de atribuire a acestora unor nume de variabile
- fctii de agregare care efectueaza diverse operatii: medie, suma, min, max (pe
valorile unei coloane dintr-o relatie)
ALGEBRA RELATIONALA
Def. Algebra Relationala =Formalism abstract propus de Codd pentru interogarea b.d. relationale
Bazat pe : set de operatori folositi ca primitive pt. construirea interogarilor.
Obs. AR = limbaj abstract de tip procedural (interogarile exprimate cu ajutorul ei sunt de fapt
secvente de operatori care specifica explicit modul de obtinere al relatiei rezultat)
Operatorii AR:
- operatori unari sau binari care actioneaza asupra relatiilor; rezultatul lor sunt tot
relatii posibilitatea asocierii si imbricarii pt. a forma interogari complexe
Grupe de Operatori:
O1: Operatori pt. Multimi ;
O1:
Reuniune
Intersectie
Diferenta
Produs Cartezian
OBS: Pt. Operatiile de Reuniune, Intersectie si Diferenta, cele doua relatii operand trebuie sa fie compatibile la
reuniune, ceea ce inseamna ca trebuie sa fie de acelasi grad, iar atributele corespondente trebuie sa fie
derivate din acelasi domeniu.
Definitiile Operatorilor pt. Relatii privite ca Multimi (operatorii din categoria O1):
Reuniunea a doua relatii A si B, notata A B, este o relatie R care contine toate tuplele care apartin relatiei A sau
relatiei B.
Intersectia a doua relatii A si B, notata A B, este o relatie R care contine toate tuplele care apartin atat relatiei A
cat si relatiei B.
Diferenta a doua relatii A si B, notata A - B, este o relatie R care contine toate tuplele care apartin relatiei A dar nu
apartin relatiei B.
Produsul Cartezian a doua relatii A si B, notat A x B, A fiind de gradul m iar B de gradul n, este o relatie R de
grad m+n, care contine toate tuplele obtinute prin concatenarea fiecarei tuple din relatia A cu fiecare
tupla din relatia B (exemplificare).
relatia A care satisfac predicatul P. Predicatul P este o formula (conditie) care poate contine:
- operanzi ce sunt fie nume de atribute fie constante
- operatori de comparatie ( =, <, >, , <=, >= )
- operatori logici ( &, | , ! )
Proiectia pe atributele A1, A2, A3,..., An a unei relatii B de grad m>n si care cuprinde atributele A1, A2, A3,...,
An , notata A1, A2, A3,..., An(B), este o relatie R de grad n obtinuta din relatia B astfel:
Pasul 1: Se elimina din relatia B atributele care nu sunt specificate in lista de proiectie, a.i. raman doar
coloanele corespunzatoare atributelor A1, A2, A3,..., An
Pasul 2: Se reordoneaza atributele ramase in ordinea specificata in lista de proiectie A1, A2, A3,..., An
Pasul 3: Se elimina tuplele duplicat.
Proiectia unei relatii = o selectie verticala a acesteia (se selecteaza coloanele coresp. atributelor din lista de
proiectie), urmata de eliminarea tuplelor duplicat si reordonarea atributelor ramase in ordinea
specificata prin lista de proiectie.
O2.2 :
Cuplarea (Join) :
Fie un operator aritmetic de comparatie ( =, <, >, , <=, >= );
Fie X un atribut al relatiei A si Y un atribut al relatiei B, X si Y fiind definite pe domenii compatibile;
Numim - cuplare a relatiilor A si B dupa atributele X si Y , notata
43
XY
o relatie R care contine acele tuple ale produsului cartezian AxB care au proprietatea ca valorile x si y
corespunzatoare atributelor X respectiv Y sunt in relatia x y.
OBS:
43
XY
B = X Y (AxB)
Diviziunea relatiei A de grad m prin relatia B de grad n , notata A B, este o relatie R de grad m-n, formata
din multimea tuplelor r cu proprietatea ca pentru orice tupla b din B exista o tupla a in A egala cu
rezultatul concatenarii tuplelor r si b.
OBS:
a) Multimea atributelor relatiei B trebuie sa fie o submultime a multimii atributelor relatiei A. Relatia R
contine doar acele atribute din relatia A care nu apar in relatia B.
b) O tupla din relatia A este retinuta in urma operatiei de diviziune numai daca este legata de fiecare tupla
din relatia B printr-o conditie predefinita.
c) Relatia obtinuta prin produsul cartezian al relatiilor R si B este inclusa in relatia A (rezulta direct din
definitie); notand prin Rest multimea tuplelor din relatia A care nu apar in produsul cartezian al relatiilor
B si R obtinem urmatoarea relatie ( asemanatoare cu teorema impartirii cu rest din aritmetica):
A = B x R Rest