type d'association

Un type association (ou association) est le composant fondamental pour la description des relations dans le modèle EDM (Entity Data Model). Dans un modèle conceptuel, une association représente une relation entre deux types entité (comme Customer et Order). Dans une application, une instance d'une association représente une association spécifique (comme une association entre une instance de Customer et une instance d'Order). Les instances d’association sont regroupées logiquement dans un ensemble d’associations.

Une définition d'association contient les informations suivantes :

  • Nom unique. (Obligatoire)

  • Deux terminaisons d’association, une pour chaque type entité dans la relation. (Obligatoire)

    Notes

    Une association ne peut pas représenter de relation entre plus de deux types d'entité. Toutefois, une association peut définir une relation réciproque en spécifiant le même type d'entité pour chacune de ses terminaisons d'association.

  • Contrainte d’intégrité référentielle. (facultatif)

Chaque terminaison d’association doit spécifier une multiplicité de terminaison d’association, qui indique le nombre d’instances de type entité pouvant figurer à une terminaison de l’association. La multiplicité de terminaison d'association peut avoir une valeur égale à un (1), zéro ou un (0..1), ou plusieurs (*). Il est possible d’accéder aux instances de type entité au niveau d’une terminaison d’une association via des propriétés de navigation ou des clés étrangères, si elles sont exposées sur un type entité. Pour plus d’informations, consultez Entity Data Model : Clés étrangères.

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 (*), ce qui indique qu'un éditeur publie de nombreux livres et qu'un livre est publié par un seul éditeur.

Example model with three entity types

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>

Voir aussi