ER dijagrami Baze podataka 1 Uvod u ER
ER dijagrami Baze podataka 1
Uvod u ER modeliranje o Entity-Relationship (ER) Dijagram n n o Detaljan logički prikaz entiteta, veza i podataka radi organizacije poslovanja MOV – model objekti-veze Dijagrami sadrže tri osnovne konstrukcije n n n Entitete Veze Atribute 2
Konceptualna šema baze podataka o Cilj n n o Prikazati što više relevatnih podataka Nije dovoljno poznavati osnovna pravila normalizacije, referencijalnih integriteta, stranih ključeva. Već je potrebno ispravno predstaviti organizacioni model podataka, tj. razumeti koristničke zahteve Rezultat n Bolji dizajn koji je skalabilan i lakši za održavanje 3
ER modeliranje – osnovni termini o Entitet n n o Tip entiteta n o Osoba, mesto, objekat, događaj ili koncept u korisničkom okruženju o kojima organizacija želi da beleži i čuva podatke Predstavljeni su kao pravougaonik u ER dijagramima Kolekcija entiteta koje dele neke zajedničke osobine ili karakteristike Atribut n n Imenovana osobina ili karakteristika koja je od značaja za poslovanje organizacije Predstavljeni su kao ovali u ER dijagramima 4
Prikaz osnovnih elemenata ER dijagrama Tip entiteta Poveznik Atribut Gerund 5
Entitet o o o Opšti pojam (objekat, proces, pojava) koji možemo jednoznačno odrediti, a o kojemu u bazi podataka čuvamo podatke Naziv entiteta zajedno sa svojim atributima čini tip entiteta unutar kojega može postojati više instanci (pojava) entiteta Predstavljaju se imenicama 6
Entitet o o U grafičkom prikazu se prikazuje pravougaonikom unutar kojega je upisan naziv tipa entiteta Primer: Automobil Kuća Osoba Projekat 7
Atribut o o o Karakteristika (svojstvo) koje pobliže opisuje entitet Može poprimiti vrednost iz određenog skupa vrednosti koji predstavlja domen (tip vrednosti) tog atributa Atribut ili skup atributa koji jednoznačno određuje svaku pojavu entiteta se naziva ključ tipa entiteta 8
Atribut o Grafički se prikazuje elipsom unutar koje je upisan naziv atributa n Ključni atibuti se podvlače Naziv Veličina Ime Cena JMBG 9
ER modeliranje – osnovni termini o Poveznik n n n Odnos ili veza između pojava jednog ili više tipova entiteta koji je od značaja za poslovanje Veza kazuje da se pojavio događaj ili da postoji prirodna veze između tipa entiteta Veze se uvek označavaju glagolima 10
Poveznik o o Opisuje odnos među entitetima Stepen veze - broj entiteta koje promatrana veza povezuje n n o o binarna, ternarna, itd. refleksivna - kada jedan entitet u vezi ima dve različite uloge Naziv poveznika je predstavljen glagolom Definicije treba da objasni prirodu veze i zašto je važna 11
Veza o Primer (stepen): n binarna veza: n ternarna veza: n refleksivna veza: 12
Poveznik o Kardinalitet veze - opisuje ograničenja preslikavanja pojedinačnih entiteta koji učestvuju u posmatranoj vezi n o o 1: 1, 1: N, N: 1, N: M o opšte govoreći moguće je i da u nekoj vezi pojedine instance nekog entiteta ne učestvuju (1: 0, 0: N) Tip veze - skup veza iste vrste Grafički se prikazuje rombom unutar kojega piše naziv tipa veze 13
Paralelna veza o o Među entitetima može postojati paralelna veza Paralelna veza može biti dvostruka, trostruka, itd. 14
ER modeliranje – osnovni termini o Ključevi i jedinstveni identifikatori n n n Svaki tip entiteta mora imati neki atribut ili skup atributa koji pravi razliku između pojedinačnih pojava istog tipa entiteta Ključ o Atribut (ili skup atributa) koji jedinstveno identifikuju svaku pojedinačnu pojavu tipa entiteta Pravila za izbor ključa 1. 2. Odabrati atribut koji neće menjati svoju vrednost Odabrati atribut koji nikada neće imati null vrednost 15
Kardinalitet o Broj pojava entiteta B koji mogu biti povezani sa svakom pojavom entiteta A o Minimalni kardinalitet n o Minimalni broj pojava entiteta B koji mogu biti povezani sa svakom pojavom entiteta A Maksimalni kardinalitet n Maksimalni kardinalitet pojava entiteta B koji mogu biti povezani sa svakom pojavom entiteta A 16
Primeri o Strukture sa kardinalitetima grupe M: N Radnik (0, M) Radi Ivo (Ivo, Lido) Ana (Ivo, Faktura) Eva (Ana, Skladištenje) Aca (Ana, Lido) (0, N) Projekat Lido Faktura Skladištenje Nabavka 17
Primeri o Strukture sa kardinalitetima grupe M: N Radnik (0, M) Radi Ivo (Ivo, Lido) Ana (Ivo, Faktura) Eva (Ana, Skladištenje) Aca (Ana, Lido) (Eva, Nabavka) (1, N) Projekat Lido Faktura Skladištenje Nabavka 18
Primeri o Strukture sa kardinalitetima grupe M: N Radnik (1, M) Radi Ivo (Ivo, Lido) Ana (Ivo, Faktura) Eva (Ana, Skladištenje) Aca (Ana, Lido) (1, N) Projekat Lido Faktura Skladištenje Nabavka (Eva, Nabavka) (Aco, Nabavka) 19
Primeri o Strukture sa kardinalitetima grupe N: 1 Radnik (0, 1) Raspoređen Ivo (Ivo, projektant) Ana (Ana, projektant) Eva (Eva, Sekretarica) Aca (0, N) Radno mesto Projektant Programer Sekretarica Direktor 20
Primeri o Strukture sa kardinalitetima grupe N: 1 Radnik (1, 1) Raspoređen Ivo (Ivo, projektant) Ana (Ana, projektant) Eva (Eva, Sekretarica) Aca (Aco, Projektant) (0, N) Radno mesto Projektant Programer Sekretarica Direktor 21
Primeri o Strukture sa kardinalitetima grupe N: 1 Radnik (0, 1) Raspoređen (1, N) Ivo (Ivo, projektant) Ana (Ana, projektant) Eva (Eva, Sekretarica) Aca (Aco, Programer) Pera (Pera, Direktor) Mira Radno mesto Projektant Programer Sekretarica Direktor 22
Primeri o Strukture sa kardinalitetima grupe N: 1 Radnik (1, 1) Raspoređen (1, N) Ivo (Ivo, programer) Ana (Ana, projektant) Eva (Eva, Sekretarica) Aca (Aco, Projektant) Pera (Pera, Direktor) Mira (Mira, Direktor) Radno mesto Projektant Programer Sekretarica Direktor 23
Primeri o Strukture sa kardinalitetima grupe 1: 1 Radnik (0, 1) je Ivo (Ivo, Polisa 2) Ana (Ana, Polisa 1) Eva (Eva, Polisa 3) Aca (0, 1) Osiguranik Polisa 1 Polisa 2 Polisa 3 Polisa 4 24
Primeri o Strukture sa kardinalitetima grupe 1: 1 Radnik (1, 1) je Ivo (Ivo, Polisa 2) Ana (Ana, Polisa 1) Eva (Eva, Polisa 3) (0, 1) Osiguranik Polisa 1 Polisa 2 Polisa 3 Polisa 4 25
Primeri o Strukture sa kardinalitetima grupe 1: 1 Radnik (1, 1) je Ivo (Ivo, Polisa 2) Ana (Ana, Polisa 1) Eva (Eva, Polisa 3) Aco (Aco, polisa 4) (1, 1) Osiguranik Polisa 1 Polisa 2 Polisa 3 Polisa 4 26
Primeri o Rekurzivne veze rukovodi (0, N) Radnik (0, 1) sluzi rukovodi Ana (Ana, Eva) Ana Eva (Ana, Aco) Eva Aco (Eva, Ivo) Aco Ivo 27
Primeri o Rekurzivne veze Je deo (0, N) Proizvod (0, M) Sastoji se od Sastavnica 101 (101, Motor) Y 45 (101, Karoserija) Motor (Motor, Klip) Karoserija (Y 45, Motor) Klip (Y 45, Karoserija) 101 Y 45 Motor Karoserija Klip 28
Primeri o Tip poveznika reda većeg od dva Student (0, N) Izvodjenje_ nastave (0, 1) Nastavnik (0, N) Predmet 29
Slabi entiteti o o Slabi entiteti nemaju atribut koji bi mogao biti sopstveni ključ. Slabi entiteti ne mogu da egzistiraju bez druge relacije ka drugom entitetu. Parcijalni ključ je deo ključa koji dolazi iu slabog entiteta. Ostatak ključa dolazi od drugog entitea u relaciji. Slabi entiteti uvek imaju totalno participiranje i ne mogu da egzistiraju bez identifikujuće relacije. 30
Primeri o o Slabi tip entiteta Tip entiteta dete je identifikaciono zavistan Radnik N ID R_D 1 Dete 31
Specijalizacija i generalizacija o Specijalizacija n o Generalizacija n o Proces uzimanja entiteta i kreiranje nekoliko specijaliziranih podklasa Proces uzimanja nekoliko srodnih entiteta i kreiranje generalne superklase Uglavnom govorimo o specijalizaciji, ali najveći broj informacija se odnosi i na generalizaciju. 32
Primeri o Generalizacija (IS_A hijerarhija) Vozilo IS_A Autobus Kamion Limuzina 34
Primeri IS_A hijerarhija Stanovnik IS_A Zaposlen Nezaposlen Penzioner 35
Kardinaliteti IS_A hijerarhije o Preslikavanje može biti: n Totalno (ako svakoj pojavi nadklase odgovara bar jedna pojava podklase) o n Parcijalno (ako bar jednoj pojavi nadklase ne odgovara nijedna pojava podklase) o o Minimalni kardinalitet je jedan Minimalni kardinalitet je nula Takođe može biti: n Disjunktno (ako je svakoj pojavi nadklase pridružena pojava iz najviše jedne podklase) o n Maximalni kardinalitet je jedan Presečno (ako bar jednoj pojavi nadklase odgovaraju pojave iz više od jedne podklase) o Maximalni kardinalitet je N 36
Primeri o Kardinaliteti IS_A hijerarhije Stanovnik (1, 1) IS_A (1, 1) Zaposlen (1, 1) Nezaposlen (1, 1) Penzioner 37
Primeri o Kardinaliteti IS_A hijerarhije Nezaposlen (0, N) IS_A Dete Učenik Student penzioner 38
Primeri o Gerund (glagolska imenica) X XY Y XYVW V VW W 39
Primeri o Gerund (glagolska imenica) Radnik Osposobljen Mašina Proizvodi Može_ proizvesti Potrebna nam je veza proizvodi Deo 40
Primeri o Pogresan dijagram Osposobljen Radnik Proizvodi Mašina Deo Može_ proizvesti 41
Drugi čas 42
Heuritička uputstva (1) o o o Imenice ukazuju na potrebu uvođenja tipova entiteta Glagolski oblici ukazuju na potrebu uvođenja tipova poveznika ili gerunda Fraze oblika “bar jedan”, “najmanje jedan”, “više” i slične, ukazuju na kardinalitete tipova poveznika ili gerunda Postojanje različitih uloga eniteta jednog skupa u vezama sa entitetima drugih skupova, ukazuje na potrebu uvođenje više tipova poveznika između odgovarajućih tipova entiteta Veze između entiteta jednog skupa ukazuju na potrebu uvođenja rekurzivnog tipa poveznika. Kod rekurzivnih veza je preporučljivo da se uloge entiteta eksplicitno navedu 43
Heuritička uputstva (2) o o o Vremensko prethođenje entiteta jednog skupa u odnosu na entitete nekog drugog skupa, ukazuje na egzistencijalnu zavisnost entiteta drugog skupa od entiteta prvog skupa i potrebu uvođenja minimalnog kardinaliteta Potreba takvog selektivnog povezivanja entiteta tri ili više skupova, kod kojeg u vezi mogu učestvovati samo entiteti koji su već u nekakvoj drugoj vezi sa entitetima jednog (ili više) drugih skupova, ukazuje na neophodnost korišćenja gerunda, kao modela tih veza Postojanje entiteta, jednog skupa, sa specifičnim osobinama ili sa specifičnim vezama sa entitetima drugih skupova, ukazuje na potrebu uvođenja I_SA hijerarhije 44
Heuritička uputstva (3) o o Svako obeležje može pripadati samo jednom tipu entiteta ili samo jednom tipu poveznika (tek u ekstenziji: pojave tipa poveznika nasleđuju ključeve povezanih pojava tipova entiteta, pojave slabog tipa entiteta nasleđuju ključ pojave regularnog tipa entiteta, pojave potklase nasleđuju ključ i osobine superklase) Tip entiteta ili tip poveznika sadrži samo ona obeležja supa entiteta ili skupa poveznika, koja su bitna za realizaciju ciljeva postavljenih pred automatizovani informacioni sistem 45
Primer 1. ime jmbg ids prezime Radnik (0, 1) Rukovodi (1, 1) naziv sektor 46
Primer 2. ime jmbg idf Prezime Kandidat (0, N) upis (0, N) naziv Fakultet 47
Primer 3. vrednost idk Naziv sifp Predmet (1, 1) pripada (0, N) naziv katedra 48
Primer 4. Naziv id. Opst Sif. O br. Stan Opstina (1, 1) pripada (1, N) naziv Okrug 49
Primer 5. autor id. U Naziv sifp Predmet (O, N) koristi (1, N) naslov Udzbenik 50
Primer 6. ime id. N Naziv sifp Predmet (1, N) predaje (1, N) prezime Nastavnik 51
Primer 7. ime jmbg Naziv sifp Predmet (0, N) polozio (0, N) prez Student 52
Primer 8. Je supruga (0, 1) Osoba (0, 1) Je muz U braku 53
Veza sa kardinalnošću (0, 1) – (1, 1) Otpremnica (Broj. Otpr, Datum. Otpr) Prijemnica (Broj. Prijemnice, Datum. Prijem, Br. Otpr) 54
Veza sa kardinalnošću (0, 1) – (0, 1) Kandidat (Sifra. Kandidata, Ime. Prezime, Struka) Konkurs (Sifra. Kandidata, Sifra. Radnika) Radnik (Sifra. Radnika, Opis. RM) Kandidat (Sifra. Kandidata, Ime. Prezime, Struka) Konkurs (Sifra. Radnika, Sifra. Kandidata) Radnik (Sifra. Radnika, Opis. RM) 55
Veza sa kardinalnošću (1, 1) – (0, M) o o Ne postaju posebne šeme relacija. Identifikator objekta sa strane za koju je gornja granica kardinaliteta presikavanja GG=M postaje obeležje šeme relacije koje odgovara objektu sa strane za koju je GG=1 Mesto (Sifra. Mesta, Naziv) Radnik (Sifra. Radnika, Ime. Prezime, Struka, Sifra. Mesta) 56
Veza sa kardinalnošću (1, 1) – (1, M) o o Ne postaju posebne šeme relacija. Identifikator objekta sa strane za koju je gornja granica kardinaliteta presikavanja GG=M postaje obeležje šeme relacije koje odgovara objektu sa strane za koju je GG=1 Knjiga (Sifra. Knjige, Naziv) Izdanje (Sifra. Izdanja, Godina. Izdanja, Sifra. Knjige) 57
Veza sa kardinalnošću (0, 1) – (0, M) o o Postaje posebna šema relacije. Obeležja ove šeme relacije su identifikatori objekata koji su u vezi, a ključ šeme relacije je identifikator objekta za koji je GG=1 Predmet (Sifra. Predmeta, Naziv, Opis) Koristi (Sifra. Udzbenika, Sifra. Predmeta ) Udzbenik (Sifra. Udzbenika, Naziv) 58
Veza sa kardinalnošću (0, 1) – (1, M) o o Postaje posebna šema relacije. Obeležja ove šeme relacije su identifikatori objekata koji su u vezi, a ključ šeme relacije je identifikator objekta za koji je GG=1 Predmet (Sifra. Predmeta, Naziv, Opis) Predaje (Sifra. Predmeta, Sifra. Nastavnika) Nastavnik (Sifra. Nastavnika, Ime. Prezime) 59
Veza sa kardinalnošću (0, M) – (0, M) o o Postaje posebne šema relacije. Obeležja ove šeme relacije su identifikatori objekata koji su u vezi, a ključ šeme relacije je složeni ključ koji se sastoji od identifikatora objekata koji su u vezi. Radnik (Sifra. Radnika, Ime. Prezime, Struka) Radna. Istorija (Sifra. Radnika, Sifra. ORG) Organizacija (Sifra. Org, Naziv) 60
- Slides: 60