Ø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.