preloader

III.1 Concepts de base

I.1.1        Entité

Une entité est une population d’individus homogène. Par exemple, les produits ou les articles vendus par une entreprise peuvent être regroupés dans une même entité articles (figure 1), car d’un article à l’autre, les informations ne changent pas de nature (à chaque fois, il s’agit de la désignation, du prix unitaire, etc.).

Par contre, les articles et les clients ne peuvent pas être regroupés : leurs informations ne sont pas homogènes (un article ne possède pas d’adresse et un client ne possède pas de prix unitaire). Il faut donc leur réserver deux entités distinctes : l’entité articles et l’entité clients.

I.1.2        Association

Une association est une liaison qui a une signification précise entre plusieurs entités. Dans notre exemple, l’association commander est une liaison évidente entre les entités articles et clients, tandis que l’association livrer établit le lien sémantique entre les entités articles et fournisseurs.

Remarquons que dans ce schéma, les entités clients et fournisseurs ne sont pas liées directement, mais indirectement, via l’entité articles, ce qui est assez naturel.

Par abus de langage, on utilise souvent le mot association en lieu et place du mot type association, il faut cependant prendre garde à ne pas confondre les deux concepts.

participant les types entité intervenant dans un type association sont appelés les participants de ce type association.

collection l’ensemble des participants d’un type association est appelé la collection de ce type association.

Cette collection comporte au moins un type entité, mais elle peut en contenir plus, on parle alors de type association n-aire (quand n=2 on parle de type association binaire, quand n=3 de type association ternaire…).

dimension ou arité d’un type association La dimension, ou l’arité d’un type association est le nombre de type entité contenu dans la collection.

Comme un type entité, un type association possède forcément un identifiant, qu’il soit explicite ou non.

La concaténation des identifiants des types entité liés à un type association constitue un identifiant de ce type association et cet identifiant n’est pas mentionné sur le modèle (il est implicite).

Cette règle implique que deux instances d’un même type association ne peuvent lier un même ensemble d’entités.

Souvent, un sous-ensemble de la concaténation des identifiants des types entité liés suffit à identifier le type association. On admet également un identifiant plus naturel et explicite, à condition qu’il ne soit qu’un moyen d’exprimer plus simplement cette concaténation.

I.1.3        Attribut

Également, le terme attribut est l’équivalent, dans le vocabulaire des BDD, d’une colonne. C’est une caractéristique associée à un type-entité ou à un type-association.

Exemples : le nom d’une personne, le titre d’une livre, la puissance d’une voiture.

Au niveau du type-entité ou du type-association, chaque attribut possède un domaine qui définit l’ensemble des valeurs possibles qui peuvent être choisies pour lui (entier, chaîne de caractères, booléen, . . .). Au niveau de l’entité, chaque attribut possède une valeur compatible avec son domaine.

Un attribut est une donnée élémentaire, ce qui exclut des données calculées ou dérivées. Toujours dans notre exemple, le prix unitaire est un attribut de l’entité articles, le nom de famille est un attribut de l’entité clients, la quantité commandée est un attribut de l’association commander et la date de livraison est un attribut de l’association livrer.

I.1.4        Identifiant ou clé

 Un identifiant (ou clé) d’un type entité ou d’un type association est constitué par un ou plusieurs de ses attributs qui doivent avoir une valeur unique pour chaque entité ou association de ce type.

Il est donc impossible que les attributs constituant l’identifiant d’un type entité (respectivement type association) prennent la même valeur pour deux entités (respectivement deux associations) distinctes.

Exemples d’identifiant : le numéro de sécurité sociale pour une personne, le numéro d’immatriculation pour une voiture, le code ISBN d’un livre pour un livre (mais pas pour un exemplaire). Chaque type entité possède au moins un identifiant, éventuellement formé de plusieurs attributs. Ainsi, chaque type entité possède au moins un attribut qui, s’il est seul, est donc forcément l’identifiant. Dans la représentation graphique, les attributs qui constituent l’identifiant sont soulignés et placés en tête 

I.1.5        Cardinalité

La cardinalité d’un lien entre une entité et une association précise le minimum et le maximum de fois

qu’un individu de l’entité peut être concerné par l’association.

Une cardinalité minimale est toujours 0 ou 1 (et pas 2, 3 ou n) et une cardinalité maximale est toujours 1 ou n (et pas 2, 3…).

Exemple : un client a au moins commandé un article et peut commander n articles (n étant indéterminé), tandis qu’un article peut avoir été commandé entre 0 et n fois (même si ce n’est pas le même n que précédemment). On obtient alors le schéma entités-associations complet (figure ).


Une cardinalité minimale de 1 doit se justifier par le fait que les individus de l’entité en question ont besoin de l’association pour exister (un client n’existe pas avant d’avoir commandé quoi que ce soit, donc la cardinalité minimale de l’entité clients dans l’association commander est 1). Dans tous les autres cas, la cardinalité minimale vaut 0 (c’est le cas pour une liste préétablie d’articles, par exemple).

Ceci dit, la discussion autour d’une cardinalité minimale 0 ou 1 n’est vraiment intéressante que lorsque la cardinalité maximale est 1. Nous verrons en effet lors de la traduction vers un schéma relationnel (section « Traduction d’un MCD en un MLDR »), que lorsque la cardinalité maximale est n, nous ne pouvons pas faire la différence entre une cardinalité minimale de 0 et une cardinalité minimale de 1.

Notons que sur notre exemple, un article peut être commandé par plusieurs clients. Cela provient du fait que tous les crayons rouges ne sont pas numérotés individuellement, mais portent un numéro d’article collectif. En toute rigueur, notre entité articles aurait du s’appeler types d’article. Ainsi, un crayon rouge peut être commandé par plusieurs clients, ce n’est simplement pas le même crayon à chaque fois. Il s’agit d’un choix de modélisation, le lecteur peut très légitimement faire le choix inverse qui consiste à numéroter individuellement chaque crayon rouge.

La seule difficulté pour établir correctement les cardinalités est de se poser les questions dans le bon sens. Autour de l’association commander, par exemple :

  • côté clients, la question est « un client peut commander combien d’articles ? » et la réponse est « entre 1 et plusieurs » ;
  • côté articles, la question est « un article peut être commandé par combien de clients ? » et cette fois-ci, la réponse est « entre 0 et plusieurs ».