Skip to main content

5.1 ERD - oefeningen

Hieronder staan 4 opgaven om te oefenen met het opstellen van een databaseontwerp. Voor KT-1 is het nodig dat je een ERD kunt opstellen. Zonder goed ERD kun je het examen niet halen!

Bronnen

Voor de theorie wordt verwezen naar de volgende bronnen:


Opgave 1

Afdeling personeelsadministratie van een ziekenhuis registreert in een dossier per medewerker welke training hij/zij heeft gevolgd. Tijdens het jaarlijkse functioneringsgesprek wordt deze informatie gebruikt om te bespreken of de kennis van de medewerker op peil is en welke trainingen deze medewerker het komende jaar moet volgen. Welke trainingen verplicht zijn, is afhankelijk van de functie van de medewerker. Er worden verschillende soorten trainingen aangeboden voor verschillende functies. De volgende tabellen worden hiervoor gebruikt:

MEDEWERKER (MedNummer, MedNaam, MedGeboortedatum, FunctieCode, DatumInDienst)

TRAININGSOORT (TrCode, TrainingOmschrijving, Doelgroep, StudieBelastingUren)

TRAINING (TrainingID, TrCode, docent, startdatum, AantalWeken, Aanvang, Eindtijd, Locatie)

DEELNAME (MedNummer, TrainingID, startdatum, resultaat)

FUNCTIE (FunctieCode, FunctieOmschrijving, MaxSalaris, StartSalaris)

  1. Onderstreep de Primary Keys
  2. Zet een sterretje bij de Foreign Keys*
  3. Teken een ERD met tabelnamen (geen velden) en de relaties tussen de tabellen. Toon in de relaties de één en véél kant met kraaienpootjes.

Opgave 2

De secretaris van een voetbalclub wil aan het begin van het seizoen de teamindeling in het clubblad publiceren volgens het voorbeeld hieronder.
Ook wil hij een overzicht publiceren met per team de trainingsavond en -tijden, de trainer en de coach.
Voor de verzending van het clubblad heeft hij adresstickers van alle spelers nodig.
Een speler kan slechts in één team meespelen.

Ontwerp het datamodel. Je kunt gebruik maken van lucidchart voor het opstellen van jouw ERD.

  1. Welke entiteiten (personen, dingen gebeurtenissen) kun je onderscheiden? Benoem alle entiteiten.
  2. Noteer per entiteit (=tabel) de attributen (=velden) die nodig zijn om de informatie zoals hierboven beschreven staat, te kunnen leveren.
  3. Bedenk per tabel wat je als primary key (pk, sleutelveld) kiest en in welke tabellen je een foreign key (FK) opneemt.
  4. Teken het uiteindelijke ERD.

Opgave 3

Een database bestaat uit tabellen die aan een aantal voorwaarden moeten voldoen. Hieronder staan een aantal tabelontwerpen. (Deze tabellen hebben niets met elkaar te maken.)

  1. Wat is er fout aan de volgende tabellen?
  2. Onderstreep in iedere tabel het sleutelveld.
  • LEERLING (voornaam, tussenv, achternaam, leerlingnummer, leeftijd, adres, postcode, woonplaats)
  • BESTELLING(bestelnummer, besteldatum, klantnr, product1, aantal1, product2, aantal2, product3, aantal3)
  • CONTRIBUTIE_BETALING(lidno, achternaam, bankrekening, datum_betaling, bedrag)
  • PRODUCT(productnummer, prijs, voorraad, leveranciersnaam, leverancierstelefoonnummer)

Opgave 4

Bij het bedrijf AIKIA worden meubels verkocht. Een meubel bestaat uit een aantal standaard componenten die artikelen worden genoemd. Als je alle artikelen van een product optelt dan kom je op de prijs van een product.

Zo maakt de afdeling calculatie van AIKIA het volgende periodieke overzicht:

Verder worden offertes gemaakt. Een offerte is gericht aan een klant. Van deze klant worden de Naw-gegevens vastgelegd. Een offerte bestaat uit één of meerdere producten en een klant kan meerdere offertes krijgen. Een offerte heeft een bepaalde geldigheidsduur en op elke offerte kan een kortingspercentage zijn toegekend.

Maak een ERD van de database waarmee je de hierboven beschreven gegevens kan vastleggen.

  1. Bepaal alle entiteiten (voor het examen geldt; beter een entiteit te veel dan te weinig).
  2. Bepaal per entiteit de attributen
  3. Bepaal de primary- en foreign keys van elke entiteit
  4. Bepaal de relaties tussen de entiteiten
  5. maak een diagram in bijvoorbeeld app.lucidchart.com van jouw ERD.