Conceptueel datamodel

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Een conceptueel datamodel (of conceptueel schema of conceptueel gegevensmodel) definieert welke gegevens in een informatiesysteem vastgelegd kunnen 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[bewerken]

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 soort gegeven dat voor een 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 we in een database die voldoet aan het conceptuele schema over personen zoals Jan Jansen hun namen en geboortejaren kunnen vastleggen. Maar als we meer willen vastleggen zullen we eerst meer attribuuttypen voor de entiteittypen moeten definiëren. Het conceptuele schema bepaalt dus welke dingen over de entiteiten kunnen 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 echter 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 ieder 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 data model en een gemeenschappelijke terminologie.

De methode van het generiek modelleren probeert een oplossing te vinden voor bovengenoemde problemen. Een generiek data model, zoals ISO 15926-2 en Gellish is een data model met alleen generieke entiteittypen, dat zijn toepassingsgebied onafhankelijke entiteittypen. De toepassingsafhankelijke begrippen worden niet als entiteittypen, maar als standaard instanties van sommige generieke entiteittypen vastgelegd. Dit betekent dat generieke datamodellen voorzien zijn van een elektronisch woordenboek, of een taxonomie of een ontologie (informatica). 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[bewerken]

In geografische informatiesystemen wordt een conceptueel model wel beschouwd als het modellen tussen de toepassingscontext en het gegevensmodel.

Modellering klein.png

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[bewerken]

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, adres, et cetera. 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[bewerken]

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

Zie ook[bewerken]