ERwin Data Modeler korisničko
uputstvo
ERwin Data Modeler je alat za modelovanje podataka, koji služi za pravljenje i održavanje baza i skladišta podataka (Data Warehouse, Data Mart) i poslovnih modela podataka. Moguće je pravljenje odvojenih logičkih i fizičkih, ali i jedinstvenog logičko -fizičkog modela podataka. Osnovne karakteristike ERwin-a su:
brzo pravljenje baza podataka podataka na osnovu napravljenog napravljenog modela. Može se uvesti sinhronizacija sinhronizacija između baze i modela, čime se olakšava proces održavanja. Podržane su sledeće baze: Oracle, DB2/UDB (uključujući iSeries), SQL Server, Teradata, Sybase, Informix, Ingres, Progress, Access, i povezivanje preko ODBC-a. olakšan timski rad na modelu i njegova reupotrebljivost
mehanizmi mehanizmi za detaljno poređenje baze i modela reverzni inženjering
definisanje i održavanje konvencije o imenima, atributima i tipovima podataka.
1. Pravljenje novog modela Nakon pokretanaj pokretanaj programa, u prvom koraku je potrebno selektovati selektovati opciju Create Create iz menija File, File, pri čemu se čemu se otvara prozor za odabir vrste modela. Potrebno je odabrati opciju Logical (slika 1).
Sli ka 1. Odabir
modela koji treba napraviti
Prvi korak u izgradnji logičkog logič kog model jeste razvoj dijagrama entitet veza (EVD), tj. modela podataka na visokom nivou o širokom poslovnom prostoru. Dijagram entitet-veza se sastoji od tri glavna bloka: entiteta, atributa, i relacija. Ako se dijagram posmatra kao grafi či jezik či jezik za opisivanje poslovanja, entiteti su imenice, atributi su pridevi ili modifikatori, a relacije su glagoli. Izgradnja modela podataka sa Erwinom je jednostavno jednostavno pitanje pronalaženja pravog pravo g skupa imenica, glagola i prideva i njihovo stavlјanje stavlјanje u odgovarajući kontekst. kontekst.
Pre crtanja modela potrebno je izabrati notaciju za modeliranje podataka. Podrazumevana notacija je IDEF1X (Integration DEFinition for Information Modeling), Modeling), pored nje moguće je je odabrati IE (Information Engineering) notaciju. To radimo u delu Model delu Model > Model > Model Properties Properties... ... > Notation > Notation (slika 2).
Sli ka 2. Odabir
notacije modela
Izgled elemenata modela (font, boje…) se može podešavati u delu Format. Za razmatranja u ovom dokumentu, podrazumevaćemo da smo uključili opciju Format > Format > Display Level > Attribute. Attribute. Da bi se u oviru entiteta u modelu obezbedio poseban poseba n prikaz primarnog i stranog ključa, štikliraju se opcije Format > Entity Display > Primary Key Designator i Designator i Format > > Entity Display Entity Display > Foreign Key Designator (FK). (FK). Automatsku migraciju stranih ključeva iz nezavisnih entiteta u zavisne omogućuje opcija Format > Entity > Entity Display > Display > Show Migrated Attributes (slika Attributes (slika 3).
Sli ka 3.
Uključivanje prikaza primarnih i stranih ključeva , i automatsku automatsku migraciju stranih ključeva
Najbolje je da već na osnovu na osnovu izgleda veza u modelu znamo koja je kardinalnost i referencijalni integritet. Zbog toga je potrebno štiklirati štiklirati i opcije Format > Relationship Relationship Display > Cardinality i Format > Relationship Display > Display > Referen Referential tial Integrity Integrity (slika 4).
Sli ka 4. Prikaz
kardinalnosti i referencijalnog integriteta
Ručna promena veličine entiteta i veza u modelu se omogućuje ulaskom u podešavanje Format > Preferences Preferences... ... (Slika 5).
Sli ka 5.
Uključivanje mogućnosti r učne učne promene veličine entiteta i veza
2. Pravila preslikavanja modela entiteta-veza (ER) u IDEF1X notaciju Cilj EVD EVD je da obezbedi širi pogled na potrebne poslovne informacije za planiranje razvoja poslovnih informacionih sistema. U EVD E VD modelu entitet se predstavlja pravougaonikom koji sadrži naziv entiteta. Nazivi entiteta su uvek u jednini, na primeru baze podataka video kluba – KORISNIK KORISNIK ne KORISNICI, ZEMLJA ne ZEMLJE… Korišćenjem jednine omogućuje se dosledno standardno imenovanje i olakšava “čitanje” dijagrama dijagrama kao skupa deklarativnih izjava o entitetima. Predstavljanje entiteta u IDEF1X prikazano je na slici slici 6.
2.1. Nezavisni (jaki) objekti
Sli ka 6. Preslikavanje
jakog entiteta
Za jednoznačno definisaniani jakih atributa potreban je samo jedan primalrni ključ.
2.2. Zavisni (slabi) objekti Zavisni objekti se ne mogu direktno uneti u model. Ako se radi o egzistencijalnoj zavisnosti, onda ovi entiteti izgledaju isto kao i nezavisni. U slučaju identifikacione zavisnost, što ERwin ERwin prepoznaje na osnovu veza koje koj e zadajemo među entitetima, automatski će se izvršiti zaobljavanje ivica pravougaonika koji predstavlja identifikaciono zavisni entitet. Dvostrukim klikom na zadatu vezu može se izvršiti izbor karidnalnosti veze, slike koje slede prikazuju moguće vrste identifikacione veza.
Sli ka 7. Preslikavanje
slabog entiteta odgovarajuće kardinalnosti (a=0, b=n, c=1)
Sli ka 8. Preslikavanje
slabog entiteta odgovarajuće kardinalnosti (a=1, b=n, c=1)
Sli ka 9. Preslikavanje
Sli ka 10. Preslikavanje
Sli ka 10.
slabog entiteta odgovarajuće kardinalnosti (a=0, b=1, c=1)
slabog entiteta odgovarajuće kardinalnosti (a=0, b=n, c=1)
Preslikavanje slabog entiteta odgovarajuće kardinalnosti (a=0, b=n, c= 2)
Ostali slučajevi izgledaju isto kao kod egzistencijalne zavisnosti, s tom razlikom što je linija veze puna i entitet ObjekatB izgleda kao na prethodnoj slici.
U EVD notaciji isprekidana linija označava odnos zavisnosti. U IDEF1X notaciji, isprekidana linija označava bilo koju neidentifikujuću, tj. egzistencijal nu vezu. Kardinalnosti uslovljavanja i uslovljenosti se prikazuju simbolima simbolima koji se vide na slikama. slikama. Za razliku od ER notacije, notacije, kardinalnost kardinalnost uslovljavanja uslovljavanja se označava na strani zavisnog entiteta, a kardinalnost uslovljenosti na strani nezavisnog entiteta. U slučaju da je kardinalnost uslovljenosti veća od 1, entiteti se povezuju sa tačno onoliko veza kolika je kardinalnost (u primeru je to 2). Da bi se u tom slučaju razlikovali strani ključevi, moraju im se dodel iti posebna imena (desni (desni klik na simbol veze, pa Relationship Relationship Properties... Properties... > Rolename > Rolename.. To se radi za svaku vezu).
2.3. Specijalizacija Za neku klasu objekata (podklasu) kažemo da predstavlja specijalizaciju ako perdstavlja specijalan slučaj neke druge klase klase objekata (nadklase) po bar jednom od sledeća dva kriterijuma
ima specifična klasifikaciona svojstva
ima specifične veze sa drugim klasama objekata
Specijalizacija je preslikavanje instanci nadklase na instance podklase, pa se definišu odgovarajuće kardinalnosti
kardinalnost specijalizacije- (m,n) zapisuje se uz nadklasu koja specijalizuje i koji ima sledeće značenjeznačenje - svaka instanca nadklase specijalizira na po jednu u najmanje m i najviše n podklasa. zavisnosti od m može biti parcijalna(neobave parcijalna(neobavezna) zna) specijalizac specijalizacija ija – – m=0 m=0
totalna (obavezna) specijalizacija – specijalizacija – m>0 m>0
U zavisnosti od n može biti
ekskluzivna (isključujuća) specijalizacija – n=1 – n=1
inkluzivna (uključujuića) specijalizacija - n>1
Specijalizacija je obrnuti postupak od generalizacije. Specijalizacija se na osnovu kardinalnosti deli na parcijalnu/totalnu parcijalnu/totalnu i ekskluzivnu/inkluzivnu ekskluzivnu/inkluzivnu.. IDEF1X notacijom možemo SAMO da prikažemo da li je specijalizacija parcijalna ili totalnu (slika 11).
Sli ka 11. Totalnu
specijalizacija
Sli ka 12. Parcijalna
specijalizacija
2.4. Veze Ako je kardinalnost veze za obe klase objekata (1, 1), ne nastaje posebna šema relacije veze. U ovom slučaju je potrebno ukinutu jednu od klasa objekata, a šemu relacije druge klase objekata dopuniti atributima (i primarnim kl jučem) jučem) ukinute šeme i atributima koji odgovaraju odgovaraju svojstvima klase veze, ako oni postoje. Primarni ključ novonastale klase objekata je bilo koji od primarnih ključeva polaznih klasa objekata (slika 13).
Sli ka 13. Moguća Moguća
veza veza izmedju dva entiteta (1,1)
Ako je kardinalnost veze za jednu klasu objekata (1, 1), a za drugu bilo šta osim (1, 1), ne nastaje posebna šema relacije veze.
Slik a 14. 14. Moguća Moguća
veza veza izmedju dva entiteta (ako je x = 0, y = n)
Ako je kardinalnost veze za obe klase objekata (0, 1), nastaje posebna šema relacije veze.
Moguća Sli ka 15. Moguća
veza veza izmedju dva entiteta
Ako je kardinalnost veze za jednu klasu objekata (0, 1), a za drugu bilo šta osim (0,1) i (1, 1), nastaje posebna šema šema relacije relacije veze. veze.
Moguća Slik a 16. 16. Moguća
veza veza izmedju dva entiteta (ako je x = 0, y = n)
U preostalim slučajevima, takođe, nastaje posebna šema relacije veze.
Moguća Sli ka 17. Moguća
veza veza izmedju dva entiteta (ako je x = 0, y = n, z =0, w = n ;)
U slučaju drugih kardinalnosti, menjaju se simboli na vezama .
3. Unos elemenata modela u dijagram Da bi se elementi IDEF1X notacije, prikazani u prethodnom poglavlju, unosili u dijagram, tj. na radnu površinu, upotrebljava upotrebljava se obeležene obeležene skupina skupina ikona: ikona:
Slik a 18. 18. Osnovni
alati za unos elemenata EV modela
Entitet se unosi tako što se klikne na odgovarajuću ikonu, pa u radnu površinu. Tasterom ENTER započinjemo unos imena novog atributa, a pritiskom na TAB prelazimo iz zone primarnih ključeva u zonu ostalih atributa, u okviru simbola za entitet. Desnim klikom na entitet se otvara meni sa stavkama koje omogućuju različita podešavanja. Npr. Attributes služi za definisanje osobina atributa (tip, …):
Sli ka 19. Meni
za unos atributa nekog entiteta
Simbol specijalizacije se unosi klikom na odgovarajuću ikonu, pa na entitet nadklase i na kraju na jedan proizvoljan entitet podklase. podklase. Da bi se simbol specijalizacije specijalizacije povezao sa preostalim preostalim entitetima entitetima podklasa (najčešće postoje dve ili više podklasa) koristimo simbol za identifikujuću vezu (klik na ikonu veze, pa na simbol specijalizacije, pa na entitet podklase). Dvostrukim klikom na simbol specijalizacije, otvara se Subtype Relationship prozor, u kojem se može podesiti kardinalnost:
Sli ka 20. Meni
za pregled definisanih specijalizacija nekog entiteta
Veza (identifikujuća ili egzistencijalna) se unosi klikom na jednu od 3 ikone veze, pa zatim na entitete koji su u vezi. Voditi računa o tome da je uvek potrebno prvo kliknuti na entitet iz kojeg će migrirati primarni ključ, pa tek onda na zavisni entitet. Simboli koji se nalaze na krajevima veza označavaju njihovu kardinalnost. Položaj oznaka za kardinalnost je kod IDEF1X notacije obrnut u odnosu ne ER notaciju! Dvostrukim klikom na simbol veze otvaramo prozor Relationship, u kojem se može podesiti kardina lnost, referencijalni integritet i ostali parametri veze:
Sli ka 20. Meni
za pregled definisanih veza izmedju entiteta
ERwin nudi mogućnost da se referencijalni integritet zadaje i sa strane roditelja (parent) i sa strane dece (child). U realnosti, podešavanje podešavanje sa strane dece nije od posebnog značaja.
Sli ka 21. Meni
za pregled definisanih veza izmedju entiteta
4. Primer modela Projektuje se baza podataka za potrebe gradskog saobrać saobra ćajnog preduzeć preduzeća. - Za automehanič automehaničare se prati: prezime, ime, adresa, telefon i struč stru čna sprema. - Za vozač vozače se prati: prezime, ime, adresa, telefon, kategorija vozač vozačke dozvole i zdravstveno stanje (opisno). - Za svaki autobus se prati: registarski broj, tip, godina nabavke i da li je aktivan ili ne. - Autobuske linije su šifrirane i za svaku se prati polazna stanica, krajnja stanica i trajanje vožnje. - Evidentiraju se i podaci o rezervnim delovima i to: naziv rezervnog dela, jedinica mere, trenutne zalihe i minimalne minimalne dozvoljene zalihe. - Rezervni deo može, u slučaju sluč aju nedostatka, biti zamenjen nekim drugim rezervnim delom. Za svaki rezervni deo evidentira se kojim sve rezervnim delovima može biti zamenjen, kao i tekstualno naveden uslov zamene. Jedan rezervni deo može biti zamena za više drugih rezervnih delova. - Servisiranje autobusa se vrši u samom preduzeću. Servisne usluge su šifrirane i za svaku od njih se prati: naziv, koliko puta se izvršava u toku godine, kao i količine količ ine svakog od rezervnih delova koji su potrebni potrebni za njeno izvršenje. - Jedna servisna usluga može se izvršavati više puta u toku godine na istom autobusu. - Za svaki autobus se prate sve servisne usluge koje su nad njim izvršene, datum izvršenja, kao i automehaničar automehaničar koji je obavio dato izvršenje. - Pred toga, za svako izvršenje servisne usluge nad datim autobusom, potrebno je pratiti i potrošene količine količine svakog od rezervnih rezervnih delevo potrebnih za izvršenje izvršenje date servisne usluge. usluge. - Za svaki autobus se evidentiraju vozač voza či koji su na njega rasporeneni, kao i datum kada je to rasporenivanje izvršeno. Pamte se samo aktuelna rasporenivanja. - Za svaki autobus se evidentira i linija na kojoj saobra ća i datum i vreme kada je rasporenen na datu liniju. Evidentiraju se samo aktuelna rasporenivanja autobusa. - Za svaku servisnu uslugu evidentirati količ koli čine potrebnih rezervnih delova
Sli ka 22. Primer
Zaposleni (mbr, ime, prz, adr, tel) Automehanič Automehani čar (mbra, ss) Vozač Vozač (mbrv, kat, zdrs) Autobus (sifbus, reg, tip, god, akt,) Rezervni_deo (šifrd (šifrd,, nazivRD, jed, zalihe, min) Servisna_usluga Servisna_usluga (sifu, ( sifu, nazivSU, broj_god) Linija (sifl, polaz, kraj, trajanje) Uradjeno (sifu, sifbus, rbru, datum) Potrebni (sifrd, sifu, potrebnakol) Korišćen Korišćen (sifrd, sifu, sifbus, rbru, potrosenakol) Zamena (siforig, sifzam, uslov) Rasporedjen(sifbus, mbrv ,datrasp, vremerasp) Saobraca(sifbus, sifl, datraspored) Izvrsio (mbra, sifu, sifbus, rbru)
EVD
Slik a 22. 22. Primer
EVD izradjenog u ERWin u ERWin-u -u