MRS MRSLab08 Metodologija Razvoja Softvera Vežba 08

Similar documents
MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09

Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

MRS. MRSLab03 Metodologija Razvoja Softvera Vežba 03 LAB Dijagram aktivnosti

Podešavanje za eduroam ios

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

Uvod u relacione baze podataka

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

Otpremanje video snimka na YouTube

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

Modeli podataka. Model podataka - osnovne komponente

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

SAS On Demand. Video: Upute za registraciju:

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

Klasterizacija. NIKOLA MILIKIĆ URL:

Struktura indeksa: B-stablo. ls/swd/btree/btree.html

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

Port Community System

1. MODEL (Ulaz / Zadržavanje / Stanje)

Slika broj 1. Primer dijagrama sekvenci

Struktura i organizacija baza podataka

PROJEKTNI PRORAČUN 1

- Vežba 1 (dodatan materijal) - Kreiranje Web šablona (template) pomoću softvera Adobe Photoshop CS

TEHNIKA I INFORMATIKA U OBRAZOVANJU

BENCHMARKING HOSTELA

Priprema podataka. NIKOLA MILIKIĆ URL:

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

MODEL OBJEKTI - VEZE KONCEPTI MODELA METODOLOGIJA MODELIRANJA

Sybase PowerDesigner 12

Bušilice nove generacije. ImpactDrill

Nejednakosti s faktorijelima

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se moći:

Projektovanje softvera. Dijagrami slučajeva korišćenja

Dr.Miroljub Banković, prof. Kragujevac, 2008.

Mindomo online aplikacija za izradu umnih mapa

Tutorijal za Štefice za upload slika na forum.

Tema 2: Uvod u sisteme za podršku odlučivanju (VEŽBE)

Upute za korištenje makronaredbi gml2dwg i gml2dgn

KAKO GA TVORIMO? Tvorimo ga tako, da glagol postavimo v preteklik (past simple): 1. GLAGOL BITI - WAS / WERE TRDILNA OBLIKA:

1. Instalacija programske podrške

Primer-1 Nacrtati deo lanca.

za STB GO4TV in alliance with GSS media

pripremila: prof. dr Sonja Pravilović

Beograd, Srbija, Vojvode Bogdana 34 Secamcctv Corporation DOO. program za evidenciju radnog vremena I prisustva na radu 2011g

UPUTSTVO. za ruter TP-LINK TD-854W/ TD-W8951NB

PROŠIRENI MODEL OBJEKTI-VEZE

3D GRAFIKA I ANIMACIJA

PANEVROPSKI UNIVERZITET APEIRON FAKULTET ZA POSLOVNU INFORMATIKU BANJA LUKA. Specijalističke studije TEMA: WEB DNEVNIK

2. Kreiranje nove baze podataka

IMPLEMENTACIJA PODLOGE ZA SARADNJU KROKI ALATA SA ALATIMA ZA UML MODELOVANJE OPŠTE NAMENE

STABLA ODLUČIVANJA. Jelena Jovanovic. Web:

1. Lekcija Pojam entiteta, podatka i informacije

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

msc Velimir Milanovic Unošenje prvih zapisa Kreiranje elektronskih obrazaca - formi Prva forma - Čitaoci U P I T I

CRNA GORA

INFORMATIKA II AutoCAD 9. deo. Rudarsko-geološki fakultet Rudarski odsek

Advertising on the Web

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

TRENING I RAZVOJ VEŽBE 4 JELENA ANĐELKOVIĆ LABROVIĆ

EKSPLORATIVNA ANALIZA PODATAKA IZ SUSTAVA ZA ISPORUKU OGLASA

STRUČNA PRAKSA B-PRO TEMA 13

1.7 Predstavljanje negativnih brojeva u binarnom sistemu

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU

Windows Easy Transfer

Direktan link ka kursu:

INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY

POSTUPAK IZRADE DIPLOMSKOG RADA NA OSNOVNIM AKADEMSKIM STUDIJAMA FAKULTETA ZA MENADŽMENT U ZAJEČARU

