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
koppelingseinde multipliciteit
beperking referentiële integriteit