This page was saved using WebZIP 7.1.2.1052 offline browser (Unregistered) on 09/07/08 0:47:50.
Address: http://www.instruct-online.nl/docent_pagina.php?p=6339
Title: Instruct-online.nl - Electronische Leeromgeving Instruct  •  Size: 8475

M8 - Schematechnieken en databases       2 - Gegevensanalyse met ERM    Ontwerpproblemen

 

Hoofdstuk 2.1 Hoofdstuk 2.2 Hoofdstuk 2.3 Hoofdstuk 2.4 Hoofdstuk 2.5 Hoofdstuk 2.6 Hoofdstuk 3.1 Hoofdstuk 3.2 Hoofdstuk 3.3 Hoofdstuk 3.4 Hoofdstuk 3.5



Ontwerpproblemen © Instruct

  Bij het ontwerpen van een database kom je voor nogal wat keuzes te staan.

Voorbeeld: Studentenadministratie
Laten we bij wijze van voorbeeld eens kijken naar het verband tussen Petra Hoving en klas 2C. Enerzijds kan 2C wel en anderzijds kan het niet worden beschouwd als een eigenschap van Petra Hoving. Maar 2C heeft zelf ook eigenschappen waarvan het nodig kan zijn dat ze in een database worden vastgelegd. Het kan bijvoorbeeld gaan om:

  • het aantal leerlingen
  • de mentor
  • de klassenvertegenwoordiger

Klas 2C is nu een object geworden met meer eigenschappen dan alleen 2C. Als we vast willen leggen dat Petra Hoving in klas 2C zit, moet dat een relatie worden: een relatie tussen de student Petra Hoving en Klas 2C.

Ook hier geldt: het hangt van de ‘omgeving’ af wat er in een database moet worden opgenomen. Uiteindelijk neemt de ontwerper van de database de beslissing wat er precies moet worden vastgelegd.

Voorbeeld: Boek met de titel ‘Stationsarchitectuur’
Laten we nu eens kijken naar het voorbeeld van een boekhandel. Een boekhandel verkoopt het boek Stationsarchitectuur. Van dit boek zijn vijf exemplaren in voorraad. Een attribuuttype bij het entiteittype Boek zal daarom zijn: ‘Aantal_in_voorraad’. Het attribuut ‘Aantal_in_voorraad’ bevat op een bepaald moment de waarde 5. De boekhandelaar is niet geïnteresseerd in de eigenschappen van elk boek afzonderlijk, want die vijf boeken zijn allemaal hetzelfde.

Titel ISBN Auteur Aantal_in_
voorraad
Stationsarchitectuur 978 57300 09 5 Douma, C. 5
Koken met wijn 978 56411 27 3 Jager, Annette 1
Speeltuinen in Overijssel 978 55687 55 1 Kampen, Ria van 2
Natuurgeweld 978 57812 23 2 Jones, R.T. 4
Winterlandschappen van Hendrick Avercamp 978 55126 66 4 Beckers, Karel 2

Stel dat een bibliotheek ook beschikt over vijf boeken met de titel Stationsarchitectuur. Deze boeken worden door de bibliotheek uitgeleend, en weer terug ontvangen. Bij een bibliotheek is het belangrijk dat bekend is wie een bepaald boek heeft geleend. Daarom zal elk van die vijf boeken een eigen identificatie moeten hebben. De bibliotheek is dus wel geïnteresseerd in elk boek afzonderlijk, want die vijf boeken verschillen van elkaar.

Door elk boek afzonderlijk in de database op te nemen kan men het koppelen aan degene die het geleend heeft. Voor de bibliotheek blijkt ‘boek’ dus twee betekenissen te hebben.

  • De ene betekenis is algemeen: het boek heeft een titel, een of meer auteurs, een ISBN, een aantal pagina’s, is een paperback of een gebonden boek, enzovoort.
  • De andere betekenis is die van ‘boekexemplaar’.
Attribuuttypen
Het entiteittype Boekexemplaar zal andere attribuuttypen kennen dan het entiteittype Boek. Attribuuttypen in het entiteittype Boekexemplaar kunnen zijn:
  • een volgnummer binnen het ISBN
  • een aanduiding van degene die het boek in bruikleen heeft
  • een aanduiding van degene die het boek het laatst teruggebracht heeft
  • de datum van uitlenen en eventueel de uiterste datum waarop het boek teruggebracht moet worden

Titel ISBN Auteur Boek- exemplaar
Stationsarchitectuur 978 57300 09 5 Douma, C. 1
Stationsarchitectuur 978 57300 09 5 Douma, C. 2
Stationsarchitectuur 978 57300 09 5 Douma, C. 3
Stationsarchitectuur 978 57300 09 5 Douma, C. 4
Stationsarchitectuur 978 57300 09 5 Douma, C. 5
Winterlandschappen van Hendrick Avercamp 978 55126 66 4 Beckers, Karel 1
Winterlandschappen van Hendrick Avercamp 978 55126 66 4 Beckers, Karel 2
Winterlandschappen van Hendrick Avercamp 978 55126 66 4 Beckers, Karel 3

Als alle hierboven genoemde gegevens worden opgenomen in entiteiten van één entiteittype, dan worden gegevens als ‘Stationsarchitectuur’ en ‘Douma, C.’ vijf maal opgeslagen in de database. In een zogeheten relationele database wordt ernaar gestreefd om gegevens niet vaker dan één maal op te slaan.

In het geval van de bibliotheek moeten we spreken van twee entiteittypen, namelijk Boek en Boekexemplaar. Tussen de entiteittypen Boek en Boekexemplaar komt dan ook een relatietype. Je ziet dat in de volgende figuur.