Pregled metodologija:

Pravljenje Screenshota. 1. Korak

LabVIEW-ZADACI. 1. Napisati program u LabVIEW-u koji računa zbir dva broja.

mdita Editor - Korisničko uputstvo -

TEHNO SISTEM d.o.o. PRODUCT CATALOGUE KATALOG PROIZVODA TOPLOSKUPLJAJUĆI KABLOVSKI PRIBOR HEAT-SHRINKABLE CABLE ACCESSORIES

DEFINISANJE TURISTIČKE TRAŽNJE

Uputstvo za pravljenje i korišdenje biblioteka sa dinamičkim povezivanjem (.dll)

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020.

STRUKTURNO KABLIRANJE

Trening: Obzor financijsko izvještavanje i osnovne ugovorne obveze

Sadržaj. Baze podataka

MS.CS Petar Popić, software engineer. Copyright Petar Popic Software Engineering

Bear management in Croatia

Da bi se napravio izvještaj u Accessu potrebno je na izborniku Create odabrati karticu naredbi Reports.

JEDINSTVENI PORTAL POREZNE UPRAVE. Priručnik za instalaciju Google Chrome dodatka. (Opera preglednik)

Office 365, upute za korištenje elektroničke pošte

Projektovanje softvera. Uvod

3.2. Prikazati podatke o svim proizvodima, koji se proizvode u Zrenjaninu.

Croatian Automobile Club: Contribution to road safety in the Republic of Croatia

Desna strana menija sadrži spisak nedavno otvaranih dokumenata.

FAKULTET ZA POSLOVNU INFORMATIKU

SQL standard podrzava sledece vrste ogranicenja: Ogranicenja domena Ogranicenja tabela i kolona Opsta ogranicenja

INFORMACIONI SISTEMI ZA PODRŠKU MENADŽMENTU

Mašinsko učenje Uvod. Bojan Furlan УНИВЕРЗИТЕТ У БЕОГРАДУ ЕЛЕКТРОТЕХНИЧКИ ФАКУЛТЕТ

Programiranje za internet zimski semestar 2013/2014. Java kroz primjere (skripta je u fazi izradi)

TRANSAKCIJA I ACID OSOBINE

WWF. Jahorina

Uvod u web okruženje SQL

INFORMACIONI SISTEMI ZA PODRŠKU MENADŽMENTU

PowerPoint deo Umetanje oblika (shapes)

Aplikacija za podršku transferu tehnologija

Transcription:

MRS MRSLab08 Metodologija Razvoja Softvera Vežba 08 LAB 08 Konceptualni model podataka Logički model podataka 1. Konceptualni model podataka Modeli podataka omogućavaju modelovanje semantičke i logičke strukture sistema. Najčešće modelovanje započinje konceptualnim modelom podataka - CDM kako bi se pomoću njega analizirao sistem. Nakon ovoga se kreiraju fizički modeli podataka - PDM kako bi se razradili detalji implementacije. Konceptualni model podataka - CDM prikazuje strukturu baze podataka, koja je nezavisna od softvera ili strukture skladištenja. On opisuje entitete (elementi koji su od važnosti za sistem), njihove identifikatore i atribute, zajedno sa relacijama i nasleđivanjima koji ih povezuju. Person ID Address Email Name Phone number Person PK Person Variable characters (15) Inheritance_1 Salary Qualification Teacher PK Teacher Variable characters (20) teachs Student_Teacher has teachs has assists at Age Parent name Student Variable characters (20) studies Teacher_Lesson Student_Subject is taught by Lesson Lesson ID Lesson PK Student_Lesson is followed by is an instance of Subject_Lesson Teacher_Subject is instantiated by is taught by Subject ID Coeficient Hour is studied by Subject Subject PK Slika broj 1. Primer konceptualnog modela podataka 1

