Baze de Date - Algebra Relațional ă I - Universitatea din Craiova,

26
Baze de Date 2011-2012 Anca Ion Baze de Date -Algebra Relațională I- Universitatea din Craiova, Facultatea de Automatica, Calculatoare si Electronica

description

Baze de Date - Algebra Relațional ă I - Universitatea din Craiova, Facultatea de Automatica, Calculatoare si Electronica. Introducere. Limbaj de interogare = limbaj în care un utilizator solicită informaţii din baza de date (BD). - PowerPoint PPT Presentation

Transcript of Baze de Date - Algebra Relațional ă I - Universitatea din Craiova,

Page 1: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Baze de Date-Algebra Relațională I-

Universitatea din Craiova,Facultatea de Automatica, Calculatoare si Electronica

Page 2: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca 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

Page 3: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca 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.

Page 4: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca 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.

Page 5: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca 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.

Page 6: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca 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.

Page 7: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Operaţiuni pe mulţimi aplicate relaţiilor

• Reuniunea• Intersecția• Diferența

Page 8: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca 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.

Page 9: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Reuniunea - Exemplu

Page 10: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Intersecția• 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.

Page 11: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Intersecția-Exemplu

Page 12: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Diferența

• 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.

Page 13: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Diferența-Exemplu

Page 14: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Proiecția• 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.

Page 15: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Proiecția-Exemplu

Page 16: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Selecția• 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).

Page 17: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Selecția-Exemplu

Page 18: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca 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.

Page 19: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca 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).

Page 20: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Joncțiunea ”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.

Page 21: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Joncțiunea ”teta” - Exemplu

Page 22: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Joncțiunea 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 =.

Page 23: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Joncțiunea de egalitate - Exemplu

Page 24: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Joncțiunea 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.

Page 25: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Joncțiunea naturală-Exemplu

Page 26: Baze  de Date - Algebra  Relațional ă I - Universitatea din Craiova,

Baze de Date

2011-2012Anca Ion

Semijocțiunea• 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ă.