# Conceptueel datamodel

Een conceptueel datamodel (of conceptueel gegevensmodel) definieert welke gegevens in een informatiesysteem vastgelegd worden, hoe deze gegevens gestructureerd zijn en wat de verbanden zijn tussen die gegevens. Een conceptueel datamodel ligt steeds aan de basis van een in de werkelijkheid gerealiseerde implementatie en is in feite het hoog-niveauontwerp van een (doorgaans relationele) databank.

## Algemeen

In een conceptueel model worden entiteittypen, attribuuttypen en relatietypen onderscheiden en soms 'methoden'.
Een entiteittype is een bepaalde soort 'iets'. Bijvoorbeeld de soort 'persoon'. Entiteiten zijn de individuele dingen van die soort. Zij worden instanties genoemd. Bijvoorbeeld 'Jan Jansen' is een instantie van de soort persoon. Een attribuuttype is een eigenschap die voor die entiteittype van toepassing is. In een conceptuele datamodel wordt van elk entiteittype gedefinieerd welke attribuuttypen het heeft. Bijvoorbeeld, we kunnen definiëren dat 'persoonsnaam' en 'geboortejaar' attribuuttypen zijn die van toepassing zijn voor het entiteittype 'persoon'. Dat betekent dat in een database die voldoet aan het conceptuele schema over personen zoals Jan Jansen hun namen en geboortejaren kunnen worden vastgelegd. Al er meer vastgelegd moet worden zullen eerst meer attribuuttypen voor de entiteittypen moeten worden gedefinieerd. Het conceptuele schema bepaalt dus welke dingen over de entiteiten worden vastgelegd.
Een relatietype is een verband tussen verschillende attribuuttypen (en daardoor tussen twee entiteittypen) die een voor het informatiesysteem zinnige betekenis heeft. Bijvoorbeeld een relatie tussen de attribuuttype 'persoonsnaam' en de attribuuttype 'bedrijfsnaam' van het entiteittype 'bedrijf'. Dat relatietype zou 'is werknemer van' kunnen heten. Met dat relatietype kan worden vastgelegd welke personen werknemer zijn van een bedrijf. Bijvoorbeeld, Jan Jansen is werknemer van 'Jansen & Co'.
Een methode is 'gedrag' van de entiteittypen waarin vastligt hoe attributen veranderen onder invloed van de verandering van andere attributen.
Een veel gebruikte tekentechniek voor een conceptueel datamodel is het zogenaamde ERD (Entiteit - Relatie Diagram), waarbij men grafisch de verbanden (relaties) tussen entiteiten (met hun attributen) voorstelt voordat er op basis daarvan een fysiek datamodel wordt gemaakt waarmee een database wordt gedefinieerd.
Conceptuele datamodellen worden vaak in de derde normaalvorm opgesteld. De derde normaalvorm wordt verkregen door het proces van gegevensnormalisatie toe te passen op ongestructureerde gegevens. Men kan de relaties verder normaliseren tot de vijfde normaalvorm, hoewel dergelijke concepten in de praktijk niet vaak toegepast worden.
Het geheel van de gegevens in het conceptuele datamodel wordt ook wel aangeduid met de term metadata (gegevens over gegevens).
Er zijn geen algemeen geaccepteerde regels voor de keuze van entiteittypen en attribuuttypen. In de praktijk maakt iedere ontwerper zijn eigen keuzen. Het gevolg is dat in verschillende databanken verschillende soorten gegevens opgeslagen kunnen worden, ook al gaan die databanken over hetzelfde onderwerp. Bovendien gebruiken verschillende ontwerpers verschillende namen voor de entiteittypen en attribuuttypen. Daardoor zijn gegevens uit de ene gegevensbank niet zonder meer te kopiëren naar een andere gegevensbank over hetzelfde onderwerp. Eigenlijk is er dus een gebrek aan standaardisatie en heerst er een grote spraakverwarring tussen verschillende conceptuele datamodellen. Er is grote behoefte aan een universeel datamodel en een gemeenschappelijke terminologie.
De methode van het generiek modelleren probeert een oplossing te vinden voor bovengenoemde problemen. Een generiek datamodel, zoals ISO 15926-2 en Gellish is een datamodel met alleen generieke entiteittypen, dat zijn van het toepassingsgebied onafhankelijke entiteittypen. De toepassingsafhankelijke begrippen worden niet als entiteittypen, maar als standaardinstanties van sommige generieke entiteittypen vastgelegd. Dit betekent dat generieke datamodellen voorzien zijn van een elektronisch woordenboek, of een taxonomie of een ontologie. De combinatie van een generiek datamodel en een taxonomie of ontologie levert een breed toepasbaar en flexibel, uitbreidbaar datamodel op en daarmee een nieuwe categorie toepassingen.

## In geografische informatiesystemen

In geografische informatiesystemen wordt een conceptueel model wel beschouwd als het model tussen de toepassingscontext en het gegevensmodel.
In de figuur is aangegeven (met toevallig, ruimtelijke modellen), hoe het conceptuele, logische en het fysieke model gerelateerd zijn. Ook is een (ruimtelijk) voorbeeld gegeven. Merk op dat het model alleen dat beschrijft van de werkelijkheid dat op dat moment, volgens de dan geldende zienswijze, voor die ene context geldig is.

## Voorbeeld

In een conventioneel informatiesysteem voor een ziekenhuis zou "patiënt" als entiteittype gekozen kunnen worden, omdat daarvoor verschillende "attribuuttypen" bekend moeten zijn. Voorbeelden van attribuuttypen zijn: naam, geboortedatum en adres. Het adres is een voorbeeld van een aggregatie, omdat het attribuut is samengesteld uit verschillende elementaire eigenschappen, namelijk: straat, huisnummer, postcode, plaatsnaam. Overigens is ook heel goed te verdedigen dat dit adres een 'entiteit' is. Het hangt van het te automatiseren probleem af of dit wenselijk is. In een generiek informatiesysteem zou eerder 'persoon' als entiteittype gekozen worden, omdat die entiteittype algemeen geldt voor alle personen, zowel patiënten, als artsen en andere medewerkers.
Een andere entiteittype in een conventioneel datamodel is bijvoorbeeld 'arts'. Een generiek datamodel zou geen tweede entiteit nodig hebben.
Een zinnig relatietype is bijvoorbeeld "heeft als huisarts". Een relatie kent meestal twee rollen. In dit voorbeeld heeft de ene persoon de rol van patiënt en de andere persoon de rol van huisarts.
Een interessante eigenschap van een relatie is de kardinaliteit van de relatie. Een patiënt heeft bijvoorbeeld 0, 1 of meer huisartsen tegelijk. Door het vaststellen van de kardinaliteit die op een bepaalde relatie van toepassing is, wordt een zo getrouw mogelijke beschrijving van de werkelijkheid gespecificeerd.

## State of the art

Bij de analyse en het ontwerp van moderne informatiesystemen wordt tegenwoordig ook gebruikgemaakt van objectoriëntatie en een modelleertaal zoals UML of EXPRESS (ISO 10303-11).