3.relaciona algebra i racun.ne brisipoincare.matf.bg.ac.rs/~nenad/rbp/3.relaciona_algebra_i... ·...
TRANSCRIPT
![Page 1: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/1.jpg)
Relaciona algebra
![Page 2: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/2.jpg)
Šta je algebra
• Algebra je formalni matematički sistem koji se sastoji od skupa objekata i operacija nad tim objektima.
• Primer: Bulova algebra, algebra skupova, ...
• Za definiciju formalnog sistema je potrebno• prikazati sintaksu
• dati semantiku
• dati pravila izvoñenja dokaza
![Page 3: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/3.jpg)
Relaciona algebra
• Relaciona algebra je familija algebri sa dobro zasnovanom semantikom koja se koristi za modeliranje relacija (objekata) smeštenih u relacionoj bazi podataka i za definisanje upita nad njima.
• U suštini predstavlja skup operatora čiji su operandi i rezultati relacije
• Prvu verziju je dao Codd 1972. g.; kasnije je proširivana od strane raznih autora
![Page 4: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/4.jpg)
Relacioni operatori
1. Restrikciju (selekciju)2. Projekciju3. Proizvod4. Uniju
9. Promena imena10. Poluspajanje11. Polurazlika12. Ekskluzivna unija..........
5. Presek6. Razliku7. (Prirodno) Spajanje8. Deljenje
13. Proširenje14. Slika relacije15. Operatori agregata16. Sumarizacija............
CODD je originalno predložio 8 operatora
Kasnije su dodati operatori
![Page 5: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/5.jpg)
Minimalni skup operatora
Minimalni skup operatora sadrži
• restrikciju (selekciju)
• projekciju
• proizvod
• uniju
• razliku
![Page 6: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/6.jpg)
Sintaksa
Relacioni izrazje izraz oblika
ROP arg1 arg2 ... argn
gde su
ROP – relacioni operator
argi – relacije koje su argumenti relacionog operatora
(formalna definicija u knjizi Date-IDB, deo 6.3)
![Page 7: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/7.jpg)
Semantika
• U opisu semantike se koristi• da su relacije matematički zasnovane i da predstavljaju
skupove torki
• u pitanju su operacije nad skupovima koje predstavljaju preslikavanje domena relacija u novi domen
![Page 8: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/8.jpg)
Relaciono zatvorenje
• Osobina da su i argumenti i rezultat primene bilo kog relacionog operatora
takoñe relacije se naziva relaciono zatvorenje.• Zatvorenje znači da mogu da se pišu ugneždeni relacioni izrazi, tj.
relacioni izrazi čiji su operandi takoñe relacioni izrazi
• Treba obezbediti da i novodobijene relacije imaju odgovarajuće zaglavlje (sa jedinstvenim nazivima atributa) i odogovarajuće telo, bez obzira da li su u pitanju osnovne ili izvedene relacije
![Page 9: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/9.jpg)
Relacioni operatori -- pregled
Restrikcija Projekcija Proizvod
xy
aabbcc
xyxyxy
abc
Deljenje
aaabc
xyzxy
xz
a
(Prirodno) Spajanje
b1b2b3
a1a2a3
b1b1b2
c1c2c3
a1a2a3
b1b1b2
c1c1c2
R1
x y
R2
z w
R1 R2y=z
R1 x R2
x y z wa1 b1 b1 c1a1 b1 b2 c2a1 b1 b3 c3a2 b1 b1 c1. . . . . . . .. . . .
abc
Proizvod
![Page 10: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/10.jpg)
Relacioni operatori -- pregled
Unija Presek Razlika
![Page 11: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/11.jpg)
Restrikcija (selekcija)
Traženjetorkikojezadovoljavajupostavljeniuslov
![Page 12: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/12.jpg)
Restrikcija (nastavak)
• Neka relacija A ima bar atribute X i Y i neka je Θoperator (obično '=', '<', itd.) takav da je uslov X Θ
Y dobro definisan i da se izračunava kao istinitosna vrednost (tačna ili netačna).
• Tada je Θ restrikcija relacije A na atribute X i Yrelacija koja ima isto zaglavlje kao i A i telo koje sadrži sve torke t iz A za koje je vrednost uslova XΘ Y tačno.
![Page 13: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/13.jpg)
Restrikcija (nastavak)
Primer: Prikazati sve torke iz tabele dosijea za koje je vrednost atributa prezime jednaka 'Petrović'
dosije WHERE prezime = 'Petrović'
![Page 14: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/14.jpg)
Projekcija
Izdvajanje željenih atributa
![Page 15: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/15.jpg)
Projekcija (nastavak)
• Neka relacija A ima bar atribute X, Y, ...,Z. Tada se projekcija relacije A na X, Y, ...,Zoznačava sa A { X, Y, ..., Z} i predstavlja relaciju čije
• zaglavlje je izvedeno iz A uklanjanjem svih atributa koji se ne nalaze u skupu {X, Y, ..., Z}
• telo se sastoji od svih torki {X:x, Y;y, ..., Z;z} pri čemu se svaka torka javlja u A sa X vrednošću x, Yvrednošću y, ...., Z vrednošću z.
![Page 16: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/16.jpg)
Projekcija (nastavak)
• Ako su u listi navedeni svi atributi relacije A tada je projekcija identitet.
• Primer: Prikazati imena studenata i nazive mesta u kojima su roñeni:
dosije{ime, mesto_rodjenja}
U daljem tekstu biće navedene opisne ali ne i formalne definicijeostalih operatora
![Page 17: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/17.jpg)
Prirodno spajanje
a1 b1 a2 b1a3 b2
b1 c1 b2 c2b3 c3
a1 b1 c1a2 b1 c1a3 b2 c2
(Prirodno) Spajanje
![Page 18: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/18.jpg)
Prirodno spajanje (nastavak)
• Semantika: Neka relacije A i B imaju sledeća zaglavlja
A: {X1, X2, …, Xm, Y1, Y2, …, Yn}
B: {Y1, Y2, …, Yn, Z1, Z2, …, Zp}
Tada je prirodno spajanje relacija A i B definisano sa
A JOIN B = {{X:x, Y: y, Z:z} |{X:x, Y:y} ∈A ∧ {Y:y, Z:z} ∈B}
![Page 19: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/19.jpg)
Prirodno spajanje (nastavak)
• Primer: Prirodno spajanje relacija dosije i ispit
dosije JOIN ispit
• Postoji i Θ spajanje za torke čiji atributi zadovoljavaju uslov X Θ Y. Ako je Θ= '=' tada se ovo spajanje naziva jednakosno spajanje (ako se jedan od atributa X ili Y eliminiše dobija se prirodno spajanje)
![Page 20: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/20.jpg)
Deljenje
a
b
c
a x
a y
a z
b x
c y
x
y
a
A Divided by B per CA C B
![Page 21: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/21.jpg)
Deljenje (nastavak)
Sintaksa: A DIVIDEBY B PER C
Semantika: pretpostavimo da naredne tri relacije
imaju sledeća zaglavlja:• A: {X1, X2, …, Xm}
• B: {Y1, Y2, …, Yn}
• C: {X1, X2, …, Xm, Y1, Y2, …., Yn}
Tada je deljenje A sa B po C definisano kao
DIV(A, B, C) = {{X:x} ∈A | ∀{Y:y} ∈B: {X:x, Y:y} ∈C}
![Page 22: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/22.jpg)
Unija
• Sintaksa • A UNION B
• SemantikaA ∪ B = {t | t ∈ A ∨ t ∈ B}
A
B
![Page 23: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/23.jpg)
Presek
• Sintaksa:• A INTERSECT B
• Semantika:A ∩ B = {t | t ∈ A ∧ t ∈ B}
![Page 24: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/24.jpg)
Razlika
• Sintaksa:• A DIFFERENCE B
• Semantika:A - B = {t | t ∈ A ∧ t ∉ B}
![Page 25: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/25.jpg)
Dekartov proizvod
Sintaksa: A TIMES B
Semantika: neka relacije A i B
imaju sledeća zaglavlja
{A1, A2, …, Am}
{B1, B2, …, Bn}
Tada proizvod A TIMES B ima
zaglavlje
{A1, A2, …, Am, B1, B2, …, Bn}
i važi A TIMES B = {t ∪ t’| t ∈ A ∧ t’∈ B}
abc
xy
a xa yb xb yc xc y
proizvod
A
B
![Page 26: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/26.jpg)
Svrha relacione algebre
• Pisanje relacionih izraza koji se koriste za− definisanje prostora za dohvatanje podataka
− definisnje prostora za ažuriranje podataka
− definisanje pravila integriteta
− definisanje izvedenih relacija
− definisanje pravila zaštite
− ...
• Osnova za optimizaciju upita
![Page 27: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/27.jpg)
Relaciona kompletnost
• Jezik je relaciono kompletan ako je moćan isto kao i algebra, tj. ako bilo koja relacija predstavljiva u algebri može da se predstavi i u jezika.
• SQL je relaciono kompletan jer postoje SQL izrazi za svaki od 5 primitivnih operatora relacione algebre
![Page 28: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/28.jpg)
Relaciona kompletnost (nastavak)
Algebra SQL
A WHERE P SELECT * FROM A WHERE P
A {x, y, …, z} SELECT DISTINCT x, y, …, zFROM A
A TIMES B A CROSS JOIN B
A UNION B SELECT * FROM A UNION SELECT * FROM B
A MINUS B SELECT * FROM A EXCEPT SELECT * FROM B
A RENAME x AS y SELECT x AS y FROM A
![Page 29: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/29.jpg)
Algebarski zakoni
Zakon asocijacije
(A UNION B) UNION C = A UNION (B UNION C)
(A INERSECT B) INTERSECT C =
A INTERSECT (B INTERSECT C)
(A TIMES B) TIMES C = A TIMES (B TIMES C)
(A JOIN B) JOIN C = A JOIN (B JOIN C)
![Page 30: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/30.jpg)
Zakon komutacije
A UNION B = B UNION A
A INERSECT B = B INTERSECT A
A TIMES B = B TIMES A
A JOIN B = B JOIN A
Algebarski zakoni
![Page 31: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/31.jpg)
Relacioni račun
![Page 32: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/32.jpg)
Relacioni račun
• Opisan, neproceduralan jezik
• Logički ekvivalent relacione algebre ako se posmatra deo relacionog modela podataka za obradu podataka
• Zasnovan na predikatskom računu
• Dve varijante:• Račun orijentisan ka torkama
• Račun orijentisan ka domenima – osnova za QBE
![Page 33: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/33.jpg)
Predikatski račun
• Predikat• je istinitosno vrednosna funkcija sa argumentima
• kada se argumenti zamene vrednostima funkcija daje izraz koji se naziva predlog koji može da bude tačan ili netačan
![Page 34: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/34.jpg)
Predikatski račun (nastavak)
• Opseg promenljivih• Promenljiva torki ima opseg iz skupa navedenih relacija i
dopuštene vrednosti koje pripadaju torkama iz tih relacija
• Promenljiva domena ima opseg iz skupa navedenih domena i dopuštene vrednosti koje pripadaju tim domenima.
![Page 35: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/35.jpg)
Predikatski račun (nastavak)
• Neka je x predikat. Tada se skup svih x takav da je P tačno za x označava sa { x | p(x)}
• Postoje dva kvantifikatora:
• ∀∀∀∀: 'za svaki'
• ∃∃∃∃: 'postoji'
![Page 36: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/36.jpg)
Relacioni račun torki
• Slobodne i vezane promenljive
• Kvantifikatori• FORALL V (p)
• EXISTS V (p)
Kvantifikacija i rad sa slobodnim i vezanimpromenljivim su u skladu sa pravilima predikatskog računa
![Page 37: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/37.jpg)
Relacioni račun torki
• Korišćenjem promenljivih torki traže se torke za koje je predikat tačan
• Sintaksa ovog računa se u literaturi prikazuje na različite načine
![Page 38: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/38.jpg)
Relacioni račun torki (nastavak)
RANGE OF <promenljiva> IS <tabele>
RETRIEVE <promenljiva>.<imeatributa>
[WHERE<uslovni izraz>]
ili
RANGEVAR <promenljiva> RANGES OVER <tabela>
<promenljiva>.<imeatributa>
[WHERE<uslovni izraz>]
![Page 39: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/39.jpg)
Relacioni račun torki (nastavak)
Primer 1: prikazati imena i datume roñenja svih studenata koji
su roñeni u Beogradu, i upisani na fakultet školske 2011-2012 godine, a imaju broj indeksa veći od 456
RANGEVAR DOSIJEX RANGES OVER DOSIJE
{DOSIJEX.IME, DOSIJEX.DATUM_RODJENJA}
WHERE DOSIJEX.MESTO_RODJENJA='Beograd'
AND DOSIJEX.INDEKS>20110456
![Page 40: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/40.jpg)
Relacioni račun torki (nastavak)
Primer 2: prikazati imena studenata koji su položilinajmanje jedan predmet čija je šifra "P270"
RANGEVAR DX RANGES OVER DOSIJERANGEVAR PX RANGES OVER PREDMETRANGEVAR IX RANGES OVER ISPITDX.IMEWHERE EXISTS IX (DX.INDEKS = IX.INDEKS AND EXISTS PX
(PX.ID_PREDMETA = IX.ID_PREDMETA AND PX.SIFRA = 'P270' ) ) )
![Page 41: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/41.jpg)
Relacioni račun domena
• Opseg važenja promenljivih su domeni a ne relacije
• Moguće je definisatiuslov pripadnosti.
• Oblik R (lista_parova) • R je naziv relvara
• svaki par u listi je oblika A x gde je A naziv atributa u R, a x ili ime promenljive torki ili poziv selektora
![Page 42: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/42.jpg)
Relacioni račun domena
• Uslov je tačan akko postoji torka u relaciji R takva da je za svaki konkretan par poredjenje A=x tačno
Na primer,
ISPIT {INDEKS INDEKS(20110456),ID_PREDMETA ID_PREDMETA(1001)}
ima vrednost tačno akko postoji torka u ispitu koja imavrednost 20110456 za atribut indeks i 1001 za atribut id_predmeta
![Page 43: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/43.jpg)
Algebra ili ra čun
• Algebra i račun su semantički ekvivalentni
• Kodov algoritam redukcije (prikaz da je algebra moćna bar koliko i račun i obratno)
• Neki upitni jezici su više zasnovani na algebri, a neki na računu
• SQL ima osobine i algebre i računa
![Page 44: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/44.jpg)
Algebra, račun i SQL
Relaciona algebra Relacioni račun
SQL
+
Logička ekvivalencija
![Page 45: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/45.jpg)
Dodatak: tabele u bazistudenata
![Page 46: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/46.jpg)
Baza studenata
• Relvar DOSIJE označava dosijea studenata
• INDEKS označava (jedinstveni) broj indeksa studenta (uključuje i godinu upisa)
• IME označava ime studenta
• PREZIME označava prezime studenta
• DATUM_UPISA označava datum upisa studenta na studije
• DATUM_RODJENJA označava datum roñenja studenta
• MESTO_RODJENJA označava mesto roñenja studenta
![Page 47: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/47.jpg)
Baza studenata (nastavak)
• Relvar PREDMET označava predmete koji postoje na nekom od studijskih programa
• ID_PREDMETA označava (jedinstvenu) identifikaciju predmeta
• SIFRA označava šifru predmeta
• NAZIV predstavlja naziv predmeta
• BODOVI predstavlja broj bodova koje nosi predmet
![Page 48: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/48.jpg)
Baza studenata (nastavak)
• Relvar ISPITNI_ROK označava ispitne rokove u kojima je mogao da se polaže neki od predmeta
• GODINA_ROKA označava godinu u kojoj je držan ispitni rok
• OZNAKA_ROKA označava šifru ispitnog roka
• NAZIV označava naziv ispitnog roka
![Page 49: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/49.jpg)
Baza studenata (nastavak)• Relvar ISPIT označava polagane ispite
• INDEKS označava broj indeksa studenta • ID_PREDMETA označava identifikaciju predmeta• GODINA_ROKA označava godinu u kojoj je držan rok• OZNAKA_ROKA označava šifru ispitnog roka• OCENA označava dobijenu ocenu• DATUM_ISPITA označava datum kada je držan ispit• BODOVI označava osvojen broj bodova na ispitu
• Red u tabeli ispit označava da je student sa brojem indeksa INDEKS polagao predmet sa identifikacijom ID_PREDMETA u roku OZNAKA_ROKA koji je održan u godini GODINA_ROKA na dan DATUM_ISPITA i da je za osvojenih BODOVI bodova dobio ocenu OCENA
![Page 50: 3.Relaciona algebra i racun.NE BRISIpoincare.matf.bg.ac.rs/~nenad/rbp/3.Relaciona_algebra_i... · 2019-10-08 · Relaciona algebra • Relaciona algebra je familija algebri sa dobro](https://reader030.vdocuments.mx/reader030/viewer/2022040507/5e45ca75c8d6b34291669198/html5/thumbnails/50.jpg)
Baza studenata (nastavak)
•Formalna definicija (SQL, za naše potrebe)http://www.matf.bg.ac.rs/~nenad/rbp/mala_studentska_baza.sql
•Mala studentska baza – izgledhttp://www.matf.bg.ac.rs/~nenad/rbp/mala_studentska_baza.pdf