U izloženom konceptualnom dijagramu, entiteti Teacher i Student nasleđuju atribute iz roditeljskog entiteta Person. Dva entiteta potomka su povezana sa jedan-ka-više relacijom (učitelj ima više učenika, ali svaki učenik ima samo jednog učitelja). Učitelj može predavati više predmeta, a jedan predmet može predavati više učitelja (više-ka-više relacija). Učitelj može predavati više lekcija, a lekciju priča samo jedan učitelj (jedan-ka-više). Učenik sluša više lekcija, a lekciju sluša više učenika (više-ka-više). Učenik pohađa više predmeta, a predmet sluša više učenika (više-ka-više). 1.1. Kreiranje konceptualnog modela podataka Da bi kreirali novi konceptualni model podataka iz menija u PowerDesigner-u biramo File New Model da bi se prikazao prozor New Model kao na sledećoj slici. Slika broj 2. Kreiranje konceptualnog modela podataka U listi tipova modela na levoj strani prozora biramo "Conceptual Data Model". U polju "Model name:" upisujemo ime novog modela koji kreiramo. Potvrđujemo podešavanje klikom na taster "OK". 1.2. Objekti u konceptualnom modelu podataka U konceptualnom modelu podataka se kreiraju sledeći objekti: Objekat Alat Simbol Opis Domen N/A N/A Skup vrednosti za koje je podatak validan Podatak N/A N/A Elementarni deo informacije. 2

Entitet Osoba, mesto, stvar ili koncept koji je od interesa za sistem Atribut entiteta N/A N/A Elementarni deo informacije povezan sa entitetom Identifikator N/A N/A Jedan ili više atributa entiteta, čije vrednosti jedinstveno identifikuju svako pojavljivanje entiteta Relacija Imenovana konekcija ili relacija između entiteta (ER metodologija modelovanja) Nasleđivanje Asocijacija Relacija koja definiše jedan entitet kao specijalni slučaj drugog opštijeg entiteta. Imenovana konekcija ili relacija između entiteta (Merise metodologija modelovanja) Link asocijacije Link koji povezuje asocijaciju sa entitetom Slika broj 3. Objekti u konceptualnom modelu podataka 1.2.1. Domen Domen pomaže da se identifikuju tipovi informacija u modelu. Oni definišu skup vrednosti za koji se atributi kolona/entiteta validni. Primena domena na atribute kolona/entiteta čini lakšim standardizaciju karakteristika za atribute u različitim kolonama/entitetima. Slika broj 4. Standardni tipovi podataka 3

1.2.2. Podatak Podatak je elementarni deo informacije koji predstavlja činjenicu ili definiciju u informacionom sistemu, i koja na kraju može ali i ne mora postojati kao objekat u modelu. Podatak možemo povezati sa entitetom kako bi kreirali atribut entiteta. Npr. u informacionom sistemu kompanije koja se bavi izdavaštvom, prezime autora i klijenata predstavlja važan podatak. Podatak LAST NAME se kreira kako bi predstavljao ovu informaciju. On je povezan sa etitetima AUTOR i KLIJENT i postaje atribut datih entiteta. 1.2.3. Entitet Entitet predstavlja objekat o kom želimo da posedujemo informacije. Npr u modelu određene korporacije, kreirani entiteti mogu uključivati zaposlene i sektore. Kada generišemo PDM (fizički model podataka) iz CDM (konceptualni model podataka) ili LDM (logički model podataka) dijagrama, entiteti se pretvaraju u tabele. Simbol za entitet je sledeći: ID Name Education PK Integer Slika broj 5. Primer entiteta Osobine entiteta se mogu menjati iz njegove stranice sa osobinama. Da bi otvorili ovu stranicu potrebno je da dvokliknemo na simbol za entitet. Nakon toga se otvara stranica sa osobinama koja ima više kartica. Kartica General sadrži sledeće osobine: Name - navodi ime entiteta, koje treba da bude jasno i da pokriva njegovo značenje Code - navodi tehničko ime entiteta koje se koristi za generisanje koda ili skripti Comment - opisni komentar entiteta Stereotype - proširuje značenje entiteta - navodi procenu broja pojavljivanja u fizičkoj bazi za dati entitet (broj slogova) Generate - navodi da će entitet kreirati tabelu u PDM Parent Entity - navodi entitet roditelja. Dostupne su i kartice Attributes i Identifiers koje navode atribute povezane sa entitetom. 1.2.4. Atribut entiteta U konceptualnom modelu podataka atributi predstavljaju podatke koji su pridruženi entitetima. Kada se generiše fizički model podataka iz konceptualnog ili logičkog modela, atributi entiteta se generišu kao kolone tabele. 4

