Multiplicité de terminaison d'association (Entity Data Model)
La multiplicité de terminaison d'association définit le nombre d'instances de type d'entité qui peuvent figurer au niveau d'une terminaison d'une association.
La multiplicité de terminaison d'association peut avoir l'une des valeurs suivantes :
Un (1) : indique qu'il existe exactement une instance de type d'entité au niveau de la terminaison d'association.
Zéro ou un (0..1) : indique qu'il existe zéro ou une instance de type d'entité au niveau de la terminaison d'association.
Plusieurs (*) : indique qu'il existe zéro, une ou plusieurs instances de type d'entité au niveau de la terminaison d'association.
Une association est souvent caractérisée par ses multiplicités de terminaison d'association. Par exemple, si les terminaisons d'une association ont les multiplicités un (1) et plusieurs (*), l'association est appelée « association un-à-plusieurs ». Dans l'exemple ci-dessous, l'association PublishedBy est une association un-à-plusieurs (un éditeur publie de nombreux livres, et un livre est publié par un seul éditeur). L'association WrittenBy est une association plusieurs-à-plusieurs (un livre peut avoir plusieurs auteurs, et un auteur peut écrire plusieurs livres).
Exemple
Le diagramme suivant montre un modèle conceptuel avec deux associations : PublishedBy et WrittenBy. Les terminaisons d'association pour l'association PublishedBy sont les types d'entité Book et Publisher. La multiplicité de la terminaison Publisher est un (1) et celle de la terminaison Book est plusieurs (*).
ADO.NET Entity Framework utilise un langage spécifique à un domaine (DSL), appelé CSDL (Conceptual Schema Definition Language), pour définir des modèles conceptuels. Le CSDL suivant définit l'association PublishedBy présentée dans le diagramme ci-dessus :
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
</Association>