Post on 31-Jan-2017
Relacione baze podataka i relaciona algebra
Baza podataka
• Baza podataka• SUBP (sistem za upravljanje bazom podataka,
DBMS)• Sistem baza podataka
ANSI arhitektura sistema bazapodataka
• Arhitektura najvećeg broja sistema podataka odgovara predlogu ANSI arhitekture koja se sastoji iz tri nivoa:– unutrašnji nivo– konceptualni (logički) nivo– spoljašnji nivo
ANSI arhitektura sistema bazapodataka
ANSI arhitektura sistema bazapodataka
• Srednji nivo se naziva modelom podataka, kojim se predstavlja logička struktura podataka u bazi i skup operacija koje korisnik može izvršiti nad podacima.
• Model podataka može se posmatrati kao kolekcija tri skupa:– strukturni deo – manipulativni deo– integritetni deo
Strukturni deo relacionog modela
• Domen • Relacija (tabela)
– Atribut (kolona)– N-torka (vrsta)
• Relaciona baza podataka je skup relacija.• Relaciona shema je opis strukture
relacija(tabela).
Manipulativni deo relacionog modela
• predstavlja formalizam za definisanje relacionog izraza opšteg oblika, čija je vrednost proizvoljni podskup skupa podataka iz baze.
• Relacioni model uključuje dva formalna jezika za rad sa relacijama: relacionu algebru i relacioni račun zasnovan na predikatskom računu prvog reda. Ovi formalizmi su ekvivalentni u pogledu izražajne moći.
Relaciona algebra
• Relaciona algebra je skup operacija nad relacijama.
• Relacioni izraz u relacionoj algebri se sastoji od niza operacija nad odgovarajućim relacijama.
• Rezultat relacionog izraza je relacija.
Osnovne operacije
1. Projekcija2. Restrikcija (selekciju)3. Proizvod4. Unija5. Presek6. Razlika7. (Prirodno) Spajanje8. Deljenje
Projekcija
• Projekcija je izbor atributa jedne relacije. Ako je R(A1,…,A n) relacija i X {A1,…,A n} i Y={A1,…,A n}\X, (tada se relacija R(A1,…,A n) može zapisati i kao R(X,Y)) onda je projekcija R na X:
• R[X]={x|(y) (x,y)R(X,Y)}
Projekcija
Restrikcija• Ako je R(A1,…,A n) relacija i P neki logički uslov nad D1 x D2 x
... x Dn domenom relacije P: D1 x D2 x ... x Dn →{T, }, tada je restrikcija (naziva se i selekcija) po uslovu P horizontalno sečenje relacije, tj. izbor vrsta koje zadovoljavaju uslov P:
R[P] = { x | x R P(x) }
• Rezultat je relacija sa istim atributima kao i polazna, ali sa manje vrsta.
• Argumeti logičkog izraza su poređenja vrednosti dva atributa date relacije ili atributa i konstante iz odgovarajućeg domena.
Restrikcija
Operacije nad skupovima
• unija – UNION• presek – INTERSECT• razlika – MINUS• Dekartov proizvod - TIMES• Unija, presek, razlika – nad relacijama unijski
kompitabilnim relacijama (imaju isti broj atributa i iste odgovarajuće domene)
Operacije nad skupovima
Operacije nad skupovima
Slobodno spajanje
• Slobodno spajanje je restikcija proizvoda dveju relacija po nekom uslovu zadatom na dvaatributa ovih relacija: ako je Ө neka binarna relacija na nekom domenu, i Ai i Bj atributi relacija A i B nad istim domenom, tada je slobodno spajanje relacija A i B:
(A times B) where AiBj = { (a^b) | aA bB a[Ai] b[Bj ]}
Prirodno spajanje (JOIN)
• Ako su A(A1,A2,...,An) i B({B1,B2,...,Bm) relacije iX{A1,A2,...,An} i Y{B1,B2,...,Bm} skupovi atributa istih domena koji su iste kardinalnosti (|X|=|Y|), a skupovi atributa Z i W sadrže preostale atribute ovih relacija Z={A1,A2,...,An} \X i W= {B1,B2,...,Bm}\Y, rezultat prirodnog spajanja relacija A i B po skupovima X i Y je spoj onih vrsta iz A i B koje imaju iste vrednosti nad X i Y:
A JOIN B={(z,x,w) | (z,x)A (x,w)B}
Deljenje (DIVIDEBY)
• Ako su A(A1,A2,...,An) i B(B1,B2,...,Bm) relacije iY{A1,A2,...,An} i Z{B1,B2,...,Bm} skupovi atributa istih domena koji su iste kardinalnosti (|Y|=|Z|), a X= {A1,A2,...,An} \Y, rezultat deljenja relacije A i B po skupovima Y i Z je maksimalni podskup projekcije relacije A na atribute X koji je u relaciji A sa svakom m-torkom relacije B:
A[Y:Z]B={ x | xA[X] {x}xB[Z] A }tj. x A[Y:Z]B (zZ)(x^zA(X,Y))
Primeri deljenja