IN2090-ukesoppgaver: Uke 4
ER-modellering og realisering
Modellering
Løs oppgavene under ved å modellere ER-diagrammer i henhold til de kravene som er oppgitt. Husk at det finnes flere typer attributter! Bruk Dia (se semestersiden), apps.diagrams.net
, eller tegn for hånd.
Oppgave 1 - Filmer
Vi vil lage oss en liten filmdatabase. Alle filmene har navn, men ettersom flere filmer kan ha samme navn, gir vi også unike ID-er til filmene. For hver film ønsker vi å lagre en eller flere sjangre. Til slutt ønsker vi også info om hvilken skuespiller (eller skuespillere?) som spilte hovedrollen og hvilken regissør (regissører?) som regisserte filmen. For disse kan vi anta at alle har unike navn. Prøv å unngå overflødige entiteter og/eller attributter.
Oppgave 2 - Sertifikater
Vi skal modellere at personer har sertifikat og hvilke kjøretøy man har sertifikat for. En person kan ha sertifikat for flere kjøretøy, og hvert sertifikat er gyldig fra en startdato til en sluttdato.
Modeller en ternær relasjon mellom Person, Sertifikat og Kjøretøy. Sett passende attributter til hver entitet, og husk at alle entiteter skal ha en primærnøkkel (som kan bestå av ett eller flere attributter). Modellen skal utrykke følgende: Gitt en person og et sertifikat kan det være flere kjøretøy; gitt en person og et kjøretøy kan det kun være ett sertifikat; og gitt et sertifikat og et kjøretøy kan det være mange personer. Videre må hvert sertifikat være tatt av minst en person på et kjøretøy.
Realisering
Følg stegene i kapittel 9.1 (side 320-326) for å lage en relasjonell modell/et relasjons databaseskjema fra ER-diagrammene/modellen som er oppgitt.
Oppgave 3 - Varer og ingredienser
Forrige uke lagde du en modell for et offentlig organ som skal holde styr på varer og hvem som må kontaktes ved funn av farlige ingredienser i en vare. Det er nå på tide å lage et relasjonsskjema som realiserer denne modellen. Altså, realiser følgende modell:
![](firma.png)
Oppgave 4 - Lån
Modeller først en ternær relasjon for å uttrykke at en person kan låne en bok fra et bibliotek i ER. Et lån har en startdato og en sluttdato. Sett passende attributter til hver entitet, og husk at alle entiteter skal ha en primærnøkkel (som kan bestå av ett eller flere attributter). Modellen skal i tillegg inneholde følgende informasjon: En person kan låne mange bøker fra ett bibliotek; en person kan låne en bok fra mange bibliotek; og et bibliotek kan låne en bok til mange personer. Realiser deretter denne modellen.
Oppgave 5 - Ekstraoppgave
Realiser modellene du laget i oppgave 1 og 2 over.