PBi_Een goed databaseontwerp

Een goed ontworpen database geeft gebruikers toegang tot essentiële informatie.
Door bepaalde principes te volgen, kan je een goed werkende database ontwerpen. We bespreken hier hoe je het fundament van jouw database kunt uittekenen en hoe je dat eerste ontwerp vervolgens kunt verfijnen voor optimale resultaten.

Basisprincipes

  • Het eerste principe is dat dubbele gegevens (ook wel redundante gegevens genoemd) niet mogen voorkomen. Hierdoor wordt immers ruimte verspild en neemt de kans op fouten en inconsistenties toe.

    Een goed databaseontwerp is daarom een ontwerp dat uw gegevens opsplitst in tabellen op basis van onderwerp om zo redundante gegevens te voorkomen.
  • Het tweede principe is dat de gegevens correct en volledig moeten zijn.

    Als uw database onjuiste gegevens bevat, bevatten rapporten die informatie uit die database halen, ook onjuiste gegevens. Daardoor zijn beslissingen die u neemt op basis van die rapporten op onjuiste gegevens gebaseerd.
  • Geen dubbele gegevens (redundante gegevens).
  • Splits op in tabellen op basis van onderwerp.
  • Gegevens moeten correct en volledig zijn. Foute gegevens = foute analyse = foute beslissingen.
  • De gegevens die het programma nodig heeft om de informatie in de tabellen op de gewenste manier samen te voegen moet geleverd worden.
  • Voldoen aan uw wensen op het gebied van gegevensverwerking en -rapportage.

Een efficiënte, nuttige database ontwerpen is een kwestie van het volgen van het juiste proces.

  1. Behoefteanalyse of het doel van uw database bepalen
    Dit helpt u bij de voorbereiding van de overige stappen.
  2. De vereiste gegevens zoeken en organiseren    
    Verzamel alle soorten informatie die u mogelijk wilt vastleggen in de database, zoals productnaam en ordernummer.
  3. De gegevens opsplitsen in tabellen 
    Splits de gegevensitems op in hoofdentiteiten of onderwerpen, zoals Producten of Orders.
    Elk onderwerp, elke entiteit wordt dan een tabel.
  4. Gegevensitems omzetten in kolommen    
    Bepaal welke gegevens u in elke tabel wilt opslaan. Elk item wordt een veld en wordt weergegeven als kolom in de tabel. Een tabel met werknemers kan bijvoorbeeld velden zoals Achternaam en Datum in dienst bevatten.
  5. Primaire sleutels opgeven    
    Kies voor elke tabel een primaire sleutel. De primaire sleutel is een kolom die wordt gebruikt om elke rij op unieke wijze te identificeren. Een voorbeeld hiervan is Product-id of Ordernummer.
  6. Tabelrelaties instellen    
    Bekijk elke tabel en bepaal de relatie tussen de gegevens in de ene tabel en de gegevens in andere tabellen. Voeg zo nodig velden toe aan tabellen of maak nieuwe tabellen om de relaties duidelijker vast te leggen.
  7. Het ontwerp bijschaven    
    Analyseer uw ontwerp op fouten. Maak de tabellen en voeg enkele records met voorbeeldgegevens toe. Kijk of de tabellen het gewenste resultaat opleveren. Pas het ontwerp zo nodig aan.
  8. De normalisatieregels toepassen    
    Pas de normalisatieregels voor gegevens toe om te kijken of de structuur van uw tabellen correct is. Pas de tabellen zo nodig aan.

BEHOEFTEANALYSE: het doel van de database bepalen

Met inzicht in het doel van de database maak je tijdens het ontwerpproces meer doordachte keuzes.

Zorg ervoor dat u de database vanuit elke invalshoek bekijkt.

Stel, u maakt een database voor een openbare bibliotheek. U moet dan rekening houden met de manieren waarop zowel leners als bibliotheekmedewerkers toegang tot de gegevens kunnen krijgen.

Hier zijn een aantal manieren om informatie te verzamelen, voordat er een database wordt gemaakt:

  • Overleg met de mensen die hem gaan gebruiken
  • Analyseren van bedrijfsformulieren (zoals facturen, urenstaten en enquêtes)
  • Pluis alle bestaande datasystemen (zowel fysieke als digitale bestanden) uit

Begin met het verzamelen van bestaande gegevens die in de database zullen worden opgenomen.

Maak daarna een lijst van de soorten gegevens die u wilt opslaan en van de entiteiten (bvb. mensen, voorwerpen, locaties en gebeurtenissen die door die gegevens worden beschreven). Bijvoorbeeld:

Klanten

  • Naam
  • Adres
  • Woonplaats, provincie, postcode
  • E-mailadres

Producten

  • Naam
  • Prijs
  • Aantal op voorraad
  • Aantal op bestelling

Bestellingen

  • Bestellings-ID
  • Vertegenwoordiger
  • Datum
  • Product(en)
  • AANTAL
  • Prijs
  • Totaal

Deze informatie zal later deel uitmaken van de samenvatting van de tabellen en velden in de database.

Splits de informatie op in de kleinste, bruikbare stukjes. Overweeg bijvoorbeeld om de straatnaam van het land te scheiden, zodat u personen later kunt filteren op hun thuisland.

Voorkom ook dat hetzelfde gegeven in meer dan één tabel wordt gezet, want dit zorgt ervoor dat het onnodig ingewikkeld wordt.

Zodra u weet welke gegevens de database zal bevatten, waar die gegevens vandaan komen en hoe die gegevens zullen gebruikt worden, kunt u beginnen met het samenstellen van de eigenlijke database

Databases gebruiken en creëren vereist methodiek!