Entiteitsgegevensmodel

Het Entity Data Model (EDM) is een set concepten die de structuur van gegevens beschrijven, ongeacht de opgeslagen vorm. De EDM leent van het Entity-Relationship Model dat in 1976 door Peter Chen wordt beschreven, maar bouwt ook voort op het Entity-Relationship Model en breidt zijn traditionele gebruik uit.

De EDM behandelt de uitdagingen die ontstaan door het opslaan van gegevens in veel formulieren. Denk bijvoorbeeld aan een bedrijf dat gegevens opslaat in relationele databases, tekstbestanden, XML-bestanden, spreadsheets en rapporten. Dit brengt aanzienlijke uitdagingen met zich mee in gegevensmodellering, toepassingsontwerp en gegevenstoegang. Bij het ontwerpen van een gegevensgeoriënteerde toepassing is de uitdaging om efficiënte en onderhoudbare code te schrijven zonder dat dit ten koste gaat van efficiënte gegevenstoegang, opslag en schaalbaarheid. Wanneer gegevens een relationele structuur hebben, zijn gegevenstoegang, opslag en schaalbaarheid zeer efficiënt, maar het schrijven van efficiënte en onderhoudbare code wordt moeilijker. Wanneer gegevens een objectstructuur hebben, worden de afwegingen omgekeerd: het schrijven van efficiënte en onderhoudbare code komt ten koste van efficiënte gegevenstoegang, opslag en schaalbaarheid. Zelfs als het juiste evenwicht tussen deze compromissen kan worden gevonden, ontstaan er nieuwe uitdagingen wanneer gegevens van het ene formulier naar het andere worden verplaatst. Het Entiteitsgegevensmodel behandelt deze uitdagingen door de structuur van gegevens te beschrijven in termen van entiteiten en relaties die onafhankelijk zijn van een opslagschema. Dit maakt de opgeslagen vorm van gegevens niet relevant voor het ontwerpen en ontwikkelen van toepassingen. En omdat entiteiten en relaties de structuur van gegevens beschrijven zoals deze worden gebruikt in een toepassing (niet de opgeslagen vorm), kunnen ze zich ontwikkelen naarmate een toepassing zich ontwikkelt.

A conceptual model is een specifieke weergave van de structuur van gegevens als entiteiten en relaties en wordt over het algemeen gedefinieerd in een domeinspecifieke taal (DSL) die de concepten van de EDM implementeert. Conceptuele schemadefinitietaal (CSDL) is een voorbeeld van een dergelijke domeinspecifieke taal. Entiteiten en relaties die in een conceptueel model worden beschreven, kunnen worden beschouwd als abstracties van objecten en koppelingen in een toepassing. Hierdoor kunnen ontwikkelaars zich richten op het conceptuele model zonder dat ze zich zorgen hoeven te maken over het opslagschema en kunnen ze code schrijven met efficiëntie en onderhoudbaarheid in gedachten. Ondertussen kunnen ontwerpers van opslagschema's zich richten op de efficiëntie van gegevenstoegang, opslag en schaalbaarheid.

In dit gedeelte

Onderwerpen in deze sectie beschrijven de concepten van het Entiteitsgegevensmodel. Elke DSL die de EDM implementeert, moet de concepten bevatten die hier worden beschreven. Houd er rekening mee dat de ADO.NET Entity Framework CSDL gebruikt om conceptuele modellen te definiëren. Zie CSDL-specificatie voor meer informatie.

Sleutelconcepten voor entiteitsgegevensmodel

Entiteitsgegevensmodel: naamruimten

Entiteitsgegevensmodel: Primitieve gegevenstypen

Entiteitsgegevensmodel: overname

einde van koppeling

koppelingseinde multipliciteit

koppelingsset

einde van koppelingsset

koppelingstype

complex type

entiteitscontainer

entiteitssleutel

entiteitsset

entiteitstype

Facet

refererende sleuteleigenschap

model-gedeclareerde functie

modelgedefinieerde functie

navigatie-eigenschap

eigenschap

beperking referentiële integriteit

Zie ook