Presentation is loading. Please wait.

Presentation is loading. Please wait.

Baze de Date 2011-2012 Anca Ion Baze de Date -Algebra Relaională I- Universitatea din Craiova, Facultatea de Automatica, Calculatoare si Electronica.

Similar presentations


Presentation on theme: "Baze de Date 2011-2012 Anca Ion Baze de Date -Algebra Relaională I- Universitatea din Craiova, Facultatea de Automatica, Calculatoare si Electronica."— Presentation transcript:

1 Baze de Date 2011-2012 Anca Ion Baze de Date -Algebra Relaională I- Universitatea din Craiova, Facultatea de Automatica, Calculatoare si Electronica

2 Baze de Date 2011-2012 Anca Ion Introducere Limbaj de interogare = limbaj în care un utilizator solicită informaţii din baza de date (BD). De obicei, limbajele de interogare sunt de nivel mai înalt decât limbajele standard de programare. Limbajele de interogare sunt procedurale sau ne-procedurale. În limbajele procedurale, utilizatorul indică sistemului succesiunea de operaţii asupra BD pentru a determina rezultatul dorit. În limbajele ne-procedurale, utilizatorul descrie rezultatul dorit, fără a indica procedura prin care acesta este obţinut. Limbaje “pure”- neimplementabile Algebra relaţională Calcul relaţional orientat pe tuplu Calcul relaţional orientat pe domeniu

3 Baze de Date 2011-2012 Anca Ion Introducere Algebra relaţională și calculul relațional sunt limbaje matematice, formale, asociate cu modelul relaţional de date. Algebra relaţională este un limbaj procedural - specifică cum se procesează interogarea. Calculul relațional este ne-procedural – specifică ce se dorește. Ambele familii de limbaje sunt concise şi formale, fără a poseda „cadrul sintactic” al limbajelor comerciale de interogare. Algebra relaţională şi calculul relaţional sunt însă limbaje care pun în evidenţă foarte bine tehnicile principale folosite în procesul găsirii şi extragerii informaţiei din BD.

4 Baze de Date 2011-2012 Anca Ion Elemente de algebră relaţională Algebra relaţională oferă mijloace puternice de a construi relaţii noi din alte relaţii date. Atunci când relaţiile date sunt reprezentate de informaţii memorate, relaţiile construite cu mijloacele algebrei pot fi răspunsuri la fraze de interogare asupra acestor informaţii. În algebra relaţională, operanzii sunt: a) variabile, care reprezintă relaţii; b) constante, care sunt relaţii finite.

5 Baze de Date 2011-2012 Anca Ion Elemente de algebră relaţională În algebra relaţională „clasică” toţi operanzii şi toate rezultatele expresiilor sunt mulţimi. Vom grupa operaţiile din algebra relaţională tradiţională în patru clase: a) operaţiunile specifice teoriei mulţimilor (reuniune, intersecţie, diferenţă), dar aplicate asupra relaţiilor; b) operaţiunile care îndepărtează părţi ale unei relaţii (selecţie, proiecţie); c) operaţiunile care combină tuplurile a două relaţii (produs cartezian, joncţiune) d) operaţiunea prin care sunt atribuite nume noi atributelor relaţiei şi/sau relaţiei.

6 Baze de Date 2011-2012 Anca Ion Elemente de algebră relaţională O proprietate fundamentală în algebra relaţională constă în faptul că fiecare operator acceptă instanţele unei (sau a două) relaţii în calitate de argumente şi întoarce ca rezultat o altă instanţă de relaţie. Această proprietate permite folosirea compusă (compunerea) operatorilor pentru a forma fraze de interogare complexe.

7 Baze de Date 2011-2012 Anca Ion Operaţiuni pe mulţimi aplicate relaţiilor Reuniunea Intersecția Diferența

8 Baze de Date 2011-2012 Anca Ion Reuniunea Fie r, s relaţii. Reuniunea este: t = r ∪ s, unde t = { tupluri ti, a. î. ti ∈ r or ti ∈ s }. Condiţii: r, s au mulţimi identice de atribute, cu aceleaşi domenii de valori.

9 Baze de Date 2011-2012 Anca Ion Reuniunea - Exemplu

10 Baze de Date 2011-2012 Anca Ion Intersecia Fie r, s relaţii. Rezultatul acestei operații este o relație care conține toate tuplurile care sunt atât in r cât și in s. t = r ∩ s, unde t = { tupluri ti, a. î. ti ∈ r ∧ ti ∈ s }. Condiţii: r, s au mulţimi identice de atribute, cu aceleaşi domenii de valori.

11 Baze de Date 2011-2012 Anca Ion Intersecia-Exemplu

12 Baze de Date 2011-2012 Anca Ion Diferena t = r – s, unde t = { tupluri ti, a. î. ti ∈ r ∧ ti ∉ s }. t = s – r, unde t = { tupluri ti, a. î. ti ∈ s ∧ ti ∉ r}. Observăm că r – s ≠ s – r. Condiţii: r, s au mulţimi identice de atribute, cu aceleaşi domenii de valori.

