preloader

III.2 Types d’associations - tachicart

On distingue trois catégories d’associations en fonction des cardinalités maximales de ses branches:

  • les associations hiérarchiques encore appelées associations [1, n] ou associations fonctionnelles
  • les associations non hiérarchiques, encore appelées associations [n, n] ou non fonctionnelles
  • les association [1, 1], les 2 branches ont pour cardinalité maximale 1. Ce cas est rare.

I.1.1        Les associations binaires hiérarchiques [1,n]

Ce sont les associations où d’un côté la cardinalité maximale est à 1 et de l’autre côté la cardinalité maximale est à n.

Cela signifie qu’une occurrence de A est reliée au plus à une seule occurrence de B. C’est-à-dire si on connaît une occurrence de A alors on saura forcément quelle est la seule occurrence de B qui correspond (si elle existe). On dit que A détermine B. C’est un lien de dépendance fonctionnelle. B dépend fonctionnellement de A.

L’entité qui correspond à la branche du côté du 1 est parfois appelée entité fils et l’entité correspondant à la branche du côté n est parfois appelée entité père. Cette appellation découle de l’analogie : un fils n’a qu’un seul père, et un père peut avoir plusieurs fils.

Ce type d’association n’a jamais de propriété portée. Si vous êtes tentés de mettre une propriété à l’intérieur de l’association, c’est soit que vos cardinalités sont fausses, soit que la propriété devrait être dans une des entités. Le lien qui associe l’entité fils à l’entité père est de même nature que le lien qui lie les propriétés à l’entité fils. C’est une dépendance fonctionnelle. On dit que l’entité Père est en dépendance fonctionnelle de l’entité fils.

I.1.2        Les associations binaires non-hiérarchiques [n,n]

Lorsque les cardinalités maximales de chaque côté des associations sont supérieures à 1, l’association est dite non-hiérarchique car la connaissance d’une occurrence d’une entité ne permet pas de connaître une mais plusieurs occurrence d’une autre entité.

I.1.3 Les associations binaires de type [1, 1]

C’est un cas exceptionnel.

I.1.4        Associations plurielles (non-binaire)

Deux mêmes entités peuvent être plusieurs fois en association.

Dans cet exemple issu d’une agence immobilière, une personne peut être propriétaire, résider principalement ou résider secondairement dans un logement géré par l’agence. Les logements qui ne sont pas gérés par l’agence ne figurent pas dans l’entité des logements, ce qui explique certaines cardinalités 0 du schéma. Nous supposons également qu’un logement n’est détenu que par une seule personne et que ce propriétaire figure obligatoirement dans l’entité des personnes.

Il est permis à une association d’être branchée plusieurs fois à la même entité, comme l’association binaire réflexive de la figure suivante:

Dans cet exemple, tout employé est dirigé par un autre employé (sauf le directeur général) et un employé peut diriger plusieurs autres employés, ce qui explique les cardinalités sur le schema.

I.1.5        Association reflexive (non-binaire)

Il est permis à une association d’être branchée plusieurs fois à la même entité, comme l’association binaire réflexive de la figure suivante:

Dans cet exemple, tout employé est dirigé par un autre employé (sauf le directeur général) et un employé peut diriger plusieurs autres employés, ce qui explique les cardinalités sur le schema.

I.1.6        Associations n-aires (dimension d’une association)

La dimension d’une association est le nombre d’entités qu’elle relie. Pour l’instant nous avons vu :

  • les associations binaires : ce sont les associations qui relient deux entités. Elles sont donc de dimension 2.
  • les associations reflexives (ou “unaires”) : ce sont les associations reliant une entité à elle même. Elles sont donc de dimension 1

De manière générale, MERISE autorise des associations de dimension quelconque. Un modèle conceptuel peut donc contenir des associations de dimension supérieure à deux.

Pour alléger la rédaction, nous utiliseront le terme d’association n-aire pour qualifier une association de dimension supérieure ou égale à trois, bien que ce terme puisse également désigner de manière générale une association binaire (2-aire) ou réflexive (1-aire).

Une association peut relier plus de 2 entités ensemble, le plus souvent trois. On parle alors d’association ternaire. On utilise une association ternaire quand on a besoin de connaître une occurrence de chaque entité pour avoir une information.

Exemple :

Vous remarquerez que les cardinalités maximales valent tous n. Ceci est obligatoire dans une association n-aire.

Cela vient du fait que les cardinalités d’une association n-aire n’ont pas la même signification que les cardinalités d’une association binaire ou réflexive. Dans une association n-aire, il faut imaginer que l’association est en fait une entité reliée à n autres entités par des associations de type [1,n].

Dans l’exemple précédent, il n’y avait que des cardinalités [1,n]. Voici, une autre exemple dans lequel figure une cardinalité [0,n] :

Ce schéma concerne la gestion d’un cinéma. On peut imaginer qu’un film soit enregistré dans la base de donnée, mais ne soit encore prévu pour aucune projection, d’où la cardinalité minimale 0 entre l’entité film et l’association projection.