Øving 2: ER-modellering, ER til relasjoner

Transcription

Øving 2: ER-modellering, ER til relasjoner
Øving 2: ER-modellering, ER til relasjoner
Lars Kirkholt Melhus
Oppgave 1
–
Person har løpenummer som id siden personnummer ikke skulle registreres for pårørende.
Tillater overlapp siden ansatte kunne være pårørende (men gir ikke mening at barn er pårørende
eller ansatt).
–
Valgte å la Avdeling være en svak entitet; nøkkel definert av avdelingsnavnet sammen med
navnet på barnehagen.
–
Delte opp Ansatt i overlappende subkategorier, burde ha mulighet til å være vikarierende
førskolelærer for eksempel.
Avdeling har derimot kun et felt som avgjør hvilken type det er (småbarn, adm, etc.) Kunne
også vært delt opp. Eventuelt kunne man klart seg med bare et felt i ansatt som sa hvilken
stilling personen har.
Oppgave 2
a) Avtalebok-ER til relasjonsskjema
Person (epost, kontor);
Gruppe (epost);
MedlemAv (Person.epost, Gruppe.epost); // Bruker samme nøkkel i subklassene
AvtaleEnhet (epost, navn);
Mellom (epost, avtaleid, varselid);
Avtale (avtaleid, start, slutt, rom);
Varsel (varselid, tid); // Igjen; samme nøkkel i subklassene. Kan kjøre naturlig join.
LydVarsel (varselid, lyd);
TekstVarsel (varselid, tekst);
b) Musikk-ER til relasjonsskjema
Artist (artistid, navn); // Må som i oppgave a ha at id-ene kan joines.
Person (artistid);
Gruppe (artistid);
MedlemAv (Person.artistid , Gruppe.artistid); // Mange til mange
Åndsverk (åndsverkid, tittel);
Tekst (åndsverkid);
Melodi (åndsverkid);
PersonÅndsverk (artistid, åndsverkid); // Mange til mange
Utgiver (utgivernavn, utgiveradresse);
Utgivelse (id, navn, år, artistid, utgivernavn, utgiveradresse);
Sang (nr, id, tittel, tekstid, melodiid); // Se kommentar
Gjester (personid, id); // Mange til mange
Det gir lite mening at en sang kan ha flere tekster og melodier. Antar det menes at en tekst/melodi
kan være felles for flere sanger og ikke omvendt.
Hvis ikke blir det masete med å inkludere begge id-feltene fra Sang i Tekst og Melodi. Ville da i så
fall ikke hatt Sang som svak entitet.