Regels in het tabellenmodel
In het proces-gegevensmodel zijn regels gespecificeerd, die de inhoud van en de samenhang tussen gegevenstypen beschrijven. De soorten regels zijn onder andere:
- bepaalt-regel
- verplicht-regel
- komt-overeen-met-regel
- afleidingsregel
- optionaliteitsregel
- transitieregel
De meeste van deze regels moeten terugkomen in het tabellenmodel.
- De bepaalt-regels vinden we terug in de vorm van kandidaat- en primaire sleutels;
- De verplicht-regel evenals de komt-overeen-met-regel vinden we in de structuur van het tabellenmodel.
De transitieregels gaan we hier niet verder op in (ze zijn terug te vinden in gebruikershandleidingen).
In deze paragraaf wordt ingegaan op de formele specificatie van deze regels, waarbij we ons met name richten op de afleidingsregels, de optionaliteitsregels en de overige regels. In het PGM vindt de specificatie daarvan plaats in algemeen beschaafd Nederlands, bijvoorbeeld in de vorm van: "als een medewerker een arbeidsovereenkomst heeft, moet zijn/haar sofinummer bekend zijn".
In het tabellenmodel worden deze regels formeel gespecificeerd, met andere woorden wordt gespecificeerd hoe je aan de in de tabellen vastgelegde gegevens kunt waarnemen, dat aan de regels wordt voldaan. We kunnen bijvoorbeeld in het procesgegevensmodel aantreffen dat "een medewerker niet uit dienst kan treden voordat deze in dienst is getreden". Dat zegt echter nog niets over de manier, waarop we aan de administratie kunnen zien, of er aan wordt voldaan. We hebben te specificeren, dat er een tabel MEDEWERKER is, waarin de attribuuttypen indienstdatum en uitdienstdatum voorkomen, en dat voor iedere rij uit die tabel geldt dat als de kolom uitdienstdatum een reƫle waarde heeft, deze groter of gelijk moet zijn aan de waarde van de kolom indienstdatum.
Formeel specificeren we dan:
Voor iedere medewerker waarvoor geldt
medewerker.uitdienstdat <> leeg
geldt:
medewerker.uitdienstdat >= medewerker.indienstdat
Een ander voorbeeld kan zijn dat van een medewerker in het PGM is gespecificeerd, dat zijn sofi-nummer bekend moet zijn, indien deze een arbeidsovereenkomst heeft. Als we uitgaan van het volgende tabellenmodel:
MEDEWERKER (medewerkernummer, naam, geboortedatum, sofinummer, datum_in_dienst. datum_uit_dienst)
ARBEIDSOVEREENKOMST (medewerkernummer, volgnummer overeenkomst, functie, rang, salaris);
dan kan de betreffende regel kan zijn gespecificeerd als:
Voor iedere medewerker waarvoor geldt
er bestaat een arbeidsovereenkomst waarvoor geldt
arbeidsovereenkomst.medewerkersnummer =
medewerker.medewerkersnummer
geldt
medewerker.sofinummer <> LEEG
nog verder uit te werken.
Terug naar: Ttheorie logisch gegevensmodel