Osobine atributa se mogu menjati iz njegove stranice sa osobinama. Stranica sa osobinama atributa se može otvoriti tako što dvokliknemo na simbol atributa koji se nalazi u folderu sa atributima unutar entiteta u stablu Browser-a. Nakon ovoga se otvara stranica sa osobinama koja ima više kartica. Kartica General sadrži sledeće osobine: Name - navodi ime atributa, koje treba da bude jasno i da pokriva njegovo značenje Code - navodi tehničko ime atributa koje se koristi za generisanje koda ili skripti Comment - opisni komentar atributa Stereotype - proširuje značenje atributa Entity/Association/Inheritance - navodi objekat koji predstavlja roditelja. Data Item - navodi povezani podatak Data type - navodi tip podatka za atribut (alfanumerički, logički,...). Ukoliko se klikne na upitnik pored ovog polja otvara se lista svih tipova podataka Length - navodi maksimalnu dužinu tipa podataka Precision - navodi maksimalni broj mesta iza decimalne tačke Domain - navodi ime pridruženog domena. Ukoliko pridružimo atribut domenu, domen obezbeđuje tip podatka atributu, kao i dužinu, preciznost i parametre provere Primary Identifier - ukazuje da li je atribut primarni identifikator za entitet Displayed - da li da se atribut prikaže u simbolu entiteta Mandatory - navodi da li je neophodno dodeliti vrednost atributu Pored ove kartice, dostupne su i kartice: Standard Checks - sadrži provere koje kontrolišu vrednosti atributa Additional Checks - omogućava da se navedu dodatne provere ograničenja vezanih za atribut Rules - lista poslovnih pravila povezanih sa atributom 1.2.5. Identifikator Identifikator predstavljaju jedan ili više atributa čije vrednosti jedinstveno identifikuju svako pojavljivanje entiteta. Svaki entitet mora imati najmanje jedan identifikator. Ako entitet ima samo jedan identifikator, on je kreiran kao primarni identifikator. Kada se kreira PDM iz CDM ili LDM, identifikatori se prevode u primarne ili alternativne ključeve. 1.2.6. Relacija Relacija predstavlja vezu između entiteta. Npr. u modelu koji upravlja ljudskim resursima, relacija "pripada" povezuje entitete "zaposleni" i "tim", i ukazuje da svaki zaposleni radi u timu i da svaki tim ima zaposlene. 5

number name PK number function Salary PK Slika broj 6. Relacija pripada Kada se kreira PDM iz CDM ili LDM, relacije se prevode u reference. Relacije se koriste u ER (Entity Relationship), Barker i IDEF1X metodologijama modelovanja. U Merise metodologiji se koriste asocijacije kako bi se povezali entiteti. PowerDesigner omogućava da se koriste ili relacije ili asocijacije ili kombinacija ove dve metodologije u istom modelu. Osobine relacije se mogu menjati iz njene stranice sa osobinama. Da bi otvorili stranicu sa osobinama potrebno je da se dvoklikne levim tasterom miša na simbol relacije. Nakon ovoga se otvara stranica sa osobinama koja ima više kartica. Kartica General ima sledeće osobine: Name - navodi ime relacije, koje treba da bude jasno i da pokriva njeno značenje Code - navodi tehničko ime relacije koje se koristi za generisanje koda ili skripti Comment - opis relacije Stereotype - proširuje značenje relacije Entity 1, Entity 2 - navodi dva entiteta koje povezuje relacija Generate - određuje da li relacija treba da bude prevedena u referencu kada se bude generisao PDM Kartica Cardinalities ima sledeće osobine: Cardinality - navodi broj instanci (nijedna, jedna, ili više) entiteta koji je u relaciji sa drugim entitetom. Može se izabrati jedna od sledećih opcija: o One - One (simbol <1..1>) - jedna instanca entiteta A odgovara samo jednoj instanci entiteta B o One - Many (simbol <1..n>) - jedna instanca entiteta A odgovara ka više od jednoj instanci entiteta B o Many - One (simbol <n..1>) - više od jedne instance entiteta A odgovara istoj instanci entiteta B o Many - Many (simbol <n..n>) - više od jedne instance entiteta A odgovara više od jednoj instanci entiteta B Dominant role - u jedan-na-jedan relaciji moguće je definisati jedan smer relacije kao dominantni. Ukoliko se definiše dominantni smer, jedan-na-jedan relacija generiše jednu referencu u PDM. Dominantni entitet postaje tabela roditelj. Ukoliko se ne definiše dominantni smer, jedan-na-jedan relacija će generisati dve reference. Sledeća slika prikazuje jedan-na-jedan relaciju. 6

