350 likes | 728 Vues
Relacijska algebra. Krunoslav Štefanek Ivona Zeljko Maja Libl Martina Tolj. Relacijski model. Edgar F. Codd izmislio u teoriji relacijski model za upravljanje bazom podataka (IBM, 70-tih) prve realizacije na računalu- suviše spore i neefikasne
E N D
Relacijska algebra Krunoslav Štefanek Ivona Zeljko Maja Libl Martina Tolj
Relacijski model • Edgar F. Codd izmislio u teoriji relacijski model za upravljanje bazom podataka (IBM, 70-tih) • prve realizacije na računalu- suviše spore i neefikasne • danas većina DBMS-ova koristi relacijski model • baza podataka se sastoji od skupa pravokutnih tablica ili relacija
Relacijski podjezici baze podataka • podjezik= jezik za pretraživanje i ažuriranje BP, bez komponenti za njihovo izvođenje na PC-u • ugrađen u prog.jezik ili kao samostalni jezik BP (“upitni jezik”) • svi potječu od 2 podjezika: -relacijska algebra -relacijski račun (neproceduralan, definira se trazeni rezultat, a sistem bira put do njega)
Relacijska algebra • proceduralan i sastoji se od skupa operatora kojima su definirane operacije za rad na relacijama(Codd, Yang, Date): -tradicionalne(nad skupovima) : unija, presjek, razlika, Kartezijev produkt -posebne: selekcija, projekcija, pridruživanje, dijeljenje • Spoj- operacija nad n-torkama kao dio vise razlicitih operacija
Unijska kompatibilnost • U, ∩, - su bin.operacije koje se mogu izvoditi samo na međusobno usporedivim relacijama – unijska kompatibilnost • Codd(prema domenama): • jednostavne -su unijski kompatibilne • slozene- ako imaju isti stupanj, i-ta jednostavna domena je u.k. sa i-tom jednostavnom domenom druge složene
Unijska kompatibilnost • relacije (podskupovi slozenih domena, redoslijed stupaca nije vazan)- isti stupanj, ako izmedu 2 skupa jednostavnih domena postoji f-ja 1:1 kojom se domena preslika u drugu • no npr., KUĆNI BROJ- GOD.ROĐENJA nisu u.k. ( iako iste domene), zato
Unijska kompatibilnost • atributi su u.k. ako su zadani na istoj domeni • relacijske sheme: ako imaju isti stupanj, i postoji preslikavanje 1:1 između 2 skupa atributa od kojih se sheme sastoje • relacije su medijski kompatibilne ako su zadane na unijski kompatibilnim rel.shemama
Unija (rUs) • Operacija dviju unijski kompatibilnih relacija r(R) i s(S) • Rezultat - skup n-torki sadržanih u relaciji r, relaciji s ili u obadvoje
Problemi: • Vrijedi R=S i redoslijed atributa je usklađen r(A B C) s(A B C) (rUs)(A B C) g h 1 g h 1 g h 1 k l 2 g l 4 k l 2 k h 3 k h 3 g l 4
b) Vrijedi R=S, ali redoslijed atributa nije usklađen r (A B C) s (C A B) g h 1 1 g h k l 2 4 g l k h 3 s (A B C) g h 1 g l 4
Svojstva unije • Komutativnost – operandi mogu zamijeniti mjesta. • Asocijativnost : Neka su relacije r,s i t međusobno unijski kompatibilne. Redoslijed kojim ćemo izvesti operacije unije, neće utjecati na rezultat.
Razlika r-s • Operandi međusobno unijski kompatibilne relacije • Rezultat – relacija zadana na relacijskoj shemi R, odnosno relacijskoj shemi prvog operanda i obuhvaća sve n-torke sadržane u relaciji r, koje istovremeno nisu sadržane u relaciji s
Prije izvođenja operacije razlike moraju se uskladiti redoslijedi i nazivi unijski kompatibilnih atributa • Binarna operacija • Nije komutativna ni asocijativna operacija • Vrijedi:
Kartezijev produkt rxs • Rezultat – skup n-torki koje su nastale kao rezultat spajanja svake pojedine n-torke sadržane u relaciji r sa svakiom pojedinom n-torkom relacije s
Kao skup n-torki, može, ali ne mora biti relacija • Ako je presjek skupa atributa relacijskih shema R i S prazan skup, Kartezijev produkt je relacija • Relacijska shema na kojoj je ta relacija zadana je unije skupova atributa shema R i S
Primjer • Neka su r(R) i s(S) relacije na relacijskim shemama R i S. • Neka vrijedi R∩S= Kartezijev produkt r x s je relacija. r( ) s( ) (r x s) ( )
b) Neka vrijedi . Kartezijev produkt rxs nije relacija. r ( ) s ( ) (r x s) ( )
Elementi Kartezijevog produkta relacija su n-torke, dok su elementi Kartezijsvog produkta skupova uređene n-torke • Kartezijev produkt relacija je komutativna i asocijativna relacija
Projekcija • Je unarna operacija kojom se iz relacije izdvajaju pojedini stupci po kojima se obavlja projiciranje • Projekcija relacije R nova je relacija T koja se sastoji od atributa relacije R po kojima je obavljena operacija projekcije i u kojoj su uklonjene jednake n-torke ΠAi,Aj,…,Am(R) ili PROJEKCIJA(R,Ai,Aj,…,Am) • Ako je X podskup atributa relacije R, projekcija relacije R po X se dobiva uklanjanjem atributa R – X i uklanjanjem višestrukih n-torki
Selekcija (restrikcija) • je unarna operacija kojom se iz relacije izdvaja skup n-torki koje ispunjavaju zadani (jednostavan ili kompleksan) uvjet • Selekcija relacije R(A1,A2,…,An) jest nova relacija T(A1,A2,…,An) koja se sastoji od n-torki relacije R koje ispunjavaju zadani uvjet σuvjet(R) ili SELEKCIJA(R,uvjet) • Jednostavan uvjet opisuje se formom ‹atribut› ‹operator› ‹vrijednost› operator = { = , ≠ , < , > } • U kompleksnim uvjetima koriste se i logički operatori {I,ILI,NE} kojima se povezuju jednostavni uvjeti
Presjek • Presjek dviju unijski kompatibilnih relacija R(A1,A2,…,An) i (A1,A2,…,An) je nova relacija T(A1,A2,…,An) koja obuhvaća sve n-torke što se istovremeno nalaze u relaciji R i u relaciji S RS ili PRESJEK(R,S) • Može se izvesti pomoću osnovnih operacija: PRESJEK(R,S)=R-(R\S) ili PRESJEK(R,S)=S-(S\R)
Pridruživanje (join) • Je složena binarna operacija • Možemo ju predočiti preko tri koraka: • Iz dviju relacija se dobiva Kartezijev produkt relacija • Iz Kartezijevog produkta se izdvaja podskup n-torki • “Prirodno pridruživanje” koje se izvodi samo u nekim slučajevima – iz tabele dobivene u 2. koraku se izdvajaju određeni stupci
Primjer • Neka su r(R) i s(S) relacije i neka vrijedi BєR i DєS. Neka je uvjet izdvajanja B<D. Operacija pridruživanja relacija r i s imala bi slijedeći tok: r(A B) s(C D) (rxs)=r’ (A B C D) σB<D(r’)=r’’ ( A B C D) d 1 g 3 d 1 g 3 d 1 g 3 e 2 k 1 d 1 k 1 e 2 g 3 f 1 e 2 g 3 f 1 g 3 e 2 k 1 f 1 g 3 f 1 k 1
Theta pridruživanje • Najopćenitiji oblik operacije pridruživanja • Rezultat ove operacije je skup n-torki koji zadovoljava sljedeće uvjete: • Podskup je Kartezijevog produkta relacija r i s • Svaki element tog podskupa zadovoljava kriterij izdvajanja [AiΘBj] • Ukoliko je Kartezijev prodkut relacija relacija, onda će i rezultat operacije Θ-pridruživanja biti relacija.
Prirodno pridruživanje (natural join) • Prirodnim pridruživanjem dviju relacija spajaju se međusobno n-torke tih relacija na osnovi vrijednosti atributa koji se nalaze u shemi jedne i druge relacije. • Neka su r(R) i s(S) relacije i neka je RS=T. Prirodno pridruživanje označavamo s r|X|s. Rezultat te operacije bit će relacija q(T)
Primjer (Maier, 1983.) Aparat Ovlaštenje Aparat |X| Ovlaštenje
Dijeljenje • Je binarna operacija • Neka su r(R) i s(S) relacije i neka vrijedi R={X,Y} i Y je unijski kombatibilan s S. Dijeljenje relacije r s relacijom s označavamo s r/s. Rezultat ove operacije je relacija q(X)
Grafički prikaz operacija relacijske algebre • Grafički prikazi napravljeni su prema Dateu (1986.) • U njima se umjesto krugova kao simboli relacija koriste pravokutnici nad kojima se izvodi operacija.
Literatura • Tkalac, Slavko; Relacijski model podataka, Zagreb: Društvo za razvoj informacijske pismenosti (DRIP), 1993