Documente Academic
Documente Profesional
Documente Cultură
BAZE DE DATE
• Structura relaţională
• Operatori relaţionali
• Restricţiile de integritate
Structura relaţională
• Domeniu
• Relaţie
• Atribut
• Tuplu
• Cheie
• Schemă
Domeniul
• Reprezintă un ansamblu de valori, caracterizat printr-un
nume.
• Un domeniu se poate defini:
• explicit, prin enumerarea tuturor valorilor aparţinând acestuia
• implicit, prin precizarea proprietăţilor pe care le au valorile
din cadrul domeniului respectiv
Exemplu:
D1 : {"F", "M" }
D2 : {x | x N, x [0, 100]}
D3 : {s | s=şir de caractere}
Domeniul
• Pentru un ansamblu de domenii D1, D2, ..., Dn
produsul cartezian al acestora reprezintă
ansamblul tuplurilor <v1, v2, ..., vn>, unde: v1
este o valoare aparţinând domeniului D1, v2
este o valoare din D2 ş.a.m.d.
De exemplu, tuplurile:
<"Maria", "F", 50>,
<"Vasile", "M", 15>,
<"Vasile", "M", 20>,
<"Vasile", "F", 100>
aparţin produsului cartezian: D3 D1 D2.
Relaţia
• Relaţia reprezintă un subansamblu al produsului cartezian
al mai multor domenii, care este caracterizat printr-un
nume şi conţine tupluri cu semnificaţie;
• Într-o relaţie, tuplurile trebuie să fie distincte (nu se
admit duplicate);
• Să presupunem că se acordă o anumită semnificaţie
valorilor domeniilor D1, D2, D3. Numai unele dintre
tuplurile produsului cartezian: D3 D1 D2 pot avea o
semnificaţie şi anume cele care conţin numele, sexul şi
vârsta aceleiaşi persoane.
Relaţia
• Intensia (schema) relatiei: R (A1:D1, ..., An:Dm)
• Reprezentare ca tabel bidimensional
A1:D1 A2:D2 A3:D3
a 1 α
b 2 β
Tuplul
Tuplul reprezintă linia unei tabele de date şi nu are nume.
Cheia primară
Cheia desemnează un atribut sau un ansamblu de atribute
care are rolul de a identifica o înregistrare dintr-o tabelă.
Schema unei relaţii
Proiecţia
• Definită asupra unei relaţii R, proiecţia constă din
construirea unei noi relaţii P, în care se regăsesc numai acele
atribute din R specificate explicit în cadrul operaţiei.
• Implică efectuarea unor tăieturi verticale asupra relaţiei R şi
care pot avea ca efect apariţia unor tupluri duplicate, care se
cer a fi eliminate.
• Se trece de la o relaţie de grad n la o relaţie de grad p, mai
mic decât cel iniţial (p < n), adică de la un spaţiu de n
dimensiuni la unul cu mai puţine dimensiuni, ceea ce explică
şi numele de proiecţie.
Proiecţia
• Ai,……, Am (R)
• R[Ai,..., Am]
• PROJECT(R, Ai,..., Am)
ANGAJATI Varsta,salariu
Nume Varsta Salariu Varsta Salariu
Ion 25 3000 25 3000
Varsta Salariu
Mihai 30 2000 30 2000
25 3000
Anca 25 3000 25 3000
30 2000
Sofia 30 2000 30 2000
Mircea 30 2000 30 2000
Exemplu PROIECTIE
Selecţia
• Reprezintă operaţia definită asupra unei relaţii R, care
constă din construirea unei relaţii S, cu aceeaşi schemă
ca R şi a cărei extensie este constituită din acele tupluri
din R care satisfac condiţia menţionată explicit în
cadrul operaţiei.
• Implică efectuarea de tăieturi orizontale asupra relaţiei
R, adică eliminarea unor tupluri ale relaţiei.
Selectia
• δcondiţie (R)
• R [condiţie]
• RESTRICT (R, condiţie)
ANGAJATI
Nume Varsta Salariu δ(salariu>2000 or nume=Mircea)
Ion 25 3000 Nume Varsta Salariu
Mihai 30 2000 Ion 25 3000
Anca 25 3000 Anca 25 3000
Sofia 30 2000 Mircea 30 2000
Mircea 30 2000
Exemplu SELECTIE
SELECT *
FROM angajati
WHERE salariul>2000 or nume=‘Raluca’
Produsul cartezian
SELECT *
FROM angajati, comenzi;
SELECT *
FROM angajati CROSS JOIN comenzi;
Joncţiunea
• R1 ⋈ R2
• JOIN (R1, R2, condiţie)
Joncţiunea de egalitate
SELECT *
FROM angajati a JOIN comenzi c
ON a.id_ang=c.id_ang;
SELECT *
FROM angajati a JOIN comenzi c
USING (id_Ang);
Joncţiunea naturală
Presupune existenţa unor atribute având aceeaşi denumire
în ambele relaţii
SELECT *
FROM angajati a NATURAL JOIN comenzi c;
Joncţiunea externă
BAZE DE DATE
Clienti Angajati
Diferenţa
• Este o operaţie definită pe două relaţii, R1 şi R2, ambele
cu aceeaşi schemă, prin care se obţine o nouă relaţie, R3,
cu extensia formată din acele tupluri ale relaţiei R1 care
nu se regăsesc şi în relaţia R2.
• R1 – R2
• MINUS (R1, R2)
Diferenţa
NU!
Clienti – Comenzi Clienti – Comenzi DE CE?
DA
Ce afişează?
Intersecţia
• R1 R2
• INTERSECT (R1, R2)
Intersecţia
Clienti Comenzi
Ce afişează?
Alţi operatori
• Diviziunea
• Complementarea
• Spargerea unei relaţii
• Închiderea tranzitivă
Operatori ai calculului relational
• Conectivele (conectorii):
• Conjuncţia
• Disjuncţia
• Negaţia
• Cuantificatorii:
• Cuantificatorul existenţial
• Cuantificatorul universal
Restricţiile de integritate
• Restricţii de comportament:
• De domeniu
• Temporare
Restricţia de unicitate a cheii