Author ID Last Name First Name Author PK Author is shown by (D) shows Picture ID Picture Identifier_1 Picture Variable characters (100) Slika broj 7. Relacija jedan na (prema) jedan Role name - teks koji opisuje relaciju entiteta A ka entitetu B Dependent - u zavisnoj relaciji, jedan entitet je delimično identifikovan pomoću drugog. Svaki entitet mora posedovati identifikator. U nekim slučajevima, međutim, atributi entiteta nisu dovoljni da jednoznačno identifikuju pojavljivanje entiteta. Za ove entitete identifikatori ugrađuju identifikator drugog entiteta sa kojim imaju relaciju zavisnosti. Npr. entitet "Task" (zadatak) ima dva atributa "Task name" i "Task cost". Određeni zadatak se može izvršiti u dosta različitih projekata a njegova cena će biti različita u svakom projektu. Da bi identifikovali svako pojavljivanje cene zadatka, identifikator za entitet "Task" se sastoji od atributa "Task name" u entitetu "Task" i od "Project number" identifikatora iz entiteta "Project". Task name Task cost Task PK Task Variable characters (100) Relationship_2 0..n 1..1 Project number Project name Start date End date Project PK Project Variable characters (100) Slika broj 8. Relacija zavisnosti (Dependent) Krug na vrhu trougla ukazuje da postojanje entiteta "Project" ne zahteva postojanje entiteta "Task". Međutim postojanje entiteta "Task" zahteva postojanje entiteta "Project" od kog zavisi. Mandatory - ukazuje da je relacija između entiteta obavezna. Opcija se podešava sa tačke gledišta oba entiteta u relaciji Cardinality - navodi maksimalni i minimalni broj instanci entiteta A u relaciji sa entitetom B. Može se birati jedna od sledećih opcija: o 0..1 - nula ili jedna instanca o 0..n - nula ili više instanci o 1..1 - tačno jedna instanca o 1..n - jedna ili više instanci Kreiranje refleksivnih relacija Refleksivna relacija je relacija između entiteta i istog tog entiteta. 7

Manager supervises number First Name Last Name Function Salary PK Slika broj 9. Refleksivna relacija U prethodnom primeru refleksivna relacija "Supervise" naglašava da jedan zaposleni (Menadžer) može da nadgleda druge zaposlene. 1.2.6.1. Primeri relacija Relacija jedan-ka-više: number name PK number function Salary PK svako odeljenje može imati nula ili više zaposlenih svaki zaposleni može pripadati nijednom ili jednom odeljenju number name PK number function Salary PK svako odeljenje mora imati jednog ili više zaposlenih svaki zaposleni može pripadati nijednom ili jednom odeljenju number name PK number function Salary PK svako odeljenje može imati nula ili više zaposlenih svaki zaposleni mora pripadati tačno jednom odeljenju 8

