multiplicidade da extremidade da associação
A multiplicidade de extremidades da associação define o número de instâncias de tipo de entidade que podem estar em uma extremidade de uma associação.
Uma multiplicidade do final da associação pode ter um dos seguintes valores:
um (1): Indica que exatamente uma instância do tipo de entidade existe no final da associação.
zero ou um 0..1 (:) Indica que essa instâncias de zero ou mais tipos de entidade existem no final da associação.
muitos (*): Indica que zero, uma, ou mais instâncias do tipo de entidade existem no final da associação.
Uma associação é caracterizada frequentemente pelos multiplicities final da associação. Por exemplo, se as extremidades de uma associação têm um multiplicities (1) e muitos (*), a associação é chamada de um para muitos associação. No exemplo abaixo, a associação de PublishedBy
é um para muitos associação (um editor publica muitos livros e um livro é publicado por um editor). A associação de WrittenBy
é um muitos para muitos associação (um livro pode ter vários autores e um autor pode escrever diversos livros).
Exemplo
O diagrama a seguir mostra um modelo conceitual com duas associações: PublishedBy
e WrittenBy
. Terminar a associação para associação de PublishedBy
são os tipos de entidade de Book
e de Publisher
. A multiplicidade do final de Publisher
é um (1) e a multiplicidade do final de Book
é muitas (*).
O Entity Framework do ADO.NET usa uma DSL (linguagem específica de domínio) chamada CSDL (linguagem de definição de esquema conceitual) para definir modelos conceituais. CSDL seguir define a associação de PublishedBy
mostrada no diagrama anterior:
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
</Association>