800 likes | 1.71k Views
ER dijagrami. Baze podataka. Uvod u ER modeliranje. Entity-Relationship (ER) Di j agram Detaljan logičk i prikaz entiteta, veza i podataka r adi organizacije poslovanja M OV – model objekti - veze Dijagrami sadrž e tri osnovne konstrukcije Entitet e Veze Atribute.
E N D
ER dijagrami Baze podataka
Uvod u ER modeliranje • Entity-Relationship (ER) Dijagram • Detaljan logički prikaz entiteta, veza i podataka radi organizacije poslovanja • MOV – model objekti-veze • Dijagrami sadrže tri osnovne konstrukcije • Entitete • Veze • Atribute
Konceptualna šema baze podataka • Cilj • 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 • Bolji dizajnkoji je skalabilan i lakši za održavanje
ER modeliranje – osnovni termini • Entitet • 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 • Tip entiteta • Kolekcija entiteta koje dele neke zajedničke osobine ili karakteristike • Atribut • Imenovana osobina ili karakteristika koja je od značaja za poslovanje organizacije • Predstavljeni su kao ovali u ER dijagramima
Prikaz osnovnih elemenata ER dijagrama Atribut Tip entiteta Poveznik Gerund
Entitet • 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
Entitet • U grafičkom prikazu se prikazuje pravougaonikom unutar kojega je upisan naziv tipa entiteta • Primer: Automobil Kuća Osoba Projekat
Atribut • 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
Atribut • Grafički se prikazuje elipsom unutar koje je upisan naziv atributa • Ključni atibuti se podvlače Naziv Veličina Ime Cena JMBG
ER modeliranje – osnovni termini • Poveznik • 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
Poveznik • Opisuje odnos među entitetima • Stepen veze - broj entiteta koje promatrana veza povezuje • 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
Veza • Primer (stepen): • binarna veza: • ternarna veza: • refleksivna veza:
Poveznik • Kardinalitet veze - opisuje ograničenja preslikavanja pojedinačnih entiteta koji učestvuju u posmatranoj vezi • 1:1, 1:N, N:1, N:M • 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
Paralelna veza • Među entitetima može postojati paralelna veza • Paralelna veza može biti dvostruka, trostruka, itd.
ER modeliranje – osnovni termini • Ključevi i jedinstveni identifikatori • Svaki tip entiteta mora imati neki atribut ili skup atributa koji pravi razliku između pojedinačnih pojava istog tipa entiteta • Ključ • Atribut (iliskup atributa) koji jedinstveno identifikuju svaku pojedinačnu pojavu tipa entiteta • Pravila za izbor ključa • Odabrati atribut koji neće menjati svoju vrednost • Odabrati atribut koji nikada neće imati null vrednost
Kardinalitet • Broj pojava entiteta B koji mogu biti povezani sa svakom pojavom entiteta A • Minimalni kardinalitet • Minimalni broj pojava entiteta B koji mogu biti povezani sa svakom pojavom entiteta A • Maksimalnikardinalitet • Maksimalni kardinalitet pojava entiteta B koji mogu biti povezani sa svakom pojavom entiteta A
Primeri • Strukture sa kardinalitetima grupe M:N (0,M) (0,N) Radnik Radi Projekat
Primeri • Strukture sa kardinalitetima grupe M:N (0,M) (1,N) Radnik Radi Projekat
Primeri • Strukture sa kardinalitetima grupe M:N (1,M) (1,N) Radnik Radi Projekat
Primeri • Strukture sa kardinalitetima grupe N:1 (0,1) (0,N) Radnik Raspoređen Radno mesto
Primeri • Strukture sa kardinalitetima grupe N:1 (1,1) (0,N) Radnik Raspoređen Radno mesto
Primeri • Strukture sa kardinalitetima grupe N:1 (0,1) (1,N) Radnik Raspoređen Radno mesto
Primeri • Strukture sa kardinalitetima grupe N:1 (1,1) (1,N) Radnik Raspoređen Radno mesto
Primeri • Strukture sa kardinalitetima grupe 1:1 (0,1) (0,1) Radnik je Osiguranik
Primeri • Strukture sa kardinalitetima grupe 1:1 (1,1) (0,1) Radnik je Osiguranik
Primeri • Strukture sa kardinalitetima grupe 1:1 (1,1) (1,1) Radnik je Osiguranik
Primeri • Rekurzivne veze rukovodi (0,N) (0,1) Radnik rukovodi sluzi
Primeri • Rekurzivne veze Je deo (0,N) (0,M) Proizvod Sastavnica Sastoji se od
Primeri • Tip poveznika reda većeg od dva Izvodjenje_ nastave (0,N) Student Nastavnik (0,1) (0,N) Predmet
Slabi entiteti • 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.
Primeri • Slabi tip entiteta • Tip entiteta dete je identifikaciono zavistan ID N 1 Radnik R_D Dete
Specijalizacija i generalizacija • Specijalizacija • Proces uzimanja entiteta i kreiranje nekoliko specijaliziranih podklasa • Generalizacija • Proces uzimanja nekoliko srodnih entiteta i kreiranje generalne superklase • Uglavnom govorimo o specijalizaciji, ali najveći broj informacija se odnosi i na generalizaciju.
Апстракција података Генерализација и специјализација • Генерализација је апстракција у којој се скуп сличних типова објеката претставља општијим генеричким типом (надтипом). • Под сличним типовима објеката овде се могу третирати типови објеката који имају један број истих (заједничких) атрибута, типова веза са другим објектима и операција. • Генерализација • Студенти, Наставници, Политичари, Певачи су Особе
Primeri • Generalizacija (IS_A hijerarhija) Vozilo IS_A Autobus Kamion Limuzina
Primeri IS_A hijerarhija Stanovnik IS_A Zaposlen Nezaposlen Penzioner
Kardinaliteti IS_A hijerarhije • Preslikavanje može biti: • Totalno (ako svakoj pojavi nadklase odgovara bar jedna pojava podklase) • Minimalni kardinalitet je jedan • Parcijalno (ako bar jednoj pojavi nadklase ne odgovara nijedna pojava podklase) • Minimalni kardinalitet je nula • Takođe može biti: • Disjunktno (ako je svakoj pojavi nadklase pridružena pojava iz najviše jedne podklase) • Maximalni kardinalitet je jedan • Presečno (ako bar jednoj pojavi nadklase odgovaraju pojave iz više od jedne podklase) • Maximalni kardinalitet je N
Primeri • Kardinaliteti IS_A hijerarhije Stanovnik (1,1) IS_A (1,1) (1,1) (1,1) Zaposlen Nezaposlen Penzioner
Primeri • Kardinaliteti IS_A hijerarhije Nezaposlen (0,N) IS_A Dete Učenik Student penzioner
Primeri • Gerund (glagolska imenica) X XY Y XYVW V VW W
Primeri • Gerund (glagolska imenica) Radnik Osposobljen Mašina Može_ proizvesti Proizvodi Potrebna nam je veza proizvodi Deo
Primeri • Pogresan dijagram Osposobljen Radnik Proizvodi Mašina Može_ proizvesti Deo
Heuritička uputstva (1) • 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
Heuritička uputstva (2) • 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
Heuritička uputstva (3) • 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
Primer 1. ime ids naziv prezime jmbg (0,1) (1,1) Radnik Rukovodi sektor
Primer 2. ime idf naziv Prezime jmbg (0,N) (0,N) Kandidat upis Fakultet
Primer 3. vrednost idk naziv Naziv sifp (1,1) (0,N) Predmet pripada katedra
Primer 4. Naziv SifO naziv brStan idOpst (1,1) (1,N) Opstina pripada Okrug
Primer 5. autor idU naslov Naziv sifp (O,N) (1,N) Predmet koristi Udzbenik