Sunteți pe pagina 1din 2

BAZE DE DATE curs 2

 Modelul de date relational

Structura relationala:

DOMENIUL === Reprezinta un ansamblu de valori, caracterizat printr-un nume.


- identificam pentru fiecare atribut (id, nume,etc) definim in ce domeniu de valori se incadreaza. Id: in
domeniu numeric (1-....), nume: sir de caractere, varsta (desi se calculeaza prin data nasterii), comision (0-
100%, numeric), etc.
Se poate defini: -explicit, prin enumerarea tuturor valorilor apartinand acestuia
-implicit, prin precizarea prop pe care le au valorile din cadrum domeniului respectiv

Pentru un ansamblu de domenii D1,D2,...Dn, produsul cartezian al acestora reprezinta ansamblul tuplurilor
<V1,V2,..Vn> unde: v1 este o valoare apartinand domeniului D1, v2, o valoare din D2 samd.

 Tuplu= inregistrare(= linia unei tabele de date si nu are nume) relatie=tabela Ex: <”Mari”, „F”, 50>
 Relatia reprezinta un ansamblu al produsului cartezian al mai multor domenii, care este
caracterizat printr-un nume si contine tupluri cu semnificatie.
Intr-o relatie, tuplurile trebuie sa fie distincte (nu se admit duplicate). Daca sunt duplicate, introducem un
atribut cu rol de identificare (id)
 Intensia(schema) relatiei: R(A1;D1...Dn) A1:D1 A2:D2 A3:D3
Reprezentare ca tabel bidimensional a 1 Alpha
b 2 beta
 Extensia unei relatii:ansamblul tuplurilor care compun la un moment dat relatia
Nr tuplurilor dintr-o relatie repr CARDINALUL relatiei, in timp ce nr valorilor dintr-un tuplu defineste gradul
acesteia.
 Schema unei relatii-alcatuita din numele relatiei, urmat de lista atributelor, pentru fiecare atribut
precizandu-se domeniul asociat. R (A1:D1,...,An:Dn)

 Atributul =Coloana unei tabele de date, caracterizata printr-un nume. Numele coloanei exprima,
de regula, semnificatia valorilor din cadrul coloanei respective.
 Cheie primara-atribut sau ansamblu de acestia care are rolul de a identifica o inreg dintr-o tabela.

Operatori SQL
Operatori rationali- mecanisme prin care
vizualizam datele
De 2 tipuri: din algebra relationala (AR) si din
calculul relational (CR)

Structura relationala: Mecanisme prin care


asiguram date corecte, coerente, nimic lipsa, sa
reusim sa facem o aplicatie buna

Algebra relationala- Repr operatii pe relatii in


care operatorii descriu tipuri de prelucrari
asupra relatiilor, operanzii sunt relatii, iar
rezultatul este tot o relatie.

Operatori de baza: universali: reuniunea, diferenta, produsul cartezian; specifici: proiectia, selectia,
jonctiunea.
Operatori derivati: intersectia si diviziunea
Extensii ale algebrei relationale standard:complementarea unei relatii, spargerea unei relatii si inchiderea
tranzitiva

 Proiectia (din tabela obtin doar ce coloane ma intereseaza, cu tot ce doresc=taiere verticala in
tabele)
Definita asupra unei relatii R, si consta in construirea unei noi relatii P, in care se gasesc numai acele
atribute din R specificate explicit in cadrul operatiei.
Implica efectuarea unor taieturi verticale asupra relatiei R si care pot avea ca efect aparitia unor tupluri de
duplicare, care se cer a fi eliminate.
Se trece de la o relatie de grad n la o relatie de grad n la o
relatie de grad p, mai mic decat cel initial (p<n), adica de la
un spatiu de n dimensiuni la unul cu mai putine dimensiuni,
ceea ce explica si numele de proiectie.

Exemplu:
Select distinct varsta, salariul from angajati;

 Selectia-operatia definita asupra unei relatii R, care consta din construirea unei relatii S, cu
aceeasi schema ca R si a carei extensie este constituita din acele tupluri din R care satisfac conditia
mentionata explicit in cadrul operatiei.
Implica efectuarea de taieturi orizontale asupra relatiei R, adica eliminarea unor tupluri ale relatiei.
Select * from angajati where salariul>2000 or nume = ‚Raluca’
&conditie(R) R[conditie] RESTRICT(R,conditie)

 Produsul cartezian=operatie definita pe


doua relatii R1 si R2, pe baza carora se
construieste o noua relatie, R3, a carei
schema se obtine prin concatenarea
schemelor relatiilor R1 si R2 si a carei
extensie cuprinde toate combinatiile tuplurilor din R1 cu cele din R2.
R1 x R2 product(R1,R2) TIMES (R1,R2)
SELECT * FROM angajati, comenzi;
SELECT * FROM angajati CROSS JOIN comenzi;

 Foreign key imi asigura ca intr-o coloana nu am un atribut inexistent, nu returneaza datele ci
verifica integritatea lor. Punand corect conditia de jonctiune obtinem ceea ce cautam din tabele.
 Joncţiunea: Reprezintă operaţia definită pe două relaţii, R1 şi R2, care constă din construirea unei
noi relaţii R3, prin concatenarea unor tupluri din R1 cu tupluri din R2, pe baza unei condiţii
specificate explicit în cadrul operaţiei.
Extensia relaţiei R3 va conţine combinaţiile acelor tupluri care satisfac condiţia de concatenare.

S-ar putea să vă placă și