Události
Vytváření inteligentních aplikací
17. 3. 23 - 21. 3. 23
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Model Entity Data Model (EDM) používá tři klíčové koncepty k popisu struktury dat: typ entity, typ přidružení a vlastnost. Jedná se o nejdůležitější koncepty popisující strukturu dat v jakékoli implementaci EDM.
Typ entity je základním stavebním blokem pro popis struktury dat pomocí modelu Entity Data Model. V konceptuálním modelu se typy entit vytvářejí z vlastností a popisují strukturu konceptů nejvyšší úrovně, jako jsou zákazníci a objednávky v obchodní aplikaci. Stejně jako definice třídy v počítačovém programu je šablona pro instance třídy, typ entity je šablona pro entity. Entita představuje konkrétní objekt (například konkrétního zákazníka nebo objednávku). Každá entita musí mít v sadě entit jedinečný klíč entity. Sada entit je kolekce instancí konkrétního typu entity. Sady entit (a sady přidružení) se logicky seskupují do kontejneru entit.
Dědičnost je podporována u typů entit: to znamená, že jeden typ entity může být odvozen od jiného. Další informace najdete v tématu Entity Data Model: Dědičnost.
Typ přidružení (označovaný také jako asociace) je základním stavebním blokem pro popis relací v modelu Entity Data Model. V konceptuálním modelu přidružení představuje vztah mezi dvěma typy entit (například Zákazník a Objednávka). Každé přidružení má dva konce přidružení, které určují typy entit, které jsou součástí přidružení. Každý konec přidružení také určuje násobnost konce přidružení, která označuje počet entit, které mohou být na konci přidružení. Koncová násobnost přidružení může mít hodnotu 1, nula nebo jednu (0,,1) nebo mnoho (*). Entity na jednom konci přidružení mohou být přístupné prostřednictvím navigačních vlastností nebo cizích klíčů, pokud jsou vystaveny u typu entity. Další informace naleznete v tématu cizí klíč vlastnost.
Instance přidružení v aplikaci představuje konkrétní přidružení (například přidružení mezi instancí zákazníka a instancemi objednávky). Instance přidružení jsou logicky seskupeny v sadě přidružení. Sady přidružení (a sady entit) se logicky seskupují do kontejneru entit.
Typy entit obsahují vlastnosti , které definují jejich strukturu a vlastnosti. Například typ entity Zákazník může mít vlastnosti, jako je CustomerId, Name a Address.
Vlastnosti v konceptuálním modelu jsou podobné vlastnostem definovaným ve třídě v počítačovém programu. Stejně jako vlastnosti třídy definují tvar třídy a přenášejí informace o objektech, vlastnosti v konceptuálním modelu definují tvar typu entity a přenášejí informace o instancích typu entity.
Vlastnost může obsahovat primitivní data (například řetězec, celé číslo nebo logickou hodnotu) nebo strukturovaná data (například komplexní typ). Další informace naleznete v tématu Entity Data Model: Primitivní datové typy.
Koncepční model je specifická reprezentace struktury některých dat jako entit a relací. Jedním ze způsobů, jak znázorňovat koncepční model, je diagram. Následující diagram představuje koncepční model se třemi typy entit (Book
, Publisher
a ) a Author
dvěma přidruženími (PublishedBy
a WrittenBy
):
Tato reprezentace ale má určité nedostatky, pokud jde o vyjádření některých podrobností o modelu. Například informace o typu vlastnosti a sadě entit nejsou v diagramu předávány. Bohatost konceptuálního modelu lze srozumitelněji vyjádřit jazykem specifickým pro doménu (DSL). ADO.NET Entity Framework používá k definování konceptuálních modelů jazyka DSL založeného na JAZYCE XML označovaného jako jazyk CSDL (Conceptual Schema Definition Language). Následuje definice CSDL konceptuálního modelu v diagramu výše:
<Schema xmlns="http://schemas.microsoft.com/ado/2008/09/edm"
xmlns:cg="http://schemas.microsoft.com/ado/2006/04/codegeneration"
xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator"
Namespace="BooksModel" Alias="Self">
<EntityContainer Name="BooksContainer" >
<EntitySet Name="Books" EntityType="BooksModel.Book" />
<EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
<EntitySet Name="Authors" EntityType="BooksModel.Author" />
<AssociationSet Name="PublishedBy" Association="BooksModel.PublishedBy">
<End Role="Book" EntitySet="Books" />
<End Role="Publisher" EntitySet="Publishers" />
</AssociationSet>
<AssociationSet Name="WrittenBy" Association="BooksModel.WrittenBy">
<End Role="Book" EntitySet="Books" />
<End Role="Author" EntitySet="Authors" />
</AssociationSet>
</EntityContainer>
<EntityType Name="Book">
<Key>
<PropertyRef Name="ISBN" />
</Key>
<Property Type="String" Name="ISBN" Nullable="false" />
<Property Type="String" Name="Title" Nullable="false" />
<Property Type="Decimal" Name="Revision" Nullable="false" Precision="29" Scale="29" />
<NavigationProperty Name="Publisher" Relationship="BooksModel.PublishedBy"
FromRole="Book" ToRole="Publisher" />
<NavigationProperty Name="Authors" Relationship="BooksModel.WrittenBy"
FromRole="Book" ToRole="Author" />
</EntityType>
<EntityType Name="Publisher">
<Key>
<PropertyRef Name="Id" />
</Key>
<Property Type="Int32" Name="Id" Nullable="false" />
<Property Type="String" Name="Name" Nullable="false" />
<Property Type="String" Name="Address" Nullable="false" />
<NavigationProperty Name="Books" Relationship="BooksModel.PublishedBy"
FromRole="Publisher" ToRole="Book" />
</EntityType>
<EntityType Name="Author">
<Key>
<PropertyRef Name="Name" />
<PropertyRef Name="Address" />
</Key>
<Property Type="String" Name="Name" Nullable="false" />
<Property Type="String" Name="Address" Nullable="false" />
<NavigationProperty Name="Books" Relationship="BooksModel.WrittenBy"
FromRole="Author" ToRole="Book" />
</EntityType>
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
</Association>
<Association Name="WrittenBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Author" Role="Author" Multiplicity="*" />
</Association>
</Schema>
Události
Vytváření inteligentních aplikací
17. 3. 23 - 21. 3. 23
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatŠkolení
Modul
Design data models for Dynamics 365 solutions - Training
A data model workshop is part of Success by Design. This module will provide a basic description of data modeling for Microsoft Dynamics 365 and insight into how you can conduct a data model workshop.
Certifikace
Microsoft Certified: Základy dat Azure - Certifications
Předvedení základních znalostí základních konceptů dat souvisejících s datovými službami Microsoft Azure