Modellering van gegevens

Uit NORA Online
Versie door Avwinkelhof (overleg | bijdragen) op 21 mrt 2019 om 16:24 (linkteksten voorbeelden aangepast)
Naar navigatie springen Naar zoeken springen


Onderdeel van
Thema's
Contact
Arjen Santema
Arnoud.Quanjer@vngrealisatie.nl
Status
Actueel
Auteurs

Arnoud Quanjer (VNG Realisatie), Henk Nijstad (Kennisnet), Robert van Wessel (ICTU)

Introductie[bewerken]

Modellering van gegevens met behulp van datamodellering is een essentieel onderdeel van gegevensmanagement. Datamodellering is een analyse- en ontwerpmethode bij het vinden, analyseren en scopen van gegevensbehoeften. Dit betreffen eisen (requirements) op het gebied van de schrijfwijze (syntax), betekenis (semantics) en de onderlinge relaties tussen deze gegevens. Het weergeven en communiceren van deze gegevensvereisten in een precieze vorm kan met behulp van een gegevensmodel.

In de zomer van 2017 hebben het Kwaliteitsinstituut Nederlandse Gemeenten (KING, nu VNG Realisatie), het Kadaster en Geonovum een metamodel gemaakt voor het ontwikkelen van informatiemodellen: het Metamodel voor Informatiemodellen, afgekort als MIM. Het MIM is ontwikkeld in het kader van het Digitaal Stelsel Omgevingswet. Het is blijkens het voorwoord van de ontwikkelaars duidelijk hun ambitie om het model niet alleen een standaard voor geo-informatie te laten zijn, maar ook om het veel breder toepasbaar te maken. Het metamodel is daarom heel generiek opgezet.

Een gegevensmodel kan verschillende vormen aannemen en afhankelijk van het gebruik onderkent men een conceptueel, logisch en fysiek/technisch gegevensmodel. Conceptuele gegevensmodellering en logische gegevensmodellering zijn activiteiten voor requirements analyse, terwijl modellering van fysieke gegevens een ontwerpactiviteit is. Op basis van een conceptueel datamodel (ook wel informatiemodel genoemd – bevat geen attributen) worden logische datamodellen met entiteit typen en attribuuttypen samengesteld. De gegevens zelf vormen instanties van de logische datamodellen en zijn opgeslagen in een database en vormen de technische gegevensmodellen.

Bij de vertaling van een informatiemodel naar een datamodel maakt men vaak gebruik van een Entity Relationship Diagram (ERD) waarbij alle elementen van het informatiemodel en de onderlinge relaties tussen objecten uit het informatiemodel worden overgenomen. Wanneer in een logisch datamodel in de zogenaamde derde normaalvorm (3NF) is gemodelleerd heeft men duplicatie van gegevens geminimaliseerd en is referentiële integriteit, in geval van toepassing in een relationele database, gewaarborgd. Naast ERD bestaan er verschillende ander technieken voor het ontwerpen van logische datamodellen ontwerpen, zoals UML, IDEF1X, ORM en DDL). Verder zijn er veel verschillende tools die helpen bij het modelleren van gegevens, zoals ERwin Data Modeler, Enterprise Architect en IBM InfoSphere Data Architect.

Onderdelen van het metamodel MIM[bewerken]

De verschillende onderdelen van het metamodel worden als volgt beschreven:

Model van begrippen[bewerken]

Beschrijft de werkelijkheid binnen het beschouwde domein (de ‘universe of discourse’) d.m.v. de daarin gehanteerde begrippen en hun relaties tot elkaar. Doel is dat de actoren daarbinnen elkaar begrijpen en één taal spreken. Een model van begrippen wordt opgesteld voor gebruik door mensen, met name uit ‘de business’. De begrippen worden beschreven in een formele taal, een vocabulaire. Een vocabulaire is geen informatiemodel. Begrippen kunnen in meerdere informatiemodellen gebruikt worden.

Conceptueel informatiemodel[bewerken]

Modellering van de werkelijkheid binnen het beschouwde domein, v.w.b. informatie daarvan, onafhankelijk van ontwerp van en implementatie in systemen. Het geeft een zo getrouw mogelijke beschrijving van die werkelijkheid en is in natuurlijke taal geformuleerd. Een dergelijk model definieert het ‘wat’: welke ‘concepten’ (‘dingen’) worden onderscheiden (in de beschouwde werkelijkheid), wat betekenen zij, hoe verhouden ze zich tot elkaar en welke informatie (eigenschappen) is daarvan relevant. Het dient als taal waarmee domeinexperts kunnen communiceren met informatie-analisten en verschaft een eenduidige interpretatie van die werkelijkheid ten behoeve van deze communicatie. Een conceptueel informatiemodel wordt dan ook opgesteld voor gebruik door mensen, zodat ‘de business’ en de ICT-specialisten elkaar makkelijker kunnen begrijpen.

Logisch informatie- of gegevensmodel[bewerken]