number name PK number function Salary PK svako odeljenje mora imati jednog ili više zaposlenih svaki zaposleni mora pripadati tačno jednom odeljenju number name PK number function Salary PK svako odeljenje može imati nula ili više zaposlenih svaki zaposleni mora pripadati tačno jednom odeljenju svaki zaposleni je jednoznačno određen brojem odeljenja i brojem radnika number name PK number function Salary PK svako odeljenje mora imati jednog ili više zaposlenih svaki zaposleni mora pripadati tačno jednom odeljenju svaki zaposleni je jednoznačno određen brojem odeljenja i brojem radnika Relacija jedan-ka-jedan Team number Speciality Team PK Team Variable characters (100) Relationship_2 Project number Project name Start date End date Project PK Project Variable characters (100) svaki tim radi na nijednom ili jednom projektu svaki projekat razvija nijedan ili jedan tim 9

Team number Speciality Team PK Team Variable characters (100) Relationship_2 Project number Project name Start date End date Project PK Project Variable characters (100) svaki tim radi na tačno jednom projektu svaki projekat razvija nijedan ili jedan tim Team number Speciality Team PK Team Variable characters (100) Relationship_2 Project number Project name Start date End date Project PK Project Variable characters (100) svaki tim radi na nijednom ili jednom prijektu svaki projekat razvija tačno jedan tim Relacija više-ka-više number name PK number function Salary PK svako odeljenje može imati nula ili više zaposlenih svaki zaposleni može pripadati u nula ili više odeljenja number name PK number function Salary PK svako odeljenje mora imati jednog ili više zaposlenih svaki zaposleni može pripadati u nula ili više odeljenja number name PK number function Salary PK svako odeljenje može imati nula ili više zaposlenih svaki zaposleni mora pripadati jednom ili više odeljenja 10

number name PK number function Salary PK svako odeljenje mora imati jednog ili više zaposlenih svaki zaposleni mora pripadati jednom ili više odeljenja 1.2.7. Nasleđivanje Nasleđivanje omogućava da se definiše entitet koji predstavlja specijalni slučaj opštijeg entiteta. Opšti entitet (roditelj) sadrži sve zajedničke karakteristike, a entitet dete sadrži samo određene specifične karakteristike. Name Account PK Account Inheritance_1 Rate Savings Checking Fees Slika broj 10. Primer nasleđivanja Simbol nasleđivanja prikazuje status nasleđivanja: E/R i Merise metodologija Standardno nasleđivanje Opis Međusobno isključivo nasleđivanje Kompletno nasleđivanje Međusobno isključivo kompletno nasleđivanje Slika broj 11. Simboli nasleđivanja 11

Osobine nasleđivanja možemo menjati iz njene stranice sa osobinama. Da bi otvorili stranicu sa osobinama potrebno je da dvokliknemo levim tasterom miša na simbol za nasleđivanje. Nakon toga se otvara stranica sa osobinama koja ima više kartica. Kartica General sadrži sledeće osobine: Name - navodi ime nasleđivanja, koje treba da bude jasno i da pokriva njegovo značenje Code - navodi tehničko ime nasleđivanja koje se koristi za generisanje koda ili skripti Comment - opisni komentar nasleđivanja Stereotype - proširuje značenje nasleđivanja Parent - navodi ime entiteta roditelja Mutually exclusive children - navodi da samo jedno dete može postojati za jedan entitet roditelja. Npr. račun je ili štedni ili tekuća, a ne može biti oba. Complete - navodi da sve instance entiteta roditelja moraju pripadati jednom od entiteta dece. Npr. entitet osoba ima dva pod-tipa "Muškarac" i "Žena". Svaka instanca je ili muškarac ili žena. Kartica Generation definiše fizičku implementaciju nasleđivanja tako što navodi koji entiteti u strukturi nasleđivanja treba da butu generisani kao tabele u PDM. Ova kartica sadrži sledeće osobine: Generation mode - navodi koji će delovi nasleđivanja biti generisani. Može se izabrati jedan ili oba od dve ponuđene opcije: o Generate parent - generiše tabelu koja odgovara entitetu roditelju o Generate children - generiše tabelu koja odgovara svakom entitetu koji predstavlja potomka. Primarni ključ svakog potomka je kombinacija identifikatora entiteta potomka i identifikatora entiteta roditelja. Specifying attributes - u slučaju da je odabrano da se generiše samo entitet roditelja, mogu se odabrati atributi koji imaju različito pojavljivanje u svakom entitetu potomku, a koji će služiti da se razlikuju entiteti potomci. 1.2.8. Asocijacije i linkovi asocijacija U Merise metodologiji asocijacija se koristi da poveže više entiteta pri čemu svaki predstavlja jasno definisan objekat, pri čemu su oni povezani pomoću događaja, koji nisu toliko jasno predstavljeni pomoću drugih entiteta. Svaka instanca asocijacije odgovara instanci entiteta povezanog sa asocijacijom. Kada se generiše PDM iz CDM, asocijacije se generišu kao tabele ili reference kao što je to prikazano na slici broj 12. U prethodnom primeru, tri entiteta "Video K7", "Client" i "Store" sadrže video kasete, informacije o klijentu i informacije o prodavnici. Oni su povezani pomoću asocijacije koja predstavlja iznajmljivanje video kaseta ("K7 Rented"). Asocijacija "K7 Rented" sadrži i atribute "" i "Staff ID" koji predstavljaju vreme iznajmljivanja i identifikator osobe koja je dala kasetu na iznajmljivanje. 12

