Modelo de Dados de EntidadeEntity Data Model

O EDM (Modelo de Dados de Entidade) é um conjunto de conceitos que descrevem a estrutura de dados, independentemente do formato armazenado.The Entity Data Model (EDM) is a set of concepts that describe the structure of data, regardless of its stored form. O EDM pede emprestado o modelo de relacionamento entre entidades descrito por Peter Chen em 1976, mas também cria a partir desse modelo e estende seus usos tradicionais.The EDM borrows from the Entity-Relationship Model described by Peter Chen in 1976, but it also builds on the Entity-Relationship Model and extends its traditional uses.

O EDM resolve os desafios que ocorrem de ter dados armazenados em vários formatos.The EDM addresses the challenges that arise from having data stored in many forms. Por exemplo, considere um negócio que armazena dados em bancos de dados relacionais, arquivos de texto, arquivos XML, planilhas e relatórios.For example, consider a business that stores data in relational databases, text files, XML files, spreadsheets, and reports. Isso representa desafios significativos na modelagem, na criação de aplicativos e no acesso a dados.This presents significant challenges in data modeling, application design, and data access. Ao criar um aplicativo orientado a dados, o desafio é escrever código eficiente e sustentável sem sacrificar o acesso eficiente a dados, o armazenamento e a escalabilidade.When designing a data-oriented application, the challenge is to write efficient and maintainable code without sacrificing efficient data access, storage, and scalability. Quando os dados têm uma estrutura relacional, o acesso a dados, o armazenamento e a escalabilidade são muito eficientes, mas a escrita de código eficiente e sustentável torna-se mais difícil.When data has a relational structure, data access, storage, and scalability are very efficient, but writing efficient and maintainable code becomes more difficult. Quando os dados têm uma estrutura de objeto, os conflitos são inversos: escrever código eficiente e sustentável sacrifica o acesso a dados eficiente, o armazenamento e a escalabilidade.When data has an object structure, the trade-offs are reversed: Writing efficient and maintainable code comes at the cost of efficient data access, storage, and scalability. Mesmo que o equilíbrio correto entre esses conflitos seja encontrado, novos desafios surgem quando os dados são movidos de um formato para outro.Even if the right balance between these trade-offs can be found, new challenges arise when data is moved from one form to another. O Modelo de Dados de Entidade resolve esses desafios descrevendo a estrutura dos dados em termos de entidades e relacionamentos que são independentes de qualquer esquema de armazenamento.The Entity Data Model addresses these challenges by describing the structure of data in terms of entities and relationships that are independent of any storage schema. Isso torna o formato de dados armazenado de dados irrelevante para a criação e o desenvolvimento de aplicativos.This makes the stored form of data irrelevant to application design and development. E, como as entidades e os relacionamentos descrevem a estrutura de dados como é usada em um aplicativo (não o formato armazenado), eles podem evoluir junto com o aplicativo.And, because entities and relationships describe the structure of data as it is used in an application (not its stored form), they can evolve as an application evolves.

Um conceptual model é uma representação específica da estrutura de dados como entidades e relações, e é definido geralmente em um DSL (linguagem específica do domínio) que implementa os conceitos do EDM.A conceptual model is a specific representation of the structure of data as entities and relationships, and is generally defined in a domain-specific language (DSL) that implements the concepts of the EDM. O CSDL (linguagem de definição de esquema conceitual) é um exemplo de tal linguagem específica de domínio.Conceptual schema definition language (CSDL) is an example of such a domain-specific language. Entidades e relacionamentos descritos em um modelo conceitual podem ser consideradas abstrações de objetos e associações em um aplicativo.Entities and relationships described in a conceptual model can be thought of as abstractions of objects and associations in an application. Isso permite que os desenvolvedores concentrem-se no modelo conceitual sem se preocuparem com o esquema de armazenamento, e permite que eles escrevam o código pensando em eficiência e facilidade de manutenção.This allows developers to focus on the conceptual model without concern for the storage schema, and allows them to write code with efficiency and maintainability in mind. Enquanto isso, os designers de esquema de armazenamento podem se concentrar na eficiência de acesso a dados, armazenamento e escalabilidade.Meanwhile storage schema designers can focus on the efficiency of data access, storage, and scalability.

Nesta seçãoIn This Section

Os tópicos nesta seção descrevem os conceitos do Modelo de Dados de Entidade.Topics in this section describe the concepts of the Entity Data Model. Qualquer DSL que implemente o EDM deve incluir os conceitos descritos aqui.Any DSL that implements the EDM should include the concepts described here. Observe que o Entity Framework ADO.net usa CSDL para definir modelos conceituais.Note that the ADO.NET Entity Framework uses CSDL to define conceptual models. Para obter mais informações, consulte especificação CSDL.For more information, see CSDL Specification.

Conceitos chave do Modelo de Dados de EntidadeEntity Data Model Key Concepts

Modelo de Dados de Entidade: NamespacesEntity Data Model: Namespaces

Modelo de Dados de Entidade: Tipos de dados primitivosEntity Data Model: Primitive Data Types

Modelo de Dados de Entidade: HerançaEntity Data Model: Inheritance

extremidade de associaçãoassociation end

multiplicidade da extremidade da associaçãoassociation end multiplicity

conjunto de associaçõesassociation set

extremidade do conjunto de associaçãoassociation set end

tipo de associaçãoassociation type

tipo complexocomplex type

contêiner da entidadeentity container

chave de entidadeentity key

conjunto de entidadesentity set

tipo de entidadeentity type

particularfacet

propriedade de chave estrangeiraforeign key property

função declarada por modelomodel-declared function

função definida por modelomodel-defined function

propriedade de navegaçãonavigation property

propertyproperty

restrição de integridade referencialreferential integrity constraint

Veja tambémSee also