2. 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
3. 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
5. 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
6. k x y restrikcija:
y>2 k x y
1 A 2
2 B 4
2 B 4
3 C 6
3 C 6
k x y restrikcija:
1 A 2 y>2 and X<>'C'
k x y
2 B 4
2 B 4
3 C 6
Relaciona algebra 6
8. 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
9. Primer projekcije (π)
k x y x y
projekcija na
1 A 2 kolone x i y A 2
2 B 4 B 4
3 C 6 C 6
4 A 2
11. 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
12. Primer: Unija (∪)
• Relacije r, s: A B A B
α 1 α 2
α 2 β 3
β 1 s
r
A B
r ∪ s:
α 1
α 2
β 1
Relaciona algebra β 3 12
13. 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.
14. Primer razlike (-)
ŠIFRA# PREZIME IME TEL.BROJ
A 3244 Aksentijević Petar 0710 334 952
1772 Maksimović Ilija 015 723 543
ŠIFRA# PREZIME IME TEL.BROJ
B
3244 Aksentijević Petar 0710 334 952
2345 Petrović Dara 023 47946
ŠIFRA# PREZIME IME TEL.BROJ
A-B 1772 Maksimović Ilija 015 723 543
ŠIFRA# PREZIME IME TEL.BROJ
B-A
2345 Petrović Dara 023 47946
15. 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)
16. Primer Preseka (∩ )
ŠIFRA# PREZIME IME TEL.BROJ
A 3244 Aksentijević Petar 0710 334 952
1772 Maksimović Ilija 015 723 543
ŠIFRA# PREZIME IME TEL.BROJ
B 3244 Aksentijević Petar 0710 334 952
2345 Petrović Dara 023 47946
ŠIFRA# PREZIME IME TEL.BROJ
A∩B 3244 Aksentijević Petar 0710 334 952
17. 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
18. Primer Dekartov proizvod (x)
Klijent
Zoran Savska Beograd Lični_bankar
Milan Niška Novi Sad Zoran Sl1
Petar Kralja Milana Kruševac Milan Sl2
Petar Sl3
Klijent × Lični_bankar
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
19. 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
20. Primer spajanja (><)
ALFA ŠIFRAD# NAZIV MESTO
d001 Comex Toronto
d002 Unita Vancuver
d003 Dual Beograd
ŠIFRAD# ŠIFRAP# BROJ KOM.
BETA
d001 p991 123
d002 p678 23
d003 p007 12564
ŠIFRAD# NAZIV MESTO ŠIFRAP# BROJ KOM.
d001 Comex Toronto p991 123
GAMA d002 Unita Vancuver p678 23
d003 Dual Beograd p007 12564
21. 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
22. Primer deljenja (/)
A B B
α 1 1
α 2 2 r/s: A
α 3
β 1 s
α
γ 1
δ 1 β
Relacije r, s: δ 3
δ 4
∈ 6
∈ 1
β 2
r