Digitalisering for økonomer > Andre oppgaver > 6.5 Musikkskole

En lokal musikkskole holder kurs for medlemmene i bruk av ulike instrumenter og på ulike ferdighetsnivåer. Skolen skal utvikle en enkel database for å kunne ha oversikt over kursvirksomheten. Nødvendige opplysninger om hvert kurs er kurskode, navn og beskrivelse. Påkrevd infomasjon om medlemmene er fullt navn, fødselsdato, telefonnummer og adresse. Musikkskolen har flere instruktører til kursene. Om instruktørene trengs samme informasjon som om medlemmene, og dessuten bankkontonummer og skattekommune.

Et kurs kan gjennomføres mange ganger. Hver gjennomføring identifiseres med en ID-kode og er i tillegg forsynt med en oppstartsdato og en avslutningsdato. Alle deltagerne på et kurs må være medlemmer. Mange tar flere kurs, men ikke alle medlemmer går på kurs. Nye instruktører skal kunne registreres i databasen før de har holdt kurs. Hvert kurs har én og bare én ansvarlig instruktør.

a) Utarbeid et ER-diagram på grunnlag av opplysningene ovenfor. Presisér eventuelle forutsetninger du tar.

b) Identifiser nødvendige tabeller og sett opp normaliserte tabelldefinisjoner med utgangspunkt i informasjonsbehovet og ER-diagrammet.

 

a)

Vi kan identifisere fire entitetstyper som vist i ER-diagrammet til høyre. Alle koblingene i diagrammet er i samsvar med oppgaveteksten.

N:M-koblingen mellom Medlem og KursGjennomføring innebærer at en koblingstabell må opprettes:


Tabellen Kursdeltager gir informasjon om hvilke medlemmer som går på hvilke kurs. (Oppgaven krever ikke at dette utvidete ER-digrammet utarbeides.)

b)

Tabelldefinisjoner:

ER-diagrammene i a) og informasjonsbehovet i angitt i oppgaveteksten gir opphave til følgende fem tabeller:

Medlem(MedlemNr, Fornavn, Etternavn, Fødselsdato, TelefonNr, Adresse)
Instruktør(InstruktørId, Fornavn, ENavn, FødtDato, TlfNr, Adresse, KtoNr, SkatteKommune)
Kurs(Kurskode, Kursnavn, Beskrivelse)
KursGjennomføring(*GjennomføringsID, Startdato, Sluttdato, *Kurskode, *InstruktørId)
Kursdeltager(*MedlemNr, *GjennomføringsID)