Beschrijft hoe de, in het conceptuele model onderscheiden, concepten gebruikt worden bij de interactie tussen systemen en hun gebruikers en tussen systemen onderling. Anders gezegd, een model van de representatie van informatie over de werkelijkheid in digitale registraties en in de uitwisseling daartussen. Het gaat hierbij, in tegenstelling tot een conceptueel model, dus veel meer om het ‘hoe’. Het slaat de brug tussen werkelijkheid en systemen maar beschrijft nog niet de implementatie in die systemen. Een dergelijk model wordt in een formele taal beschreven en wordt waar mogelijk gegenereerd vanuit het conceptuele model. Het logisch model wordt opgesteld voor ICT-interoperabiliteit, voor gebruik door met name de ontwerpers, bouwers en beheerders van ICT-voorzieningen.

Fysiek of technisch gegevens- of datamodel[bewerken]

Specificeert de structuur en eigenschappen van de technologie waarin de informatie wordt vastgelegd of uitgewisseld. Dit is sterk afhankelijk van de gebruikte opslagtechnologie zoals een specifieke database of de servicetechnologie zoals XML, GML, SOAP, REST, (Geo)JSON, LinkedData e.d. Het kan tevens informatie bevatten over de manier waarop berichten ‘verpakt’ worden, het (internet)protocol en de logistiek van het berichtenverkeer. De technische specificaties worden over het algemeen zo veel als mogelijk gegenereerd uit het logisch informatiemodel. Deze specificaties worden opgesteld voor ‘machines’, te gebruiken door software-ontwikkelaars.

Registraties[bewerken]

Dit zijn systematische en meestal in een informatiesysteem opgeslagen beschrijvingen van instanties van concepten. Registraties vormen een bijzonder fenomeen. Ze komen technisch voor op de vierde laag van het Vijflaagsmodel van de NORA, de Applicatielaag, maar ze hebben ook een informatiekundige tegenhanger op de derde laag, de Informatielaag. Zo kan een bepaalde referentietabel voorkomen in een logisch of technisch informatiemodel én in een applicatie waarin de waarden van de tabel machine-raadpleegbaar beschikbaar zijn. Bij een concept als ‘Vreemdelingenrecht’ in de migratieketen bijvoorbeeld kan een lijst gegeven worden van alle Europese en Nederlandse wetten en regelgeving die de omgang van de overheid met vreemdelingen reguleren. Dit zijn dan de instanties, de concrete verschijningsvormen, van het concept. In het onderwijsdomein komen vergelijkbare lijsten van opleidingen en eindtermen (instanties van de concepten 'Opleiding' en 'Eindterm') voor die een sterk conceptualiserende en structurerende functie hebben binnen het domein, bijvoorbeeld als metadata van leerobjecten. Zij hebben de technische vorm van een registratie maar fungeren in de praktijk min of meer als een logisch informatiemodel.

Analyse van het MIM[bewerken]

Hoe moeten wij het metamodel van het MIM precies begrijpen als nadere invulling van de Informatielaag van het Vijflaagsmodel van de NORA? Het metamodel heeft zoals hierboven beschreven vier componenten. Drie daarvan, het conceptueel informatiemodel, het logisch informatie- of gegevensmodel en het fysiek of technisch gegevens- of datamodel, weerspiegelen de praktijk van het werk van de informatiearchitect of analist. Men werkt of top-down vanuit een abstractie van het domein naar de concrete werkelijkheid van het berichtenverkeer of bottom-up, waarbij de concrete gegevensuitwisseling de basis vormt voor normaliserende abstracties. Vaak vinden ook allebei de bewegingen plaats, waarbij het helaas niet altijd zo is dat partijen elkaar halverwege vinden. De werelden van architecten enerzijds en ontwikkelaars anderzijds kunnen zeer gescheiden zijn.

Deze drie modellen horen dus functioneel bij elkaar. Anders ligt dat voor het begrippenmodel. De beschrijving in het MIM geeft het concept van het begrippenmodel een heel pragmatische functie (‘mensen in een domein elkaar laten begrijpen’) en stelt: ‘De begrippen worden beschreven in een formele taal, een vocabulaire. Een vocabulaire is geen informatiemodel’. Deze beschrijving roept de vraag op wat hier precies wordt bedoeld met een vocabulaire in een formele taal, als dit niet een informatiemodel mag zijn. Het klinkt namelijk tegenstrijdig: een begrippenmodel moet wel een ordening kennen, maar deze ordening mag geen model zijn. Om deze tegenstrijdigheid op te lossen leggen we het MIM-concept begrippenmodel in abstracto uit als een domeinonafhankelijk geordende samenstelling van begrippen. Met domeinonafhankelijk bedoelen we: algemene informatiekundige vormen van structurering, zoals die van entiteiten in een hiërarchie, een taxonomie of ontologie of zelfs in een simpele alfabetische volgorde. Voor deze vormen van structurering zijn formele talen beschikbaar als SKOS. Domeinonafhankelijke ordening staat tegenover domeinafhankelijke ordening, die aangetroffen wordt in conceptuele, logische en technische informatiemodellen. Daar is het immers de conceptuele structuur van het domein (entiteiten, processen, etc.) die de ordening van de begrippen in het model regeert. Een conceptueel informatiemodel kan met andere woorden precies dezelfde begrippen bevatten als een begrippenmodel, maar alleen de manier van ordenen verschilt.

