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 -

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

(NGT) Geodesia | 1993 | | pagina 2