13 Baze de Date 2011-2012 Anca Ion Diferena-Exemplu

14 Baze de Date 2011-2012 Anca Ion Proiecia Fie relaţia r cu atributele A1, A2,..., An. Fie, de asemenea, atributele A1, A2,..., Ak, a. î. { A1, A2,..., Ak } ⊂ { A1, A2,..., An }. Atunci, proiecţia relaţiei r pe atributele A1, A2,..., Ak (sau pe coloanele acestor atribute), notată cu Π A1, A2,..., Ak (r), este relaţia obţinută din r prin extragerea coloanelor atributelor A1, A2,..., Ak.

15 Baze de Date 2011-2012 Anca Ion Proiecia-Exemplu

16 Baze de Date 2011-2012 Anca Ion Selecia Prin definiţie, operaţiunea de selecţie aplicată unei relaţii r, notată cu σ F (r), constă în extragerea din r a acelor tupluri care îndeplinesc clauza (formula) F. Schema relaţiei obţinute este aceeaşi cu schema relaţiei r, atributele fiind aranjate – prin convenţie – în aceeaşi ordine. Operanzii conţinuţi în clauza F sunt constante sau atribute din schema relaţiei r. Operatorii sunt fie operatori aritmetici uzuali (de comparaţie- (,  ), fie operatori logici (not, and, or).

17 Baze de Date 2011-2012 Anca Ion Selecia-Exemplu

18 Baze de Date 2011-2012 Anca Ion Produsul cartezian Fie relaţiile r şi p de arităţi k1, k2. Fie în r şi p tuplurile (ri1, ri2,..., rik1), respectiv (pi1, pi2,..., pik2). Formal, produsul cartezian t = r × p al relaţiilor r şi p se defineşte prin: t = { tupluri ti, a. î. ti = (ri1 ri2...rik1 pi1 pi2...pik2), cu (ri1 ri2...rik1) ∈ r şi (pi1 pi2...pik2) ∈ p}. Observaţie: numărul de tupluri ale produsului cartezian este produsul numerelor de tupluri ale relaţiilor r şi p.

19 Baze de Date 2011-2012 Anca Ion Produsul cartezian-Exemplu Observăm că în relaţia rezultat, numele atributelor comune sunt completate cu numele relaţiilor din care provin (r.C, p.C).

20 Baze de Date 2011-2012 Anca Ion Jonciunea ”teta” Joncţiunea „teta” este o operaţie compusă, care implică efectuarea unui produs cartezian şi a unei selecţii. Fie relaţiile r şi p, precum şi o clauză F care conţine ca operanzi constante şi atribute din schemele relaţiilor, iar ca operatori – operatorii aritmetici uzuali şi operatorii logici. Notaţia folosită pentru reprezentarea operaţiei joncţiune „teta” este r p. F Conform definiţiei, joncţiunea „teta” este efectuată în următoarea ordine: a) se calculează produsul cartezian r × p; b) din relaţia rezultată sunt extrase prin selecţie tuplurile care satisfac clauza F.

21 Baze de Date 2011-2012 Anca Ion Jonciunea ”teta” - Exemplu

22 Baze de Date 2011-2012 Anca Ion Jonciunea de egalitate Este o variație a joncțiunii. Se numeşte joncţiune de egalitate (equijoin) o joncţiune în care singurul operator de comparație care apare în clauza F este operatorul de egalitate =.

23 Baze de Date 2011-2012 Anca Ion Jonciunea de egalitate - Exemplu

24 Baze de Date 2011-2012 Anca Ion Jonciunea naturală Este o variație a joncțiunii. Fie relaţiile r şi p ale căror scheme conţin un număr de atribute comune. Joncţiunea naturală, notată cu simbolul r*p, se calculează în două etape: a) mai intâi, este determinat produsul cartezian r × p; b)apoi, asupra produsului cartezian obţinut, este efectuată o operaţiune de selecţie, prin extragerea tuplurilor care conţin aceleaşi valori ale atributelor comune din schemele relaţiilor incidente r şi p; c) în final, sunt eliminate coloanele redundante rezultate.

25 Baze de Date 2011-2012 Anca Ion Jonciunea naturală-Exemplu

26 Baze de Date 2011-2012 Anca Ion Semijociunea Este o variație a joncțiunii naturale. Prin definiţie, semijoncţiunea relaţiilor r şi p, notată r p este proiecţia joncţiunii naturale a celor două relaţii pe atributele Ri din r: r p = Π Ri (r*p). În general, semijoncţiunea nu este simetrică.


Download ppt "Baze de Date 2011-2012 Anca Ion Baze de Date -Algebra Relaională I- Universitatea din Craiova, Facultatea de Automatica, Calculatoare si Electronica."

Similar presentations


Ads by Google