Upload
dejan-stancic
View
1.169
Download
3
Embed Size (px)
DESCRIPTION
Citation preview
Relaciona algebra
Relaciona algebra
• Relaciona algebra pripada kategoriji formalnih upitnih jezika proceduralnog karaktera
• Čini je skup operatora za rad sa relacijama, a rezultati operacija su takođe relacije
• Relaciona algebra je osnova za upitne jezike koje koriste ljudi– Svaki od algebarskih izraza je jedan upit ili
pretraživanje• Upitni jezik – jezik kojim korisnici zahtevaju informacije iz
BP
Relaciona algebra
simbol naziv složenost operanada
restrikcija elementarna unarna
projekcija elementarna unarna
unija elementarna binarna
- razlika elementarna binarna
presek izvedena binarna
D. proizvod elementarna binarna
>< spajanje izvedena binarna
deljenje izvedena binarna
Restrikcija
Restrikcija ()
• Definicija: iz polazne relacije po zadatom kriterijumu izdvaja podskup torki – Izbor torki koje zadovoljavaju određeni uslov
• Kriterijum je neki logički izraz koji je izračunljiv nad svakom torkom.
• Dobijena relacija ima istu strukturu kao i polazna
Relaciona algebra 6
k x y
1 A 2
2 B 4
3 C 6
restrikcija: y>2 and X<>'C'
k x y
2 B 4
k x y
1 A 2
2 B 4
3 C 6
restrikcija: y>2 k x y
2 B 4
3 C 6
Projekcija ()
Projekcija ()
• Definicija: iz polazne relacije po zadatom skupu atributa formira se nova relacija kao skup torki nad tim atributima.
• Zadati skup atributa mora biti podskup skupa atributa polazne relacije
• Vrednosti atributa u torkama nastale relacije odgovaraju onima u polaznoj relaciji
Primer projekcije ()
k x y
1 A 2
2 B 4
3 C 6
4 A 2
x y
A 2
B 4
C 6
projekcija na kolone x i y
Unija ()
A
B
A U B
Unija ()
• Definicija: iz dve polazne relacije formira novu koja sadrži sve 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
Primer: Unija ()
Relaciona algebra 12
• Relacije r, s:
r s:
A B
1
2
1
A B
2
3
rs
A B
1
2
1
3
Razlika (-)
• Definicija: iz dve polazne relacije formira novu koja sadrži sve torke prve relacije koje se ne nalaze u drugoj
• Ova operacija je moguća samo između unijski kompatibilnih relacija.
Primer razlike (-)
ŠIFRA# PREZIME IME TEL.BROJ
3244 Aksentijević Petar 0710 334 952
1772 Maksimović Ilija 015 723 543
ŠIFRA# PREZIME IME TEL.BROJ
3244 Aksentijević Petar 0710 334 952
2345 Petrović Dara 023 47946
ŠIFRA# PREZIME IME TEL.BROJ
1772 Maksimović Ilija 015 723 543
A
B
A-B
ŠIFRA# PREZIME IME TEL.BROJ
2345 Petrović Dara 023 47946B-A
Presek ()
• Definicija: iz dve polazne relacije formira novu koja sadrži sve torke prve relacije a koje se nalaze i 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)
Primer Preseka ()
ŠIFRA# PREZIME IME TEL.BROJ
3244 Aksentijević Petar 0710 334 952
1772 Maksimović Ilija 015 723 543
ŠIFRA# PREZIME IME TEL.BROJ
3244 Aksentijević Petar 0710 334 952
2345 Petrović Dara 023 47946
ŠIFRA# PREZIME IME TEL.BROJ
3244 Aksentijević Petar 0710 334 952
A
B
AB
Dekartov proizvod ()
• Definicija: iz dve polazne relacije formira se nova sa torkama dobijenim tako što se svaka 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
Zoran Savska Beograd
Milan Niška Novi Sad
Petar Kralja Milana Kruševac
Zoran Sl1
Milan Sl2
Petar Sl3
Zoran Savska Beograd Zoran Sl1
Zoran Savska Beograd Milan Sl2
Zoran Savska Beograd Petar Sl3
Milan Niška Novi Sad Zoran Sl1
Milan Niška Novi Sad Milan Sl2
Milan Niška Novi Sad Petar Sl3
Petar Kralja Milana Kruševac Zoran Sl1
Petar Kralja Milana Kruševac Milan Sl2
Petar Kralja Milana Kruševac Petar Sl3
KlijentLični_bankar
Klijent Lični_bankarLični_bankar
Primer Dekartov proizvod (x)
Spajanje (><)
• Definicija: iz dve polazne relacije formira se nova sa torkama dobijenim u dva koraka:– Svaka torka iz prve relacije redom se spaja sa
svim torkama iz druge relacije– Iz tako dobijenih torki izdvajaju se one koje
zadovoljavaju zadati uslov P
Primer spajanja (><)
ŠIFRAD# NAZIV MESTO
d001 Comex Toronto
d002 Unita Vancuver
d003 Dual Beograd
ŠIFRAD# ŠIFRAP# BROJ KOM.
d001 p991 123
d002 p678 23
d003 p007 12564
ŠIFRAD# NAZIV MESTO ŠIFRAP# BROJ KOM.
d001 Comex Toronto p991 123
d002 Unita Vancuver p678 23
d003 Dual Beograd p007 12564
ALFA
BETA
GAMA
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
Primer deljenja (/)
A
B
1
2
A B
12311134612
r
s
Relacije r, s:
r/s:
Kraj časa