Entitetsdatamodell

Entitetsdatamodellen (EDM) är en uppsättning begrepp som beskriver strukturen för data, oavsett dess lagrade formulär. EDM lånar från entitetsrelationsmodellen som beskrevs av Peter Chen 1976, men den bygger också på entitetsrelationsmodellen och utökar dess traditionella användningsområden.

EDM hanterar de utmaningar som uppstår när data lagras i många former. Tänk dig till exempel ett företag som lagrar data i relationsdatabaser, textfiler, XML-filer, kalkylblad och rapporter. Detta innebär stora utmaningar inom datamodellering, programdesign och dataåtkomst. När du utformar ett dataorienterat program är utmaningen att skriva effektiv och underhållsbar kod utan att offra effektiv dataåtkomst, lagring och skalbarhet. När data har en relationsstruktur är dataåtkomst, lagring och skalbarhet mycket effektiva, men det blir svårare att skriva effektiv och underhållsbar kod. När data har en objektstruktur är kompromisserna omvända: Att skriva effektiv och underhållsbar kod sker på bekostnad av effektiv dataåtkomst, lagring och skalbarhet. Även om rätt balans mellan dessa kompromisser kan hittas uppstår nya utmaningar när data flyttas från ett formulär till ett annat. Entitetsdatamodellen hanterar dessa utmaningar genom att beskriva datastrukturen i termer av entiteter och relationer som är oberoende av något lagringsschema. Detta gör den lagrade dataformen irrelevant för programdesign och utveckling. Och eftersom entiteter och relationer beskriver strukturen för data som de används i ett program (inte dess lagrade form) kan de utvecklas när ett program utvecklas.

A conceptual model är en specifik representation av datastrukturen som entiteter och relationer och definieras vanligtvis i ett domänspecifikt språk (DSL) som implementerar begreppen i EDM. Konceptuellt schemadefinitionsspråk (CSDL) är ett exempel på ett sådant domänspecifikt språk. Entiteter och relationer som beskrivs i en konceptmodell kan betraktas som abstraktioner av objekt och associationer i ett program. Detta gör det möjligt för utvecklare att fokusera på den konceptuella modellen utan att behöva bry sig om lagringsschemat, och gör det möjligt för dem att skriva kod med effektivitet och underhåll i åtanke. Under tiden kan designer av lagringsschema fokusera på effektiviteten i dataåtkomst, lagring och skalbarhet.

I det här avsnittet

Avsnitten i det här avsnittet beskriver begreppen i entitetsdatamodellen. Alla DSL som implementerar EDM bör innehålla de begrepp som beskrivs här. Observera att ADO.NET Entity Framework använder CSDL för att definiera konceptuella modeller. Mer information finns i CSDL-specifikation.

Nyckelbegrepp för entitetsdatamodell

Entitetsdatamodell: Namnområden

Entitetsdatamodell: Primitiva datatyper

Entitetsdatamodell: Arv

association end

association end multiplicity

association set

association set end

associationstyp

komplex typ

entitetscontainer

entitetsnyckel

entitetsuppsättning

entitetstyp

Aspekt

sekundärnyckelegenskap

modelldeklarerad funktion

modelldefinierad funktion

navigeringsegenskap

Egenskapen

begränsning av referensintegritet

Se även