BP I - V4 - Proširenje ER modela (dodatak) - 2026/2027
Tekst dokumenta389 redova
- ProgramiranjeI_sylabus.doc
- Fakultet informacijskih tehnologija
- elda@edu.fit.ba
- 1
- Baze podataka 1::Vježbe
- https://www.fit.ba/student
- Proširenje ER-modela
- Slabi tip entiteta:
- Slabi tip entiteta u ER modelu predstavlja poseban tip entiteta, gdje njegova sama definicija naročito ovisi
- o sljedeća dva pojma: identifikaciona ovisnost i egzistencijalna ovisnost.
- Identifikaciona ovisnost:
- Slabi tip entiteta je identifikaciono ovisan o nadređnenom tipu entiteta ako nema dovoljan broj atributa
- na osnovu čijih vrijednosti se može identificirati svaka od pojava slabog tipa entiteta, odnosno, slabom
- tipu entiteta se ne može odrediti primarni ključ. U tom slučaju pojave slabog tipa entiteta se identificiraju
- na osnovu vrijednosti primarnog ključa instance nadređenog tipa entiteta sa kojim je u vezi. Dakle,
- identifikacija pojava idetifikaciono ovisnog slabog tipa entiteta ovisi o nadređenom tipu entiteta, po čemu
- je i dobio naziv. Kako bi se tačno mogao identifikovati slabi tip entiteta uvodi se pojam tzv. atribut
- diskriminator. Na ER dijagramu atribut diskriminator se označava isprekidanom linijom ispod naziva
- samog atributa.
- Slika 1
- Objašnjenje:
- Na slici 1 prikazana su dva tipa entiteta: roditelj i dijete. Roditelj predstavlja nadređeni tip entiteta, tipu
- entiteta dijete. Dijete je identifikaciono ovisan slabi tip entiteta o nadređenom tipu entiteta roditelj, što
- govori to da u ovom slučaju entitet dijete, samo po sebi, bez entiteta roditelj se ne može identifikovati.
- Za identifikaciju tipa entiteta dijete koristi se primarni ključ tipa entiteta roditelj (JMBG) te atribut
- diskriminator ime i prezime tipa entiteta dijete. Takvom vrstom kombinacije dobit će se željeno dijete
- tačno određenog roditelja.
- Egzistencijalna ovisnost:
- Pojave slabog tipa entiteta egzistencijalno ovisni o nadređenom tipu entiteta ne mogu da egzistiraju ako
- nisu povezane sa nekom od pojava nadređenog tipa entiteta. To znači da slabi tip entiteta ne može
- postojati ukoliko ne postoji njemu pridružen tip entiteta od kojeg taj slabi tip entiteta egzistencijalno
- zavisi. Odnosno, da bi instanca slabog tipa entiteta bila pohranjena u bazi podataka neophodno je da
- bude povezan sa nadređenim tipom entiteta i ako je samo to uslov onda se radi o egzistencijalnoj
- zavisnosti. Na slici 2 prikazana je egzistencijalna ovisnost.
- ProgramiranjeI_sylabus.doc
- Fakultet informacijskih tehnologija
- elda@edu.fit.ba
- 2
- Baze podataka 1::Vježbe
- https://www.fit.ba/student
- Slika 2
- Objašnjenje:
- Slika 2 prikazuje da tip entiteta zdravstveni centar može biti povezan sa više članova tipa entiteta
- ambulanta a da isti član tip entiteta ambulanta pripada samo jednom članu tipa entiteta zdravstveni
- centar (od kojeg zavisi). U slučaju ukidanja tipa entiteta zdravstveni centar, svaki njemu pridruženi tip
- entiteta ambulanta će također biti ukinut što govori da je postojanost tipa entiteta ambulanta zavisna o
- postojanosti tipa entiteta zdravstveni centar. U ovom slučaju se govori o egzistencijalnoj zavisnosti
- obzirom da tip entiteta ambulanta ima vlastiti identifikator. Također, može se zaključiti da je tip entiteta
- zdravstveni centar, kao nadređeni tip entiteta apsolutno neovisan.
- Rekurzivni tip veze:
- Rekurzivna veza je veza u kojoj učestvuje samo jedan tip entiteta. Ona predstavlja unarnu vezu, ili
- jednostavnije rečeno vezu tipa entiteta prema istom tom tipu entitetu. Do upotrebe ovakve vrste veze
- dolazi kada postoje različite pojave jednog istog tipa entiteta koje u toj vezi imaju različite uloge.
- Rukovodi ->
- Služi ->
- Slika 3
- Na slici 3 prikazan jedan tip entiteta radnik. Međutim, u ovoj vezi tip entiteta radnik ima dvije različite
- uloge: rukovodic i obični radnik. Ukoliko se ovaj primjer čita u smjeru kazaljke na satu tada se može
- zaključiti sljedeće: „Jedan radnik (u ovom slučaju radnik sa ulogom rukovodioca) ne mora rukovoditi niti
- jednom radniku, ali svakako može rukovoditi i sa više njih“. Ukoliko se pak ovaj primjer pročita u smjeru
- suprotom od kazaljke na satu onda se dobije sljedeće: „Jedan radnik (u ovom slučaju radnik sa ulogom
- ProgramiranjeI_sylabus.doc
- Fakultet informacijskih tehnologija
- elda@edu.fit.ba
- 3
- Baze podataka 1::Vježbe
- https://www.fit.ba/student
- običnog radnika) može imati jednog i samo jednog rukovodioca“.
- IS_A veza:
- Predstavlja hijerarhijski tip veze koji oslikava više vrsta jednog tipa entiteta. Podređeni entiteti mogu imati
- svoje specifične karakteristike ali nemaju svoje jedinstvene identifikatore. Kada se govori o IS_A vezi ne
- govori se o kardinalitetima nego o preslikavanju. Ono što je specifično za is_a vezu jeste činjenica da
- podređeni tip entiteta (podklasa) nasljeđuju sve karakteristike nadređenog tipa entiteta (superklase), ali
- može imati i svoje vlastite karakteristike (atribute) i karakteristične veze. Na slici 4 je prikazana IS_A
- hijerarhija na primjeru teniskog terena.
- Objašnjenje:
- U ovom primjeru entitet „teren“ ima dva podtipa: otvoreni i zatvoreni teren. Oznaka (1,1) predstavlja
- preslikavanje tipa entiteta teniski teren u njegove podklase. U ovom slučaju to označava da teniski teren
- može biti ili otvoreni ili zatvoreni odnosno da mora biti jedan o njih. Otvoreni teniski teren (uzimajući u
- obzir činjenicu da je podređeni tip entitet tipu entiteta „teren“) će naslijediti jedinstveni identifikator
- nadređenog tipa entiteta (terenID) zajedno sa njegovim ostalim atributima, zbog čega ih nije potrebno
- posebno navoditi prilikom izrade dijagrama, te će pored njih imati i vlastiti specifični atribut- podloga. Ista
- stvar važi i za zatvoreni teren koji će kao svoju specifičnu karakteristiku imati atribut publika.
- Kategorizacija:
- Kategorija predstavlja posebnu vrstu veze za koju je karakteristično to da se jedan tip entiteta povezuje sa
- više kategorija (najmanje dvije). Ono što je bitno naglasiti u ovom tipu veze koji ga čini različitim od IS_A
- hijerarhijske veze jeste to da ne postoji identifikaciona zavisnost tipa entiteta od kategorija ili obratno i da
- tip entiteta selektivno nasljeđuje od više različitih superklasa, dok u is-a hijerahiji sve podklase nasljeđuju
- od samo jedne podklase. Na slici 5 prikazana je kategorija na primjeru apliciranja na projekte.
- Slika 4
- ProgramiranjeI_sylabus.doc
- Fakultet informacijskih tehnologija
- elda@edu.fit.ba
- 4
- Baze podataka 1::Vježbe
- https://www.fit.ba/student
- Objašnjenje:
- U ovom primjeru prikazani su odnosi između tipova entiteta: aplikant, fizičko, pravno lice i projekat.
- Aplikant može biti ili pravno ili fizičko lice. Entiteti pravno i fizičko lice mogu u bilo kojem trenutku aplicirati
- za projekat i tada oni postaju aplikanti. I fizičko i pravno lice imaju svoj jedinstveni identifikator kao i
- entitet aplikant zbog čega su oni apsolutno neovisni, što čini glavnu razliku između kategorizacije i
- nasljeđivanja
- putem
- hijerahijske
- is_a
- veze.
- Slika 5
- ProgramiranjeI_sylabus.doc
- Fakultet informacijskih tehnologija
- elda@edu.fit.ba
- 5
- Baze podataka 1::Vježbe
- https://www.fit.ba/student
- Zadatak:
- 1. Na osnovu sljedećeg opisa modelirati sistem upravljanja projektima (nacrtati prijedlog ER
- dijagrama):
- Organizacija vodi evidenciju o projektima koje trenutno radi. Svaki projekat ima identifikacijski broj, naziv,
- datum početka i trajanje. Na svakom projektu radi najmanje jedan, a može raditi i više radnika. Svaki
- radnik u određenom momentu može raditi na jednom ili više projekata. Atributi radnika su JMBG, ime,
- prezime, telefon i adresa stanovanja. Za projektanta se dodatno čuva podatak o iskustvu, za projektne
- menadžere informacija o stečenim certifikatima, dok se za dizajnere čuva podatak o preferiranim alatima.
- Za ostale radnike nema dodatnih podataka. Organizacija vodi evidenciju i o resursima koje radnici koriste
- za izvedbu projekta. U evidenciji će stajati koji radnik, za koji projekat je zadužio određeni resurs. Za svaki
- resurs će se pohranjivati njegov jedinstveni identifikator, naziv i opis. Jedan resurs može koristiti samo
- jedan radnik, za samo jedan projekat, a svaki radnik za svaki projekat ne mora, ali može koristiti i više
- različitih resursa. Uposleni imaju najviše jednog šefa, koji je također uposlenik organizacije. Organizacija
- vodi evidenciju i o članovima porodice trenutno uposlenih (žena, djeca, roditelji...), koji su zdravstveno
- osigurani na osnovu tog uposlenika. Kada uposlenik više ne radi za organizaciju, automatski se brišu i svi
- podaci o članovima njihove porodice. O članovima porodice pohranjuju se podaci: ime i prezime, datum
- rođenja i mjesto stanovanja.
- Prijedlog rješenja:
- Slika 6
- ProgramiranjeI_sylabus.doc
- Fakultet informacijskih tehnologija
- elda@edu.fit.ba
- 6
- Baze podataka 1::Vježbe
- https://www.fit.ba/student
- 2. Predstaviti grafički sljedeći model objekti-veze (ER model) prema opisu:
- U jednoj proizvodnoj firmi vodi se evidencija o uposlenicima. Podaci o uposlenicima potrebni za
- poslovanje su: sifra_uposlenika, ime i prezime, datum rođenja i datum zaposlenja. Uposlenici su
- osposobljeni za rad na određenim mašinama čije osobine su: sifra_masine i naziv. Jedan uposlenik može
- biti osposobljen za rad na više mašina, a ne mora ni za jednu. Za rukovanje jednom mašinom osposobljen
- je najmanje jedan uposlenik, a obično više njih. Svaka mašina se može koristiti za proizvodnju više
- proizvoda i za proizvodnju jednog proizvoda se može koristiti jedna ili više mašina.
- Svakodnevno se kreiraju radni nalozi za proizvodnju određenih proizvoda. Svaki radni nalog se odnosi na
- proizvodnju jednog proizvoda uz rad osposobljenog uposlenika na određenoj mašini i u određenoj količini.
- Da bi se proizveo proizvod na mašini za koju je osposobljen radnik potreban je isključivo jedan nalog.
- Podaci o proizvodima su: sifra_proizvoda i naziv. Svaki radni nalog ima jedinstveni broj i vodi se evidencija
- o datumu kreiranju radnog naloga.
- Prijedlog rješenja:
- Slika 7
- ProgramiranjeI_sylabus.doc
- Fakultet informacijskih tehnologija
- elda@edu.fit.ba
- 7
- Baze podataka 1::Vježbe
- https://www.fit.ba/student
- 3. Predstaviti grafički sljedeći model objekti-veze (ER model) prema opisu:
- U igraonici, koja se odlikuje svojim registarskim brojem, nazivom, adresom, vlasnikom i telefonom, rade
- radnici, sa sljedećim osobinama: JMBG, ime, prezime i datum zaposlenja. Igraonica se nalazi u određenom
- mjestu koje se karakteriše brojem ptt i nazivom. Radnik živi u nekom mjestu, a to mjesto pripada općini
- koja se karakteriše šifrom i nazivom.
- Igraonica sadrži računare, koji se odlikuju svojim serijskim brojem i mrežnim imenom. Računar se sastoji
- od komponenata, od kojih svaka ima svoj serijski broj i ime proizvođača. Računari na sebi imaju instalirane
- igre, dok su te igre instalirane obično na više računara. Igra se karakteriše nazivom i vrstom. Igrači su
- okarakterisani imenom, prezimenom i bodovima. Igrač može igrati igre na računarima u različitom
- vremenskom periodu.
- Igraonica nudi različite vrste usluga poput zakupa vremena za igranje, te kupovine hrane i pića. Različite
- igraonice mogu nuditi različite usluge, ali ne moraju. Igrači u igraonici koriste uslugu pri čemu se čuva
- podatak o datumu i vremenu. Usluga ima osobine: identifikacijski broj, osnovna cijena, vrsta i bodovi, dok
- će stvarna cijena usluge varirati od igrača do igrača. Igrač može koristiti različite usluge, dok istu uslugu
- može da koristi jedan te isti igrač više puta. Bodove stečene kupovinom hrane i pića igrač može koristiti za
- produžetak vremena igranja. Usluga je naplaćena od strane jednog radnika igraonice.
- Prijedlog rješenja:
- Slika 8
- ProgramiranjeI_sylabus.doc
- Fakultet informacijskih tehnologija
- elda@edu.fit.ba
- 8
- Baze podataka 1::Vježbe
- https://www.fit.ba/student
- 4. Na osnovu sljedećeg opisa modelirati sistem upravljanja poslovanja za primjer ambulanta
- (nacrtati prijedlog ER dijagrama):
- Zdravstvena ambulanta pripada zdravstvenom centru koji je u bazi podataka opisan identifikacionim
- brojem, nazivom i mjestom. Za ambulantu se evidentiraju: naziv, identifikacioni broj, ulica i broj, naziv
- mjesta i telefon. Zatvaranjem zdravstvenog centra, sve pripadajuće ambulante prestaju sa radom. U
- ambulantu dolaze pacijenti, kojima se prvo otvaraju kartoni.
- U karton se upisuju: ime i prezime pacijenta, JMBG, spol, datum rođenja, broj kartona i datum otvaranja
- kartona. Za zaposlene pacijente se mora znati još naziv radne organizacije i zanimanje, za studente naziv
- fakulteta, a za penzionere broj penzionog osiguranja. Za ostale pacijente nema dodatnih podataka (npr.
- nezaposleni) koji moraju biti osigurani kao i svi pacijenti, pa se evidentira i to da li je zdravstvena knjižica
- ovjerena.
- Pacijenti odlaze na pregled kod jednog od više ljekara ambulante. Ljekar može biti izabrani ali i ne mora,
- međutim za svakog pacijenta se čuva podatak o izabranom ljekaru. Za sve ljekare se čuva: šifra ljekara,
- ime, prezime i specijalnost. Neki ljekari nemaju specijalnost, dok neki mogu imati i više završenih
- specijalizacija. Za svaku specijalizaciju je potrebno čuvati identifikacijski broj i naziv.
- U toku pregleda ljekar evidentira anamnezu pacijenta, datum pregleda i utvrđeno kliničko stanje, te jednu
- ili više dijagnoza, za koje mora izabrati šifru i naziv bolesti iz važećeg šifarnika dijagnoza. Zatim, ukoliko je
- neophodno, ljekar na pregledu prepisuje terapiju pacijentu (šifru lijeka i naziv), na osnovu postavljenje
- dijagnoze, te evidentira i dozu i način primjene određene terapije, a za pojedine ljekove je važno
- napomenuti sa kojim drugim ljekovima (ili lijekom) se ne smiju primjenjivati. Na kraju, ljekar daje savjet
- pacijentu i zakazuje eventualni datum ponovnog (kontrolnog) pregleda.
- Pojedini pacijenti kao rezultat pregleda se mogu uputiti drugim zdravstvenim ustanovama, na
- specijalističke preglede, radi dodatnih nalaza ili mišljenja drugih ljekara. Tada se evidentira naziv
- institucije, datum pregleda, uputna dijagnoza, potrebna vrsta nalaza, a po dobijanju rezultata i mišljenje
- drugog specijaliste.
- ProgramiranjeI_sylabus.doc
- Fakultet informacijskih tehnologija
- elda@edu.fit.ba
- 9
- Baze podataka 1::Vježbe
- https://www.fit.ba/student
- Prijedlog rješenja:
- Slika 9
- ProgramiranjeI_sylabus.doc
- Fakultet informacijskih tehnologija
- elda@edu.fit.ba
- 10
- Baze podataka 1::Vježbe
- https://www.fit.ba/student
- 5. Predstaviti grafički sljedeći model objekti-veze (ER model) prema opisu:
- Potrebno je osmisliti i realizirati bazu podataka koja može efikasno poslužiti za potrebe teniskog
- kluba. U fazi analize, utvrđeno je da teniski klub raspolaže s određenim brojem teniskih terena
- (što otvorenih, što zatvorenih). Svaki teren označen je šifrom terena i nazivom. Otvoreni tereni
- mogu imati različite podloge, dok svi zatvoreni tereni imaju istu podlogu i taj podatak nije
- potrebno čuvati. Zatvoreni tereni mogu imati prostor za publiku, a ne moraju. U bazi podataka
- potrebno je voditi evidenciju o broju mjesta za publiku zatvorenih terena. Klub vodi evidenciju
- članova (ime, prezime) I uplatu članarina. Za svakog člana se zna da li je podmirio godišnju
- članarinu. Članarine su opisane identifikacijskim brojem, vrijednosti i tipom. Oni koji nisu platili
- članarinu nemaju pravo rezervacije terena, dok oni koji su platili članarinu imaju pravo rezervirati
- teren više puta mjesečno, gdje za svaku rezervaciju se bilježi i datum.
- Prijedlog rješenja:
- Slika 10