1 / 26

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

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

vilmos
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Baze de Date • -Algebra Relațională I- • Universitatea din Craiova, • Facultatea de Automatica, Calculatoare si Electronica

  2. 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ă • Calculrelaţionalorientatpetuplu • Calculrelaţionalorientatpedomeniu

  3. 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. 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. 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. 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. Operaţiuni pe mulţimi aplicate relaţiilor • Reuniunea • Intersecția • Diferența

  8. 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. Reuniunea - Exemplu

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

  11. Intersecția-Exemplu

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

  13. Diferența-Exemplu

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

  15. Proiecția-Exemplu

  16. 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).

  17. Selecția-Exemplu

  18. 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. 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. 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ă produsulcartezian r × p; • b) din relaţia rezultată sunt extrase prin selecţie tuplurile care satisfac clauza F.

  21. Joncțiunea ”teta” - Exemplu

  22. 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 =.

  23. Joncțiunea de egalitate - Exemplu

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

  25. Joncțiunea naturală-Exemplu

  26. Semijocțiunea • Este o variație a joncțiuniinaturale. • 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:rp = ΠRi(r*p). • În general, semijoncţiunea nu este simetrică.

More Related