Gegevensbeheer [4]
Beheersing van complexiteit
in constraints
door dr. ir. H. J. Pels, universitair hoofddocent vakgroep Informatie Technologie, Facul
teit der Technische Bedrijfskunde, Technische Universiteit Eindhoven en werkzaam bij
informatiebureau BSO-A T.
SUMMARY
Controling the complexity caused by constraints
When the consistency of data is ascertained by constraints the maintenance of information systems be
comes problematic. Geographical Information Systems are typical examples of such systems. Constraints
introduce relationships among the elements of the data structure. This results in a huge complexity causing
much additional effort when mutating the data. A modular approach enables to gather the relationships
inside each module, while limiting the relationships among the modules. As a result the development and
maintenance of massive systems becomes much more transparent. As a part of a series on data manage
ment, this article discusses elements of the above aspects.
Functie van constraints
Wat is een gegevensstructuur?
Oorspronkelijk werden computers vooral gebruikt om ge
gevens te verwerken. Het beeld dat men toen had van
een computer, was dat van een verzameling program
ma's. Vanaf het begin van de zeventigerjaren begon men
computers vooral te gebruiken voor het vastleggen van
gegevens. In het beeld van computersystemen kwam
toen, onder invloed van de gegevensbank-benadering,
meer de nadruk te liggen op de gegevens: men zag de
computer vooral als een geautomatiseerde kaartenbak.
Bij die kaartenbak hoorde een zorgvuldige beschrijving
van de structuur van de gegevens: het schema. Het sche
ma diende om voor alle gebruikers en programma's een
duidig vast te leggen welke gegevens beschikbaar waren
en hoe die konden worden benaderd. Daardoor hoefde
men, om te weten welke gegevens er waren, niet langer
binnen in de programma's te kijken.
Een gegevensstructuur beschrijft in de eerste plaats
welke gegevens er waarover kunnen zijn. Dat gebeurt
door de gegevens te classificeren in zogenaamde entiteit
typen. Elk entiteittype beschrijft een soort feiten waarover
gegevens moeten worden vastgelegd. Elk entiteittype
krijgt vervolgens een aantal attributen toegekend. Elk
attribuut beschrijft een soort gegeven waarmee het be
treffende feit kan worden vastgelegd. Aangezien de bete
kenis niet altijd eenduidig uit de namen van entiteittypen
en attributen volgt, heeft het zin deze expliciet, in een
korte omschrijving te vermelden. Een voorbeeld van twee
entiteittypen met hun attributen, staat hiernaast.
De feiten die met deze entiteittypen kunnen worden vast
gelegd, hebben betrekking op het bestaan van personen
met zekere namen, enz. en het bestaan van bepaalde
huizen met zekere kadastrale nummers.
Constraints zijn nodig, omdat als waarde van een attri
buut in principe elke bitstring kan dienen die in een
computer kan worden vastgelegd. Niet elke verzameling
bits (bitstring) heeft echter een zinvolle betekenis. Men
wil alleen betekenisvolle gegevens opnemen: gegevens
318
die betrekking hebben op mogelijk ware feiten. Zo kan de
naam van een persoon nooit een getal zijn. Evenmin kan
de verzameling karakters (string) „Jansen" betekenis
hebben als waarde voor de oppervlakte van een perceel.
Bij elk attribuut hoort daarom tenminste een constraint
die de verzameling toegestane waarden aangeeft (ook
wel het domein genoemd). Ook is er een constraint nodig
om aan te geven dat een persoon uniek identificeerbaar
is door zijn sofinummer. Zo'n constraint, die sleutel wordt
genoemd, legt een beperking op aan toegestane com
binaties van waarden binnen een entiteittype. Weer een
andere constraint is nodig om vast te leggen dat de
hoofdbewoner van een huis een geregistreerd persoon
hoort te zijn. Deze (referentiële) constraint legt een be
perking op aan combinaties van waarden in twee ver
schillende entiteittypen.
Voorbeeld
entiteittype
Persoon
[een natuurlijk persoon];
attributen
Naam
[achternaam en voorletter];
Adres
[volledig postadres];
Geboortedatum
Sofinummer
[sociaal-fiscaal nummer];
entiteittype
Huis
[een gebouw of gedeelte voor af
zonderlijke bewoning];
attributen
Kadastraal nummer
J
Woningnr
[unieke code per woning];
Eigenaar
[de rechtspersoon die eigenaar is
van de woning];
Hoofdbewoner
[natuurlijk persoon die hoofdbe
woner is];
Waarde
Oppervlakte
[perceelsoppervlak in m2];
Inhoud
[inhoud woning in m3];
Adres
Schema Huis met twee entiteittypen: persoon en huis.
NGT GEODESIA 93 -