Het Koningshuis der Nederlanden


Inleiding

In één van zijn posts geeft René Veldwijk een voorbeeld van een foutief gegevensmodel betreffende de nazaten van een Nederlandse koning of koningin.

Ik ga hier in op de modelleringsuitdaging en breng twee logische gegevensmodellen die beter aanleunen bij de normalisaties waar René om vraagt.

Eerste versie van het genormaliseerd gegevensmodel

In deze eerste versie introduceer ik de entiteiten Persoon, Ouder-Kind Relatie en Huwelijk.
Ouder-Kind Relatie verwijst daarbij naar twee Personen (een ouder en een kind). Huwelijk naar twee Personen (een man en een vrouw). En Ouder-Kind Relatie optioneel naar een Huwelijk. Dat laatste om te kunnen aangeven uit welk Huwelijk een kind stamt of om te kunnen aangeven of om een buitenechtelijk kind gaat. Als Vlaming weet ik niet of er binnen de Nederlandse koninklijke familie buitenechtelijke kinderen zijn, maar binnen de Belgische koninklijke familie is dat wel degelijk het geval.
Het gegevensmodel dat ik voorstel is dan ook algemeen. Het kan over om het even wie gaan en over diens afstammelingen.

Dit model is lange tijd aanvaardbaar geweest, maar vanwege genderperikelen zijn er intussen Personen die een ander geslacht kunnen aannemen dan man of vrouw. En zijn Huwelijken niet meer verplicht een samenlevingsvorm tussen een man en een vrouw.

Dat geeft aanleiding tot een tweede versie van het genormaliseerde gegevensmodel.

Tweede versie van het genormaliseerde gegevensmodel

Het idee van deze versie van het gegevensmodel blijft hetzelfde dan in de vorige versie. Met dien verstande dat de genderperikelen weggewerkt zijn binnen dit gegevensmodel door de entiteit Huwelijkspartner toe te voegen als entiteit.

We krijgen wel twee bijkomende beperkingsregels:

  • Een beperkingsregel die aangeeft dat er juist twee Huwelijkspartners zijn binnen een Huwelijk.
  • Een beperkingsregel die aangeeft dat beide Huwelijkspartners binnen een Huwelijk verschillende Personen moeten zijn.
  • Een beperkingsregel die aangeeft dat in geval van gehuwde ouders (Ouder-Kind Relatie verwijst naar een Huwelijk), dat de ouder binnen de Ouder-Kind Relatie dan één van beide Huwelijkspartners horende bij het Huwelijk moet zijn. Deze beperkingsregel kunnen we evenwel elimineren door de entiteit Ouder-Kind Relatie optioneel te laten verwijzen naar entiteit Huwelijkspartner.

Zo komen we tot de volgende variant van het genormaliseerde gegevensmodel:

Maar we krijgen nu twee bijkomende beperkingsregels:

  • Als een Ouder-Kind Relatie verwijst naar een Huwelijk, dan moet die Ouder-Kind Relatie eveneens verwijzen naar een Huwelijkspartner.
  • De Huwelijkspartner waar een Ouder-Kind Relatie eventueel naar verwijst dient Huwelijkspartner te zijn binnen hetzelfde Huwelijk waarnaar de Ouder-Kind Relatie eventueel naar verwijst.

Ondanks het feit dat dit gegevensmodel dient te voldoen aan meer beperkingsregels dan de vorige variant, heeft dit gegevensmodel toch mijn voorkeur.

Leuke dingen voor de mensen, zou Paul Van Vliet gezegd hebben…


Leave a Reply

Your email address will not be published. Required fields are marked *