Video K7 K7 ID K7 PK Client Client ID Client PK Store Store ID Store PK 0,n 0,n Staff ID... K7 Rented 0,n Slika broj 11. Primer asocijacije Ako bi se iz datog modela kreirao PDM, asocijacija "K7 Rented" bi se pretvorila u tabelu sa pet kolona: "Client ID", "K7 ID", "Store ID", "" i "Staff ID", kao što je prikazano na sledećoj slici. Video K7 K7 ID numeric <pk> Client Client ID numeric <pk> Store Store ID numeric <pk> Client ID Store ID K7 ID Staff ID K7 Rented numeric numeric numeric date numeric <pk,fk1> <pk,fk2> <pk,fk3> Slika broj 12. PDM model U CDM dijagramima moguće je koristiti samo asocijacije ili asocijacije u kombinaciji sa relacijama. Asocijacija je povezana sa entitetom preko linka asocijacije, koji prikazuje ulogu i kardinalitete između asocijacije i entiteta. Osobine asocijacije možemo menjati iz njene stranice sa osobinama. Da bi otvorili stranica sa osobinama potrebno je da dvokliknemo levim tasterom miša na simbol za asocijaciju. Nakon toga se otvara stranica sa osobinama koja ima više kartica. Kartica General sadrži sledeće osobine: Name - navodi ime asocijacije, koje treba da bude jasno i da pokriva njeno značenje Code - navodi tehničko ime asocijacije koje se koristi za generisanje koda ili skripti Comment - opis asocijacije 13

Stereotype - proširuje značenje asocijacije - navodi procenjeni broj pojavljivanja asocijacije u fizičkoj bazi podataka (broj slogova) Generate - navodi da će asocijacija kreirati tabelu u PDM Osobine linka asocijacije možemo menjati iz njegove stranice sa osobinama. Da bi otvorili stranica sa osobinama potrebno je da dvokliknemo levim tasterom miša na simbol za link asocijacije. Nakon toga se otvara stranica sa osobinama koja ima više kartica. Kartica General sadrži sledeće osobine: Entity - navodi entitet koji je povezan pomoću datog linka asocijacije Association - navodi asocijaciju koja je povezana pomoću datog linka instance Role - navodi ulogu linka instance Identifier - ukazuje da je entitet zavistan od drugog entiteta Cardinality - navodi broj pojavljivanja jednog entiteta u odnosu na drugi. Kardinalitet se definiše za svaki link asocijacije između asocijacije i entiteta. Moguće vrednosti su: o 0,1 - može postojati nula ili jedno pojavljivanje asocijacije u odnosu na instancu entiteta. Ova asocijacija nije obavezujuća. o 0,n - može postojati nula ili više pojavljivanja asocijacije u odnosu na instancu entiteta. Ova asocijacije nije obavezujuća. o 1,1 - jedno pojavljivanje entiteta može biti povezano sa samo jednim pojavljivanjem asocijacije. Ova asocijacija je obavezujuća. o 1,n - jedno pojavljivanje entiteta može biti povezano sa jednim ili više pojavljivanja asocijacije. Ova asocijacija je obavezujuća. Stereotype - proširuje značenje linka asocijacije bez menjanja njegove strukture Refleksivna asocijacija Refleksivna asocijacija je relacija između entiteta i istog tog entiteta. Managed by Manager 0,1 number function Salary PK 2 0,n Manages Slika broj 13. Refleksivna asocijacija U prethodnom primeru refleksivna asocijacija "Manager" naglašava da jedan zaposleni (Menadžer) može da nadgleda druge zaposlene. 14

