Stadhuis Paul Haanen

Stadswandeling
Venlo
Mooi Weer
Garantie
Contact Paul
Haanen?
 

De genormaliseerde relationele database

Lezing op de CAA-NL/SNA/ROB studiedag ‘De meerwaarde van standaards’, Amersfoort 2001.

Door Paul Haanen.

Inleiding

Voor een goed begrip van datastructuren worden de uitgangspunten van een genormaliseerde relationele database hieronder gedefinieerd. De relationele database is een methode die vaak wordt gebruikt om een digitale database op te zetten. Een digitale database wijkt op een aantal punten af van een papieren database en kán daar ook van afwijken omdat we de beschikking hebben over de rekenkracht van de computer.

In een database zijn gegevens opgeslagen in verschillende gegevensbestanden, tabellen genaamd. De tabellen van een database, die allen met elkaar samenhangen, bevatten elk een stukje van alle gegevens. De verschillende tabellen staan dus met elkaar in relatie en bevatten naast de gegevens die men wenst te administreren extra gegevens die nodig zijn om de gegevens aan elkaar te kunnen relateren. Tot zover zijn er geen afwijkingen tussen een papieren (analoge) en geautomatiseerde (digitale) database.

Een voorbeeld: een vondstnummer wordt aan de vondsten toegevoegd waar in de spoorbeschrijvingen aan gerefereerd kan worden. Op die manier is de relatie tussen de vondsten en de bijbehorende spoorbeschrijving gewaarborgd.

In een papieren administratie is het vaak gebruikelijk, en uit oogpunt van overzichtelijkheid en controle op eventuele schrijffouten zelfs wenselijk, dat informatie op verschillende plaatsen is vastgelegd. Zo kan het zeer nuttig zijn om de relatie tussen vondstcontext en vondstnummers op de vondstenlijsten, op de spoorbeschrijvingsformulieren, op de veldtekeningen en bij de vondsten te vermelden. In een genormaliseerde relationele database komt zulke redundantie niet voor in de tabellen die gezamenlijk de database vormen.

Uitgangspunten en kenmerken

De kenmerken van een genormaliseerde relationele database zijn als volgt te omschrijven:

  • De database is hiërarchisch van opzet. Het uitgangspunt of hoogste niveau is een enkele tabel waarin uitsluitend die gegevens zijn opgenomen die van toepassing zijn op alle daaronder liggende tabellen.
  • Het principe van hiërarchie wordt doorgevoerd op alle niveaus. Op elk niveau geldt dat in een tabel de gegevens zijn opgenomen die van toepassing zijn op alle daaronder liggende tabellen.
  • Elk gegeven wordt op slechts één plaats in één tabel vast gelegd, en wel op het juiste daartoe bestemde niveau.

Afgeleide kenmerken

De genoemde uitgangspunten dicteren dat een genormaliseerde relationele database aan de volgende eisen voldoet:

  • Elk gegeven dat kan worden opgesplitst in twee hiërarchisch samenhangende tabellen omdat het anders vaker dan één keer wordt opgenomen, wordt ook opgesplitst in twee verschillende tabellen om redundantie van dat gegeven te voorkomen.
  • Geen enkel gegeven dat op een ander hiërarchisch niveau is vastgelegd, wordt op het onderhavige niveau vastgelegd om redundantie van dat gegeven te voorkomen.
  • Elk record in elke tabel bevat unieke gegevens die in een één-op-één relatie met elkaar samenhangen. Elk record wordt voorzien van een unieke identifier (ID) of primaire sleutel ten behoeve van referentie op een lager hiërarchische niveau.
  • Gegevens die in een één-op-veel relatie staan tot andere gegevens worden in aparte tabellen ondergebracht die hiërarchisch één niveau lager staan dan de tabel met die andere gegevens. Elk record wordt voorzien van een refererende sleutel ten behoeve van het vastleggen van de relatie met de bovenliggende tabel. De referende sleutel bevat de waarde van de ID van het juiste gegeven uit de bovenliggende tabel.
  • Elke tabel bevat slechts één refererende sleutel naar het direct daarboven liggende niveau.
  • Onder elke tabel kunnen verschillende tabellen liggen met elk een eigen refererende sleutel naar de ID van de bovenliggende tabel. In dat geval staan die tabellen op hetzelfde hiërarchische niveau en niet in een hiërarchische relatie met elkaar.
  • Naar beneden toe in de hiërarchie wordt het detailniveau van de gegevens groter.
  • Afgeleide gegevens die nodig zijn voor beheer van de database, het functioneren van de omgeving (het programma) waarin de database wordt gebruikt of voor analysedoeleinden en (dus) uit de tabellen kunnen worden afgeleid, worden niet in de database opgenomen.

Daarnaast is er nog een kenmerk te noemen dat vaak wordt toegepast in een genormaliseerde database, maar niet direct afleidbaar is van de uitgangspunten (maar daar ook niet strijdig mee is):

  • Gegevens die (zeer) regelmatig niet behoeven te worden woren ingevoerd, of die thematisch nauw met elkaar samenhangen en thematisch afwijken van andere gegevens op hetzelfde niveau, kunnen omwille van het overzicht worden ondergebracht in een afzonderlijke tabel op dat niveau.

Databases en meta-informatie

Een integraal onderdeel van elke database vormt de meta-informatie. Meta-informatie is de term die gebruikt wordt voor de 'informatie over de informatie'. In de meta-informatie is vastgelegd wat er aan gegevens is vastgelegd, waar de gegevens zijn vastgelegd, waarom de gegevens zijn vastgelegd, door wie de gegevens zijn vastgelegd, wanneer de gegevens zijn vastgelegd en hoe de gegevens zijn vastgelegd.

Ook dienen gegevens te worden vastgelegd ten aanzien van beperkingen in het gebruik van de database: welke beperkingen kennen de gegevens ten aanzien van volledigheid en nauwkeurigheid? Hoe kundig en ervaren zijn de personen die de gegevens hebben vastgelegd? Onder welke omstandigheden (weersomstandigheden, tijdsdruk, kwalificatie van het personeel, andere factoren die de waarneming kunnen beïnvloeden) heeft het werk plaatsgevonden? Welke software is nodig om toegang te hebben tot de gegevens? Zonder al deze meta-informatie is een database waardeloos: een latere gebruiker kan niet goed beoordelen wat de gegevens voorstellen.

In dit kader dienen de referentielijsten apart genoemd te worden: referentielijsten zijn de tabellen die gebruikt worden om de invoer van gegevens te leiden. In de referentietabellen worden de te gebruiken invoeropties vastgelegd. Van elke invoeroptie is vastgelegd wat zij betekent. De referentietabellen vormen een vast onderdeel van elke meta-informatie.

Tenslotte dient de structuur en samenhang van de gegevens beschreven te worden. In de beschrijving van elk veld moet worden opgenomen wat er aan gegevens wordt vastgelegd en hoe dat dan gebeurt. Indien van toepassing moet ook telkens de maataanduiding (meters of centimeters, kilo's of grammen?) of gebruikte referentielijst worden opgenomen. De gegevens ten aanzien van 'wie' en 'wanneer' kunnen het beste bij elk record in de database zelf worden opgenomen.

Nog een woord over het maken van backups: Indien u een backup maakt van een database is de backup niet compleet als deze niet ook alle bijbehorende meta-informatie bevat.

<