Concluderend kunnen we stellen dat de vier concepten uit het MIM-model uit twee clusters bestaan:

Schematische weergave van de vier concepten uit het MIM (Metamodel voor informatiemodellen) in twee clusters (domeinonafhankelijk geordend en domeinafhankelijk geordend). In het eerste cluster staat het begrippenmodel. In het tweede staan van boven naar beneden Conceptueel informatiemodel, Logisch informatiemodel en Technisch model, telkens verbonden met het concept er boven en onder met dubbele pijlen heen en weer.

Het MIM als invulling van de Informatielaag[bewerken]

Zoals eerder opgemerkt geeft het MIM een nadere invulling van de Informatielaag van het Vijflaagsmodel van de NORA. In schema ziet dat er als volgt uit:

Weergave van het vijflaagsmodel met het Nationaal Semantisch Vlak, waarbij dit vlak met pijlen is verbonden met vijf rechthoeken rechts hiervan: Begrippenmodel (groen), Conceptueel informatiemodel (rood), logisch informatiemodel (blauw), technisch datamodel (bruin) en register (geel).

Laten we dan nu kijken naar de vraag of we met de concepten van het MIM preciezer kunnen beschrijven en begrijpen welke zaken we zoal aantreffen in de Informatielaag van publieke (en private) informatiedomeinen, de zaken die de NORA losjes beschrijft als ‘gegevenswoordenboeken en gegevensmodellen’. Zoals al in de inleiding vermeld, komen er in de praktijk veel verschillende praktische invullingen van het fenomeen gegevenswoordenboek of gegevensmodel voor. Soms zijn het eenvoudige begrippenlijsten, soms zijn het echte modelleringen die meer of minder abstract zijn, soms combineren ze ook verschillende van deze aspecten en functies. Kunnen we de verschillende typen gegevenswoordenboeken en -modellen die we aantreffen duiden als een van de verschillende entiteiten uit het MIM? Zo ja, dan is het metamodel van het MIM een goed model om de Informatielaag van het Vijflaagsmodel van de NORA mee te beschrijven.

Toepassing van het MIM-model op een aantal praktijkgevallen[bewerken]

Onderstaande pagina's gaan in op de toepassing van het MIM-model in de praktijk:

Observaties na analyse[bewerken]

De analyse van de verschillende gegevenswoordenboekachtige entiteiten hierboven geeft aanleiding tot de volgende meer algemene observaties:

  • Het blijkt goed mogelijk om de verschillende manieren waarop het begrip gegevenswoordenboek in de praktijk van informatie-uitwisseling in publieke (en private) domeinen wordt ingevuld, met behulp van het MIM-model te beschrijven en te begrijpen. We komen geen entiteiten tegen die we niet kunnen duiden;
  • We kunnen niet alleen de structuur en functie van de verschillende entiteiten op zichzelf begrijpen, we kunnen ook inzichtelijk maken hoe deze entiteiten er vanuit gebruikersperspectief primair uitzien en welke functie ze in de praktijk vooral vervullen;
  • We kunnen soms optredende ambiguïteiten oplossen, omdat bijvoorbeeld duidelijk gemaakt kan worden dat een bepaalde entiteit hybride is (een begrippenmodel dat begrippen definieert maar deze tevens beschrijft met kenmerken volgens een standaard voor logische informatiemodellen);
  • In de praktijk komen we in de wereld van de gegevenswoordenboeken vooral conceptuele informatiemodellen, logische informatie- of gegevensmodellen en begrippenmodellen tegen. Technische gegevens- of datamodellen, zoals bijvoorbeeld berichtenboeken, zijn meestal buiten scope. De wereld van het gegevenswoordenboek vervult een van de technische werkelijkheid abstraherende functie en technische gegevens- of datamodellen zijn kennelijk te techniekafhankelijk en dynamisch om onder dit bereik te vallen;
  • Modellen kunnen recursief voorkomen binnen een bepaald domein. Zo kan een domein een conceptueel hoofdmodel hebben, zoals bijvoorbeeld het Kernmodel Onderwijsinformatie, dat op zijn beurt nadere specificaties bevat in conceptuele deelmodellen.

Conclusie[bewerken]

Bovenstaande analyses en observaties ondersteunen de conclusie dat het zinvol is gebleken om niet te proberen het begrip gegevenswoordenboek geforceerd te standaardiseren en in isolement te definiëren. Het metamodel van het MIM is een hanteerbaar en effectief alternatief, omdat het meer recht doet aan de verscheidenheid aan gegevenswoordenboeken die we in de praktijk aantreffen én meer oog heeft voor de context waarbinnen de meeste gegevenswoordenboeken functioneren. Het model bevat een beperkt aantal concepten waarmee de wereld van de gegevenswoordenboeken goed beschreven en begrepen kan worden (begrippenmodel, conceptueel model, logisch model, datamodel en register). Informatiearchitecten en -analisten kunnen er bovendien goed houvast aan hebben wanneer zij in een bepaald domein aan de slag gaan met het normaliseren van de gegevensuitwisseling.