Voorbeeld (constitutief/regulatief)
leder CAD-pakket beschikt over functionaliteit om sym
bolen (bijvoorbeeld een symbool voor klinkerverharding)
te creëren en vervolgens te plaatsen. In veel gevallen
wordt een symbool eerst gedefinieerd, geconstrueerd en
opgeslagen in een bibliotheek. Bij het plaatsen van een
symbool op een specifieke locatie in het bestand wordt
een kopie gemaakt van het symbool uit de bibliotheek;
deze wordt vervolgens in het bestand vastgelegd. Wan
neer een beheerder een dergelijk symbool in het bestand
muteert (bijvoorbeeld met het commando „drop complex
cell"), bestaat geen juiste relatie meer met de biblio
theek. Sterker nog, de resterende geometrische elemen
ten voldoen niet meer aan de definitie. In een dergelijke
situatie is sprake van een constitutieve beperking, omdat
dit soort regels bepalend is voor de gegevensstructuur.
Over het algemeen beschikt elk symbool in een biblio
theek over een unieke naam. Wanneer door het pakket
geen regels zijn gesteld aan de naamgeving, lijkt dit
flexibiliteit-bevorderend. Echter wanneer de gebruiker het
zinvol vindt dat de namen voldoen aan een specifieke ver
zameling, dan dienen extra functies ervoor te zorgen dat
dit wordt afgedwongen of gecontroleerd. Een dergelijke
beperking noemen we regulatief. Een beperking is regu
latief wanneer zij ontstaat doordat er aanvullende afspra
ken zijn gemaakt, die niet constitutief zijn (niet bepalend
voor gegevensstructuur).
consistentieregels voor het verwijderen van objecten zijn
bijzonder complex;
simpele consistentieregels moeten vaak gedurende trans
acties tijdelijk worden uitgeschakeld om mutaties mogelijk
te maken;
consistentieregels dienen te worden toegevoegd aan de
verzameling objectoperaties.
Voorbeeld (model-inherent/model-extern)
Een beperking is model-inherent wanneer die door de
toepassing van het bijbehorende gegevensmodel auto
matisch wordt gewaarborgd. Is dit niet het geval, dan
noemen we een beperking model-extern. De model-
inherente beperkingen kunnen op grond van complexiteit
worden onderscheiden (gebaseerd op het uitgebreide
relationele principe):
controle van gegevenstypen;
controle op eenduidigheid van identificaties;
controle van de referentiële integriteit (dynamisch
waardenbereik);
controle op relaties (bijvoorbeeld 1 n, n m relatie);
controle op generaliseringsvoorschriften.
Een voorbeeld van een model-inherente beperking is dat
een geometrisch primitief lijnstuk (line) is opgebouwd uit
twee coördinatenparen. Dit volgt direct uit het gegevens
model en wordt ondersteund door de programmatuur.
Het programma staat bijvoorbeeld niet toe dat drie coör
dinatenparen worden ingevuld. Een model-externe be
perking is dat begin- en eindpunt niet mogen samen
vallen (identiek). Dit wordt meestal niet door de structuur
gecontroleerd.
Voorbeeld (primair/secundair)
Een beperking is primair wanneer na elke elementaire
operatie op een tupel (tabelregel) een conceptuele relatie
moet bestaan. Voorbeelden hiervan zijn te vinden in de
simpele mutatiebewerkingen van een gegevensbank
(toevoegen, wijzigen en verwijderen). Een beperking is
secundair wanneer meerdere elementaire operaties no
dig zijn om dit te realiseren (bijvoorbeeld coördinaattrans
formatie). Een object in een lokaal stelsel, dat wordt
beschreven door vier lijnstukken, wordt niet als object ge
transformeerd, maar door alle punten individueel te be
handelen. Na afloop van de transformatie bestaat de rela
tie tussen punten weer zoals in de oude toestand (lokale
stelsel). De problematiek van dit soort regels is voor een
belangrijk deel ondervangen in het principe van de enti
teitenlevenscyclus (dynamische regels).
In [15] wordt een nadere uitwerking gegeven aan de
verschillende stappen of elementaire operaties in het
mutatieproces van vlakobjecten. Voor een toelichting op
het begrip elementaire operatie wordt verwezen naar het
eerste kader in dit artikel. Overigens zijn „atomaire actie"
en „transactie" synoniemen van het begrip elementaire
operatie.
Voorbeeld (toestand/overgang)
Er is sprake van een toestandsregel als wordt vastgesteld
dat objecten met een specifieke classificatie alleen wor
den gedefinieerd in het RD-coördinatenstelsel. Van ande
re objecten (bijvoorbeeld in de categorie plantopografie)
wordt toegestaan dat deze over een lokale geometrische
positiebeschrijving beschikken (lokaal stelsel). In ver
schillende toepassingen blijkt duidelijk dat het begrip
„overgang" moeilijk is te hanteren. Een voorbeeld hier
van is het omzetten van de meetgegevens van een punt
naar de coördinaten in een specifiek stelsel.
Er is sprake van een toestandsregel wanneer deze in
absolute zin de verschijningsvorm van mogelijke toe
standen in de gegevensbank beperkt. Van een over-
gangsregel is sprake wanneer de regel afhankelijk wordt
gemaakt van een specifieke uitgangssituatie (verschij
ningsvorm) in de gegevensbank.
Voorbeeld (sterk/zwak)
Dit onderscheid wordt gemaakt wanneer sprake is van
een regel die in operaties altijd (sterk) moet worden toe
gepast (bijvoorbeeld elke mutatie leidt direct tot aan
passing van het attribuut „datum laatste mutatie"). Een
regel is zwak wanneer deze in specifieke operaties niet
behoeft te worden toegepast (bijvoorbeeld het toepassen
van een schaalfactor voor correctie van afstandmeting).
De relatie tussen de hier genoemde categorieën regels
kan als volgt worden samengevat:
constitutieve regels zijn altijd van het type primair,
model-inherent, sterk en toestand;
model-inherente regels zijn altijd van het type toe
stand;
overgangsregels zijn niet te onderscheiden naar pri
mair of secundair.
Implementatie en complexiteit
Als we bovenstaand overzicht bestuderen, is de verlei
ding groot om over te gaan tot het experimenteren en een
aantal van dit soort regels te implementeren. Dit blijkt
echter in een interactief-grafische omgeving voor ruimte
lijke objecten niet altijd eenvoudig. Iedere klasse of cate
gorie zal om een eigen benadering en wellicht oplossing
vragen. Zo zijn de model-inherente regels, in tegenstel
ling tot de definitie van relaties in het model, veelal niet
eenvoudig en niet efficiënt af te handelen (bijvoorbeeld
inter-tabelregels).
260
NGT GEODESIA 93 - 6