
Primary en foreign keys - Opdrachten
1. Vakken en aanmeldingen
Voor een school moeten we een datamodel opzetten.
- De school heeft een aanbod van vakken (courses).
- Voor ieder vak kunnen studenten zich inschrijven (subscriptions).
Het eerste ontwerp van het datamodel ziet er als volgt uit:

Bedenk hierbij het volgende: * Welke kolommen zijn primary key(s)? * Welke kolommen zijn foreign key(s)?

2. Tabel met studenten
Het eerste ontwerp van het datamodel was niet optimaal.
De gegevens van een student die zich voor meerdere courses inschrijft, staan meermeels in tabel subscriptions.
Het is daarom handig om:
- Een extra tabel
studentstoe te voegen. - Aanpassingen te doen aan tabel
subscriptions.
Hiervoor is het volgende nieuwe ontwerp gemaakt:

Bedenk hierbij het volgende: * Welke kolommen zijn primary key(s)? * Welke kolommen zijn foreign key(s)?

3. (Extra) Uitbreiding van het model
Vakken (courses) kunnen meerdere keren gegeven worden.
Dit kan in het huidige datamodel niet verwerkt worden.
Er is een aanpassing nodig om dit mogelijk te maken.
Je moet de volgende data kunnen verwerken:
- Een vak gaat over één onderwerp.
- Een onderwerp heeft een naam en een omschrijving.
- Een vak kan meerdere keren worden gegeven.
- Van iedere keer dat een vak wordt gegeven is een start- en einddatum bekend.
Maak hiervoor een nieuw datamodel waarbij je let op: * Zo laag mogelijk benodigde opslagcapaciteit. * Een overzichtelijk geheel. * Primary- en foreign keys.

