20.10. Vežbe - Izrada ER modela
Izrada ER modela – entiteti, atributi, identifikatori i kardinalnost veza
Cilj nije da učenici samo nacrtaju dijagram, već da samostalno odluče šta su entiteti, koje atribute imaju, kako se identifikuju i kakva veza postoji između njih.
Prvi čas – izrada modela
Kratko ponavljanje
Ponavljanje pojmova: entitet, atribut, instanca, jedinstveni identifikator i kardinalnost. Učenici uz svaki pojam navode primer.
Zadatak 1 – školska biblioteka
Potrebno je modelovati bazu koja čuva podatke o knjigama i izdavačima. Za svaki entitet odrediti atribute i jedinstveni identifikator. Zatim odrediti vezu između knjige i izdavača, uz pretpostavku da svaka knjiga ima jednog izdavača, a jedan izdavač može izdati više knjiga.
Očekivana veza: 1:N.

Zadatak 2 – učenici i ormarići
Škola dodeljuje učenicima ormariće. U ovom primeru svaki učenik ima najviše jedan ormarić, a svaki ormarić može biti dodeljen najviše jednom učeniku. Učenik može ostati bez ormarića.
Učenici treba da nacrtaju ER model, odrede atribute i identifikatore i prikažu vezu 1:1, uz odgovarajuću opcionalnost.

Drugi čas – samostalni rad
Zadatak 1 – Auto-servis
Auto-servis vodi evidenciju o svojim klijentima, njihovim automobilima i obavljenim servisima.
Za svakog klijenta čuvaju se šifra klijenta, ime, prezime i broj telefona. Svaki automobil ima svoju registarsku oznaku, marku, model i godinu proizvodnje. Servis evidentira i datum obavljenog servisa, opis radova i ukupnu cenu.
Jedan klijent može posedovati više automobila, ali svaki automobil u ovoj evidenciji pripada samo jednom klijentu. Za jedan automobil tokom vremena može biti obavljeno više servisa, dok se svaki servis odnosi na tačno jedan automobil.
Potrebno je napraviti ER model koji omogućava čuvanje navedenih podataka. Odrediti entitete, njihove atribute, jedinstvene identifikatore i veze između entiteta. Za svaku vezu označiti kardinalnost.
Zadatak 2 – Bioskop
Bioskop želi da vodi evidenciju o filmovima, salama i projekcijama.
Za svaki film čuvaju se šifra filma, naziv, žanr i trajanje u minutima. Za svaku salu čuvaju se broj sale i kapacitet, odnosno broj mesta za gledaoce. Svaka projekcija ima svoju šifru, datum, vreme početka i cenu ulaznice.
Isti film može biti prikazivan više puta, u različitim terminima. Jedna sala može imati više projekcija tokom dana, ali se svaka pojedinačna projekcija održava u samo jednoj sali i prikazuje jedan film.
Napraviti ER model koji prikazuje filmove, sale i projekcije. Odrediti atribute, jedinstvene identifikatore i kardinalnosti veza. Voditi računa o tome da film i projekcija nisu isti pojam: film predstavlja delo, dok projekcija predstavlja konkretno prikazivanje filma u određenom terminu.
Zadatak 3 – Veterinarska ambulanta
Veterinarska ambulanta želi da vodi evidenciju o vlasnicima kućnih ljubimaca, životinjama i pregledima.
Za svakog vlasnika čuvaju se šifra vlasnika, ime, prezime i broj telefona. Za svaku životinju čuvaju se evidencioni broj, ime, vrsta životinje, rasa i godina rođenja. Za svaki pregled evidentiraju se broj pregleda, datum, opis simptoma i dijagnoza.
Jedan vlasnik može imati više životinja, ali se svaka životinja u evidenciji povezuje sa jednim vlasnikom. Jedna životinja može imati više pregleda tokom vremena, dok se svaki pregled odnosi na jednu konkretnu životinju.
Ambulanta želi da može da pronađe sve životinje jednog vlasnika, kao i sve preglede određene životinje.
Napraviti ER model na osnovu opisa. Odrediti entitete, atribute, jedinstvene identifikatore i kardinalnosti veza. Posebno voditi računa o tome da se podaci o pregledu ne čuvaju kao atributi životinje, jer jedna životinja može imati više pregleda.
Zadatak 4 – Muzička škola
Muzička škola vodi evidenciju o učenicima, nastavnicima i časovima instrumenata.
Za svakog učenika čuvaju se broj dosijea, ime, prezime i datum rođenja. Za svakog nastavnika čuvaju se šifra nastavnika, ime, prezime i stručni instrument, odnosno instrument za koji je nastavnik osposobljen da predaje. Škola raspolaže i spiskom instrumenata, pri čemu se za svaki instrument čuvaju šifra instrumenta i naziv.
Učenik može pohađati nastavu iz više instrumenata, a isti instrument može pohađati više učenika. Za svaki instrument može biti zadužen jedan nastavnik, dok jedan nastavnik može predavati više instrumenata.
Potrebno je napraviti ER model koji prikazuje učenike, nastavnike i instrumente. Odrediti atribute, identifikatore i kardinalnosti veza. Ako je potrebno, razmotriti kako se model može proširiti da bi se za svakog učenika i svaki instrument evidentirali datum početka nastave i trenutni nivo znanja.
Dodatni zadatak: Objasniti zašto odnos učenika i instrumenata nije veza 1:N, već M:N, i predložiti kako bi se u modelu predstavili podaci o pohađanju nastave.
Zadatak 5 – Turistička agencija
Turistička agencija organizuje putovanja i vodi evidenciju o putnicima, destinacijama i aranžmanima.
Za svakog putnika čuvaju se šifra putnika, ime, prezime i broj telefona. Za svaku destinaciju čuvaju se šifra destinacije, naziv mesta i država. Svaki turistički aranžman ima svoju šifru, naziv, datum polaska, datum povratka i cenu.
Jedna destinacija može biti ponuđena kroz više različitih aranžmana, ali svaki aranžman u ovom primeru ima jednu glavnu destinaciju. Putnik može da rezerviše više aranžmana tokom godine, a na jednom aranžmanu može učestvovati više putnika.
Agencija želi da evidentira i datum rezervacije i broj osoba za koje je putnik izvršio rezervaciju. Ti podaci odnose se na konkretnu rezervaciju putnika za određeni aranžman, a ne samo na putnika ili aranžman pojedinačno.
Napraviti ER model koji obuhvata sve potrebne podatke. Odrediti entitete, atribute, identifikatore i kardinalnosti. Obratiti pažnju na vezu između putnika i aranžmana, kao i na podatke koji pripadaju samoj rezervaciji.
Dodatni zadatak: Objasniti zašto datum rezervacije ne treba da bude atribut putnika niti atribut aranžmana.