1 / 88

RELACIJSKO MODELIRANJE PODATAKA

RELACIJSKO MODELIRANJE PODATAKA. Analiza potreba. Modeliranje entiteta i veza. Pretvorba u relacije. Normalizacija relacija. ENTITETI. DEF: Entitet je skup objekata iz realnog svijeta koji imaju neka zajedni čka svojstva . Svojstva entiteta nazivaju se atributi. E = {e 1 , e 2 , e 3 , ….}

cecil
Download Presentation

RELACIJSKO MODELIRANJE PODATAKA

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. RELACIJSKO MODELIRANJE PODATAKA

  2. Analiza potreba Modeliranje entiteta i veza Pretvorba u relacije Normalizacija relacija

  3. ENTITETI DEF: Entitet je skup objekata iz realnog svijeta koji imaju neka zajednička svojstva. Svojstva entiteta nazivaju se atributi. E = {e1, e2, e3, ….} - Za prikaz entiteta potrebno je utvrditi: - SELEKCIJU ATRIBUTA - INTEGRITET ATRIBUTA – tip, ograničenja, pravila - KARDINALITET ATRIBUTA

  4. KARDINALITET ATRIBUTA DEF: Broj koji kazuje koliko vrijednosti pojedini atribut daje za opis jednog elementa entiteta. card(A,E) = (min card(A,E), max card (A,E)) min card (IME,STUDENT) = 1 max card (IME,STUDENT) = 1 card (IME,STUDENT) = (1,1) (0,1) card(ZAVRŠENA ŠKOLA, STUDENT)=

  5. atributi sa min card = 0 nisu obavezni • VIŠEVRIJEDNOSNI ATRIBUTI - atributi koji mogu imati više vrijednosti za pojedini element entiteta card(SPORT, STUDENT) = (0, n)

  6. Dvije vrste atributa: • OPISNI ATRIBUTI • IDENTIFIKACIJSKI ATRIBUTI DEF: IDENTIFIKATOR (identifikacijski atribut) je atribut koji jedinstveno određuje pojedine elemente entiteta • u entitetu ne mogu postojati dva elementa sa istom vrijednošću identifikatora • identifikator sa card = (1,1) - PRIMARNI KLJUČ (primary key)

  7. (1,1) (1,1) card (IME, STUDENT) = card (PREZIME, STUDENT) = card (DAT_ROD, STUDENT) = card (MJESTO_ROD, STUDENT) = card (JMBG, STUDENT) = card (ZAVRSENA_SK, STUDENT) = (1,1) (1,1) (0,1) (0,1) • identifikator? • primarni ključ?

  8. DIJAGRAM ENTITETA STUDENT_ID (1,1) SPORT ZAVRSENA_SK (0,1) (0,n) MJESTO_ROD (1,1) STUDENT (0,1) (1,1) JMBG IME (1,1) (1,1) PREZIME DAT_ROD

  9. SLOŽENI ATRIBUTI • sastavljeni od atributa koji u procesu modeliranja podataka čine ligičke cjeline • primjer: ADRESA – MJESTO + ULICA card (ULICA, STUDENT) = (0,1) card (MJESTO, STUDENT) = (1,1) ULICA (0,1) MJESTO ADRESA (0,1) STUDENT

  10. kardinalitet složenog atributa: min card (A,E) = max(min card(A1,E), min card(A2,E), …, min card(An,E)) max card (A,E) = max(max card(A1,E), max card(A2,E), …, max card(An,E)) card(ADRESA, STUDENT) = (1,1) • složeni atributi mogu biti identifikatori : • - svi atributi koji čine složeni imaju card = (1,1) • - složeni atr. je jedinstven za svaki element

  11. RELACIJE • entiteti su međusobno povezani logičkim vezama – relacijama DEF: KARDINALITET ENTITETA U RELACIJI definiran je brojem veza pojedinog elementa tog entiteta sa elementima entiteta s kojim je relacijski povezan

  12. RELACIJA 1x1 ONE-TO-ONE DEF: Za dva entiteta E i F koji sudjeluju u relaciji R jedan-na jedan vrijedi: card(E,R) = (0,1) card(F,R) = (0,1) - svaki element skupa E može biti povezan samo sa jednim elementom skupa F, ali i ne mora. Isto vrijedi i za elemente skupa F.

  13. - primjer: STUDENT i PIN STUDENT PIN PRIJAVA card(STUDENT, PRIJAVA) = card(PIN,PRIJAVA) = (0,1) (0,1)

  14. RELACIJA 1xn ONE-TO-MANY DEF: Ako dva entiteta E i F ostvaruju relaciju R, pri čemu vrijedi: card(E,R) = (0,n) card(F,R) = (1,1) takva relacija je tipa 1xn

  15. - primjer: STUDENT i UPISNI LIST STUDENT UPISNI LIST PREDAJE card(STUDENT, PREDAJE) = card(UPISNI LIST,PREDAJE) = (0,n) (1,1)

  16. RELACIJA nxn MANY-TO-MANY DEF: Ako dva entiteta E i F ostvaruju relaciju R, pri čemu vrijedi: card(E,R) = (0,n) card(F,R) = (0,n) takva relacija je tipa nxn - svaki element skupa E može biti povezan sa više elemenata skupa F, ali i ne mora. Isto vrijedi i za elemente skupa F.

  17. - primjer: UPISNI LIST i PREDMET UPISNI LIST PREDMET UPISUJE card(UPISNI LIST, UPISUJE) = card(PREDMET,UPISUJE) = (0,n) (0,n)

  18. relacije više-na-više, osim povezivanja entiteta, sa sobom mogu donijeti i atribute koji su posljedica relacijske veze UPISNI LIST PREDMET UPISUJE OCJENA DATUM

  19. SLOŽENIJE VEZE • INVOLVIRANA VEZA • povezuje jedan tip entiteta s istim tipom entiteta • funkcionalnost može biti 1x1, 1xn, nxn • primjeri: (0,1) (1,N) U BRAKU SA OSOBA SURADNIK JE ŠEFZA (0,1) (1,1) (1,M) DIO PROIZVODA SADRŽI (1,N)

  20. JE JE JE • PODTIPOVI - entitet E1 je podtip entiteta E2 ako je svaki element entiteta E1 ujedno i element entiteta E2 - E1 nasljeđuje sve atribute od E2, no može imati i dodatne atribute OSOBA STUDENT NASTAVNIK REDOVNI PROFESOR

  21. IZVOZI • TERNARNE VEZE - uspostavljaju se između tri entiteta - uvode se samo onda kada se ne mogu rastaviti na binarne ZEMLJA (0,N) (0,M) (0,P) KOMPANIJA PROIZVOD

  22. RELACIJSKI MODEL • iz E-R dijagrama rekonstruira se relacijski model • baza se sastoji od skupa tabela tzv. RELACIJA TRANSFORMACIJSKA PRAVILA • Entitet kao skup objekata prikazuje se tablicom • redak – element entiteta • stupac – atribut • head (IME TABLICE) = {atriburt 1, atribut 2, …..} • PK(IME TABLICE) = naziv atributa

  23. 2. Viševrijednosni atributi ne prikazuju se jednom kolonom nego posebnom tablicom - nova tablica sastoji se od dva stupca: - primarni ključ entiteta - viševrijednosni atribut • head(S) = {E_id, S} • PK (S) = {E_id, S} • E_id = PK (E)

  24. primjer: STUDENT – SPORT • formira se nova tablica SPORT: SPORT = (student_id, sport)

  25. 3. Prikaz relacije 1xn • E i F u relaciji R • card (E, R) = (0,n) • card (F, R) = (1,1) Relacija se ostvaruje preko STRANOG KLJUČA: - tablica entiteta F proširuje se kolonom E_id = PK(E) – strani ključ (foreign key)

  26. primjer: STUDENT – UPISNI LIST card (STUDENT, PREDAJE) = (0,n) card(UPISNI LIST, PREDAJE) = (1,1) - u UPISNI LIST se dodaje atribut koji je u entitetu STUDENT primarni ključ – student_id

  27. 4. Prikaz relacije nxn • E i F u relaciji R • card (E, R) = (0,n) • card (F, R) = (0,n) Relacija se ostvaruje formiranjem nove tzv. RELACIJSKA TABLICE: E_id = PK(E) = FK(R) F_id = PK(F) = FK(R) PK(R) = (E_id, F_id) - nova tablica se proširuje atributima koji su posljedica relacije među entitetima

  28. primjer: UPISNI LIST – PREDMET card(UPISNI LIST, UPISUJE) = (0,n) card(PREDMET, UPISUJE) = (0,n) PK(UPISNI LIST) = FK(UPISUJE) = ulist_id PK(PREDMET) = FK(UPISUJE) = predmet_id PK(UPISUJE) = (ulist_id, predmet_id)

  29. 5. Prikaz relacije 1x1 • E i F u relaciji R • card (E, R) = (0,1) • card (F, R) = (0,1) • E_id = PK(E), F_id = PK(F) Relacija se može ostvariti na tri načina: a) E_id = PK(E) = FK(F) b) F_id = PK(F) = FK(E) c) proširivanjem tablice E sa kolonama tablice F

  30. 6. Prikaz involviranih veza • ovisi o tipu veze: OSOBA (JMBG, PREZIME_IME, ADRESA) BRAK(JMBG_MUZA, JMBG_ZENE, DTM_VJ) SURADNIK(ID, ID_SEFA, PREZIME_IME) DIO_PROIZVODA(BR_DIJELA, IME_DIJELA, OPIS) SADRZI(BR_DIJ_SLOZENOG, BR_DIJ_JEDNOSTAVNOG, KOLICINA)

  31. 7. Prikaz podtipova • podtip se prikazuje posebnom relacijom koja sadrži primarne atribute nadređenog tipa i atribute specifične za podtip - primjer: OSOBA(JMBG, atributi zajednički za sve tipove) STUDENT(JMBG, atributi specifični za studente) NASTAVNIK(JMBG, atributi specif. za nastavnike) PROFESOR(JMBG, atributi specifićni za profesore)

  32. 8. Prikaz ternarnih veza • ternarna veza se prikazuje posebnom relacijom koja sadrži primarne atribute svih triju tipova entiteta, zajedno s eventualnim atributima veze • primjer: KOMPANIJA(IME_KOMPANIJE, …) PROIZVOD(IME_PROIZVODA, …) ZEMLJA(IME_ZEMLJE, …) IZVOZI(IME_KOMPANIJE, IME_PROIZVODA, IME_ZEMLJE)

  33. PRIMARNI KLJUČ • atribut ili skup atributa koji jedinstveno identificiraju svaki element entiteta • mora zadovoljavati: 1. JEDINSTVENOST 2. MINIMALNOST 3. PRAVILO INTEGRITETA PK

  34. primjer: dekompozicija atributa • STUDENT – atribut MJESTO RODJENJA - više različitih mjesta istog naziva - redefinicija atributa MJESTO kao posebnog entiteta DRŽAVA (1,1) MJESTO_ID (1,1) OPĆINA (0,1) STUDENT (0,1) (1,1) IME MJESTA POŠTANSKI BROJ

  35. novi entitet se nalazi u relaciji sa entitetom STUDENT: MJESTO STUDENT ROĐENJE card (MJESTO, ROĐENJE) = (0,n) card (STUDENT, ROĐENJE) = (1,1)

  36. relacija: 1xn • ostvaruje se preko stranog ključa

  37. OPĆINA - mjesto koje predstavlja općinsko središte • pojam općine moguće povezati sa pojmom mjesta: (0,N) MJESTO U OPĆINI (1,1) - pošto se radi o 1xn – preko stranog ključa

  38. RELACIJSKA ALGEBRA - definira operacije nad entitetima i podacima DEF: KOMPATIBILNE TABLICE su tablice koje: a) sadrže atribute jednakog naziva i isti broj atributa b) atributi istog naziva definirani su nad jednakim domenama DOMENA PODATAKA – predstavlja skup vrijednosti kojeodređei atribut može poprimiti

  39. operacije teorije skupova: - unija T:= R  S - presjek T:= R  S - razlika T:= R - S - produkt T:= R x S • prirodne relacijske operacije: - projekcija T:= R [a] - selekcija T:= R when a=12 - dijeljenje T:= R ÷ S - join T:= R ▷◅ S

  40. UNIJA T:= R  S - samo nad kompatibilnim tablicama - T ima isto zaglavlje (header) kao i tablice R i S, a sadrži sve retke koji se nalaze bilu u R bilo u S S R T

  41. PRESJEK T:= R  S - samo nad kompatibilnim tablicama - T ima isto zaglavlje (header) kao i tablice R i S, a sadrži sve retke koji se nalaze u oba dvije tablice S R T

  42. RAZLIKA T:= R - S - samo nad kompatibilnim tablicama - T ima isto zaglavlje (header) kao i tablice R i S, a sadrži sve retke koji se nalaze u R, a ne nalaze se u S S T R

  43. PRODUKT T:= R x S • temelji se na skupovnoj operaciji kartezijev produkt • T se sastoji od uređenih parova, pri čemu je prvi element iz R, a drugi iz S - head(RxS) = head(R)  head(S) T

  44. R T S

  45. za operatore unija, presjeka i produkta vrijede pravila asocijativnosti i komutativnosti • (RS)T = R(ST) = RST • (RS)T = R(ST) = RST • (RxS)xT = Rx(SxT) = RxSxT

  46. PROJEKCIJA T:= R [a] - izdvajaju se atributi tablice nad kojima se vrši projekcija • T sadrži sve redove koji su sadržani u tablici R - nova tablica je vertikalni podskup zadane tablice T := R[A] R

  47. SELEKCIJA T:= R where a=12 - izdvajaju se skup redova koji zadovoljavaju uvjet po kojem se selekcija vrši • nova tablica sadrži sve atribute kao i izvorna tablica - nova tablica predstavlja horizontalni poskup izvorne R T := R where A = s

  48. DIJELJENJE T:= R ÷ S - Tablic T koja se dobije dijeljenjem R i S je najveća tablica za koju vrijedi da se svi redovi produkta TxS nalaze u tablici R S T R

More Related