1 / 32

Relacijska algebra

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

arawn
Download Presentation

Relacijska algebra

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Relacijska algebra Krunoslav Štefanek Ivona Zeljko Maja Libl Martina Tolj

  2. 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

  3. 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)

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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.

  12. 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

  13. Prije izvođenja operacije razlike moraju se uskladiti redoslijedi i nazivi unijski kompatibilnih atributa • Binarna operacija • Nije komutativna ni asocijativna operacija • Vrijedi:

  14. 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

  15. 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

  16. 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) ( )

  17. b) Neka vrijedi . Kartezijev produkt rxs nije relacija. r ( ) s ( ) (r x s) ( )

  18. 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

  19. 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

  20. Primjer

  21. 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

  22. Primjer

  23. 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)

  24. Primjer

  25. 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

  26. 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

  27. 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.

  28. 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)

  29. Primjer (Maier, 1983.) Aparat Ovlaštenje Aparat |X| Ovlaštenje

  30. 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)

  31. 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.

  32. Literatura • Tkalac, Slavko; Relacijski model podataka, Zagreb: Društvo za razvoj informacijske pismenosti (DRIP), 1993

More Related