DATABASES Hoofdstuk 2 - 3 - 7
Het ontwerpen van databases Algemene inleiding Welke gegevens moet je opslaan?? Alle gegevens in één tabel?? voorbeeld database Problemen, welke problemen?? Problemen oplossen, normalisatie Tot slot: een opdracht!
Algemene inleiding 1 Gegevens vastleggen: in een kaartenbak veel werk om te beheren onhandig in gebruik grote kans op fouten in een database minder werk om te beheren handig en snel in gebruik kans op fouten veel kleiner
Algemene inleiding 2 Software: voor PC (netwerken) Access Solid voor mainframes b.v. Oracle SAP
Welke gegevens moet je opslaan? Eerst moet je je een aantal zaken realiseren Welke gegevens wel en welke niet? Kan ik de informatie die ik nodig heb aan? Hoe kun je er voor zorgen dat de database betrouwbaar blijft? Kan ik mijn database nog veranderen, b.v. uitbreiden.
Alle gegevens in één tabel?? In bovenstaande tabel zijn een paar dingen niet in orde: Als Jan verhuist moet je overal correct de wijziging doorvoeren, dus grote kans op fouten en vergissingen INCONSISTENTIE Stel dat de Zwolsche verhuist dan moet je voor alle klanten daar de wijzingen doorvoeren. Ook hier veel kans op fouten. Je moet steeds teveel invoeren REDUNDANTIE
Oplossing:opsplitsen van de tabel Er moeten 2 tabellen gemaakt worden: één met informatie over de klant en een polisnr één met informatie over de verzekeringsmij Beide tabellen kun je koppelen door velden naar elkaar te laten verwijzen.
Twee tabellen KLANT MAATSCHAPPIJ MIJ_NR Maatschap adres Wplaats ContactP ZW345 Zwolsche Straat 3 Oss Anja NN102 Nat. Ned Laan 36 Delft Sjors
Koppelen van deze tabellen geeft: Klantnr Mij_NR 19975 ZW345 19975 NN102 26536 ZW345
De opdracht: De school wil van elke leerling van havo 4 weten welke profiel die leerling heeft, welke vakken daarbij horen en wie deze vakken aan deze leerling geeft.
Oplossing: Je moet nu dus niet Access opstarten en alle gegevens maar domweg invoeren. Eerst dien je na te gaan welke gegevens je nodig hebt en hoe je die gegevens in één of meerder tabellen kunt zetten. Je dient ervoor te zorgen dat de database consistent is en dat er geen redundantie kan plaatsvinden
Werkwijze: Je moet nu met de stencils aan de slag en stap voor stap de oplossing gaan zoeken voor dit probleem