Baze podataka Relaciona algebra 1 Relaciona algebra ini
Baze podataka Relaciona algebra 1
Relaciona algebra Čini je skup operatora za rad sa relacijama, a rezultati operacija su takođe relacije Kompozicija operacija zajedno sa relacijama na koje se primenjuju obrazuje relacioni izraz u relacionoj algebri ili izraz relacione algebre. Vrednost takvog izraza je uvek relacija. Svaki od algebarskih izraza je jedan upit ili pretraživanje Relaciona algebra 2
Relaciona algebra - operacije Čini je skup od 8 operacija koje se nazivaju osnovnim (5 elementarnih i 3 izvedene) ◦ Elementarne: restrikcija (selekcija), projekcija, unija, razlika, Dekartov proizvod ◦ Izvedene: presek, spajanje, deljenje Klasifikacija prema broju operanada: ◦ Unarne (1 operand) ◦ Binarne (2 operanda) Relaciona algebra 3
Relaciona algebra - operacije simbol naziv Složenost operanada restrikcija elementarna unarna projekcija elementarna unija elementarna binarna - razlika elementarna binarna presek D. proizvod izvedena elementarna binarna >< / spajanje Deljenje izvedena binarna Relaciona algebra 4
Restrikcija ( ) (selekcija, ograničenje) Definicija: iz polazne relacije po zadatom kriterijumu izdvaja podskup n-torki ◦ Izbor n-torki koje zadovoljavuju određeni uslov Kriterijum je neki logički izraz koji je izračunljiv nad svakom n-torkom Dobijena relacija ima istu strukturu kao i polazna Relaciona algebra 5
Restrikcija ( ) (selekcija, ograničenje) • Relacija r • A=B ^ D > 5 (r) A B C D 1 7 5 7 12 3 23 10 A B C D 1 7 23 10 Relaciona algebra 6
k x y 1 A 2 2 3 B C 4 6 restrikcija: y>2 k x y 2 3 B C 4 6 k x y 2 B 4 restrikcija: y>2 and X<>'C' Relaciona algebra 7
Projekcija ( ) Definicija: iz polazne relacije po zadatom skupu atributa formira se nova relacija kao skup n-torki nad tim atributima Zadati skup atributa mora biti podskupa atributa polazne relacije Vrednosti atributa u n-torkama nastale relacije odgovaraju onima u polaznoj relaciji Relaciona algebra 8
Projekcija ( ) • Relacija r: • A, C (r) A B C 10 1 20 1 30 1 40 2 A C 1 1 1 2 2 = Relaciona algebra 9
Projekcija ( ) Rezultat primene je podskup kolona relacije, uz uklanjanje duplikata k x y 1 A 2 2 3 B C 4 6 4 A 2 projekcija na kolone x i y Relaciona algebra x y A 2 B C 4 6 10
Unija ( ) Definicija: iz dve polazne relacije formira novu koja sadrži sve n-torke iz obe relacije Ova operacija nije moguća između bilo koje dve relacije, tj. mora biti zadovoljeno: ◦ Šeme relacija moraju imati isti broj atributa ◦ Atributi šema relacija redom odgovaraju po značenju i tipu (ne mora po nazivu) Navedeni uslovi se nazivaju: unijska kompatibilnost Svaka n-torka koja je prisutna u obe relacije pojavljuje se samo jednom u rezultantnoj Relaciona algebra 11
Unija ( ) • Relacije r, s: A B 1 2 2 3 1 s r r s: A B 1 2 1 3 Relaciona algebra 12
Unija ( ) A B ŠIFRA# PREZIME TEL. BROJ 3244 Aksentijević Petar 011 334 952 1772 Maksimović Ilija 015 723 543 ŠIFRA# PREZIME TEL. BROJ 3244 Aksentijević Petar 011 334 952 2345 Petrović Dara 023 47 946 PREZIME TEL. BROJ 3244 Aksentijević Petar 011 334 952 1772 Maksimović Ilija 015 723 543 2345 Petrović Dara 023 47 946 A B ŠIFRA# 21. 11. 2006 Relaciona algebra 13
Razlika (-) Definicija: iz dve polazne relacije formira novu koja sadrži sve n-torke prve relacije koje se ne nalaze u drugoj Ova operacija je moguća samo između unijski kompatibilnih relacija. Relaciona algebra 14
Razlika (-) A B A-B B-A ŠIFRA# PREZIME TEL. BROJ 3244 Aksentijević Petar 0710 334 952 1772 Maksimović Ilija 015 723 543 ŠIFRA# PREZIME TEL. BROJ 3244 Aksentijević Petar 0710 334 952 2345 Petrović Dara 023 47946 ŠIFRA# PREZIME TEL. BROJ 1772 Maksimović Ilija 015 723 543 ŠIFRA# PREZIME TEL. BROJ 2345 Petrović Dara 023 47946 Relaciona algebra 15
Presek ( ) Definicija: iz dve polazne relacije formira novu koja sadrži sve n-torke prve relacije koje se nalaze u drugoj relaciji Ova operacija je moguća samo između unijski kompatibilnih relacija. Presek je izvedena operacija, može se izvesti iz: r s = r – (r-s) Relaciona algebra 16
Presek ( ) A B ŠIFRA# PREZIME TEL. BROJ 3244 Aksentijević Petar 0710 334 952 1772 Maksimović Ilija 015 723 543 ŠIFRA# PREZIME TEL. BROJ 3244 Aksentijević Petar 0710 334 952 2345 Petrović Dara 023 47946 ŠIFRA# PREZIME TEL. BROJ 3244 Aksentijević Petar 0710 334 952 Relaciona algebra 17
Dekartov proizvod ( ) Definicija: iz dve polazne relacije formira se nova sa n-torkama dobijenim tako što se svaka n-torka prve relacije spaja sa svakom iz druge Šema nastale relacije sadrži sve atribute polaznih relacija Označavanje: za puni naziv atributa se može koristiti relacija. atribut Relaciona algebra 18
Dekartov proizvod ( ) Relacije r, s: A B C D E 1 2 10 10 20 10 a a b b r s r x s: A B C D E 1 1 2 2 10 10 20 10 a a b b Relaciona algebra 19
Klijent Zoran Savska Beograd Lični_bankar Milan Niška Novi Sad Zoran Sl 1 Petar Kralja Milana Kruševac Milan Sl 2 Petar Sl 3 Klijent Lični_bankar Zoran Savska Beograd Zoran Sl 1 Zoran Savska Beograd Milan Sl 2 Zoran Savska Beograd Petar Sl 3 Milan Niška Novi Sad Zoran Sl 1 Milan Niška Novi Sad Milan Sl 2 Milan Niška Novi Sad Petar Sl 3 Petar Kralja Milana Kruševac Zoran Sl 1 Petar Kralja Milana Kruševac Milan Sl 2 Petar Kralja Milana Kruševac Petar Sl 3 Relaciona algebra 20
Spajanje (><) Definicija: iz dve polazne relacije formira se nova sa n-torkama dobijenim u dva koraka: ◦ Svaka n-torka iz prve relacije redom se spaja sa svim n-torkama iz druge relacije ◦ Iz tako dobijenih n-torki izdvajaju se one koje zadovoljavaju zadati uslov P Relaciona algebra 21
-spajanje Prethodna definicija dozvoljava proizvoljni uslov P, pod uslovom da je izračunljiv za svaku n-torku nakon Dekartovog proizvoda Neka su r i s relacije nad šemom R(X) i S(Y). Neka su Xi i Yk atributi za koje važi da je Xi X i Yk Y. Pod spajanjem r > Xi Yk< s podrazumeva se spajanje kod koga operator označava bilo koji operator poređenja: (=, , , ) Relaciona algebra 22
Ekvi-spajanje Prethodno spajanje ograničava formu uslova spajanja, međutim i dalje dobijeni rezultat nema praktičnu primenu. Specijalni slučaj gde predstavlja jednakost (=) je čest slučaj u praksi. U pr. za Dekartov proizvod nad relacijama naslov i oblast, ekvi-spajanjem pod uslovom jednakosti atributa SIFO, dobili bi izdvojene ntorke (koje imaju smisla). Relaciona algebra 23
Ekvi-spajanje Relacije r, s: A B C D E 1 2 10 10 20 10 a a b b r s A=C(r x s) A B C D E 1 2 2 10 20 a a b Relaciona algebra 24
Prirodno spajanje Prethodno spajanje daje jedan suvišan atribut, zato što su vrednosti atributa po kojima se vrši spajanje uvek iste. Nepotrebni atribut se eliminiše dodatnom operacijom projekcije Navedeni slučaj je čest u praksi, pa je uvedena specijalna operacija prirodnog spajanja: Podrazumeva sekvencu tri elementarne oper. ◦ Dekartov proizvod relacija ◦ Restrikciju po uslovu jednakosti atributa ◦ Projekcija po razlici unije svih atributa i skupa spojnih atributa iz bilo koje od relacija Relaciona algebra 25
Prirodno spajanje ALFA BETA GAMA ŠIFRAD# NAZIV MESTO d 001 Comex Toronto d 002 Unita Vancuver d 003 Dual Beograd ŠIFRAD# ŠIFRAP# BROJ KOM. d 001 p 991 123 d 002 p 678 23 d 003 p 007 12564 ŠIFRAD# NAZIV MESTO ŠIFRAP# BROJ KOM. d 001 Comex Toronto p 991 123 d 002 Unita Vancuver p 678 23 d 003 Dual Beograd p 007 12564 Relaciona algebra 26
Deljenje (/) Najsloženija operacija relacione algebre Operacija deljenja daje one vrednosti X u r koje u kombinaciji sa Y “pokrivaju” skup vrednosti zadat relacijom s. Relaciona algebra 27
a X Y 017 a 22 033 a 43 077 a 86 061 a 43 044 a 00 Deljenje se ne može izvesti sa proizvoljnim tabelama Za A/B potrebno je da se svi atributi relacije B nalaze u relaciji A Npr: Moguće je deljenje za: a (X 1, X 2, . . . , Xn, Y 1, Y 2, . . . , Ym) b (Y 1, Y 2, . . . , Ym) Primer: b Y X c=a/b 033 a 43 061 a 00 044 Relaciona algebra 28
Deljenje (division) Relaciona algebra 29
Deljenje (division) Relacije r, s: A B B 1 2 3 1 1 1 3 4 6 1 2 1 r/s: 2 s A r Relaciona algebra 30
Deljenje (division) Relacije r, s: A B C D E a a a a a a b a b b 1 1 3 1 1 1 a b 1 1 s r r/s: A B C a a Relaciona algebra 31
- Slides: 31