2. Logički model podataka Logički model podataka (LDM) omogućava da se provere relacije predstavljene pomoću konceptualnog modela podataka (CDM). Objekti su slični onima u CDM, ali primarni identifikatori migriraju pomoću jedan-ka-više relacija i postaju strani identifikatori. Relacije više-ka-više, koje nisu dozvoljene u LDM su zamenjene među-entitetima. Dijagram prikazan kod konceptualnog modela podataka bi konvertovanjem u logički model podataka izgledao kao što je prikazano na sledećoj slici: Person ID Address Email Name Phone number Person PK Person Variable characters (15) Inheritance_1 Student Person ID Salary Address Email Name Phone number Qualification Teacher PK Teacher Variable characters (15) Variable characters (20) has Teacher_Subject Student_Teacher has Per_Person ID Address Email Name Phone number Person ID Salary Age Parent name Person PK <fi> <fi> Variable characters (15) Variable characters (20) teachs Teacher_Lesson is taught by Person ID Salary Subject ID Teacher_Subject <pi,fi2> <pi,fi2> <pi,fi1> Identifier_1 Per_Person ID Lesson ID Identifier_1 Student_Lesson <pi,fi2> <pi,fi1> Student_Lesson Per_Person ID Subject ID Identifier_1 Teacher_Subject Student_Subject Student_Subject <pi,fi1> <pi,fi2> Student_Subject Lesson ID Person ID Salary Subject ID Lesson PK Lesson <fi1> <fi1> <fi2> Student_Lesson is an instance of Subject_Lesson is instantiated by Subject ID Coeficient Hour Subject Subject PK Slika broj 14. Primer logičkog modela podatka Primarni identifikatori su migrirali preko jedan-ka-više relacija i postali strani ključevi, a više-ka-više relacije su zamenjene među-entitetima povezanim sa jedan-ka-više relacijama sa entitetima koji se nalaze na krajevima prethodne relacije. 15

Za vežbu na času / Domaći zadatak Kreirati konceptualni model podataka za biblioteku koji prikazuje sledeće entitete: učenika knjigu evidencija o iznajmljenim knjigama autore knjiga kategorije po kojima su knjige razvrstane Entiteti imaju sledeće atribute: učenik o id učenika o ime učenika o adresa o broj telefona o e-mail adresa knjiga o isbn o naslov o datum objavljivanja evidencija o iznajmljenim knjigama o id iznajmljivanja knjige o datum iznajmljivanja o datum vraćanja autor o id autora o ime autora o zemlja autora kategorija o id kategorije o ime kategorije Relacije koje se pojavljuju u sistemu su sledeće: učenik može biti upisan u evidenciju za nula ili više knjiga upis u evidenciji je vezan za tačno jednog učenika knjiga se u evidenciji može naći nula ili više puta upis u evidenciji je vezan za tačno jednu knjigu knjigu može pisati jedan ili više autora autor je napisao jednu ili više knjiga knjiga pripada jednoj ili više kategorija kategorija sadrži nula ili više knjiga 16