Qu'est-ce qu'un diagramme entité-association ?


Acquérez des connaissances de base sur les diagrammes et modèles entité-association, et découvrez leurs origines, usages, composants et limites, mais aussi des directives de création avec notre outil de création de diagrammes entité-association.

Qu'est-ce qu'un diagramme entité-association ?

Un diagramme entité-association est un type d'organigramme illustrant la façon dont des « entités » telles que des personnes, objets ou concepts sont liées les unes aux autres au sein d'un système. Les diagrammes entité-association sont généralement utilisés pour concevoir ou déboguer des bases de données relationnelles dans le domaine de l'ingénierie informatique, des systèmes d'information d'entreprise, de l'éducation et de la recherche. Appelés ERD en anglais, ils utilisent une série de symboles prédéfinis tels que des rectangles, losanges et ovales reliés par des lignes pour décrire les interconnexions entre les entités, leurs relations et leurs attributs. Ils imitent une structure grammaticale, où les entités sont des noms et les relations des verbes.

Exemple de diagramme entité-association

Les diagrammes entité-association sont apparentés aux diagrammes de structure de données (DSD), qui se focalisent sur les relations entre des éléments à l'intérieur d'une entité et non pas sur les relations entre les entités. Les diagrammes entité-association sont également souvent utilisés conjointement à des diagrammes de flux de données (DFD), qui schématisent les flux d'information au sein de processus ou systèmes.

Historique des modèles entité-association

Peter Chen (ou Peter Pin-Shan Chen), actuellement professeur à la Carnegie-Mellon University de Pittsburgh, a développé les modèles entité-association pour la conception de bases de données dans les années 1970. Alors qu'il travaillait comme professeur assistant à la Sloan School of Management du MIT, il a publié en 1976 un article précurseur intitulé « The Entity-Relationship Model: Toward a Unified View of Data » (Le modèle entité-association : vers une vision unifiée des données).

Plus largement, la description des interconnexions entre des éléments date de la Grèce antique, avec les écrits d'Aristote, Socrate et Platon. Plus récemment, on trouve ces idées chez des philosophes logiciens des 19e et 20e siècles tels que Charles Sanders Peirce ou Gottlob Frege.

Dans les années 1960 et 1970, Charles Bachman (photo) et A.P.G. Brown travaillaient avec des méthodes peu éloignées de l'approche de Chen. Bachman développa un type de diagramme de structure de données que l'on a nommé diagramme de Bachman. Brown a publié plusieurs ouvrages sur la modélisation des systèmes réels. Par la suite, James Martin a affiné les diagrammes entité-association. Les travaux de Chen, Bachman, Brown, Martin et d'autres ont également contribué au développement au langage de modélisation unifié (Unified Modeling Language, UML), aujourd'hui très utilisé dans la conception de logiciels.     

Usages des diagrammes entité-association

  • Conception de bases de données : les diagrammes entité-association sont utilisés pour modéliser et concevoir des bases de données relationnelles. Ils permettent de définir la logique et les règles métier à utiliser (dans un modèle de données logiques) ou les technologies spécifiques à employer (dans un modèle de données physiques). Dans l'ingénierie logicielle, un diagramme entité-association est souvent l'étape initiale pour déterminer les prérequis d'un projet informatique. Il peut aussi être utilisé plus tard pour modéliser une ou plusieurs bases de données en particulier. Une base de données relationnelle est associée à une table relationnelle équivalente et peut potentiellement être exprimée de cette façon le cas échéant.
  • Résolution de problèmes de bases de données : les diagrammes entité-association sont utilisés pour analyser une base de données afin de localiser et résoudre des problèmes de logique ou de déploiement. L'établissement d'un diagramme permet de révéler où se situe le problème.
  • Systèmes d'information d'entreprise : les diagrammes sont utilisés pour concevoir ou analyser des bases de données relationnelles utilisées dans des processus métier. Tout processus métier employant des données comprenant des entités, des actions et des interactions peut être amélioré grâce à une base de données relationnelle. Cela permet de simplifier les processus, de trouver des informations plus facilement et d'améliorer les résultats.
  • Réingénierie des processus métier : les diagrammes entité-association facilitent l'analyse des bases de données utilisées dans la réingénierie des processus métier et la modélisation de nouvelles configurations de bases de données.
  • Enseignement : les bases de données sont une méthode moderne pour stocker des informations relationnelles pour l'enseignement et les utiliser plus tard. Les diagrammes entité-association peuvent donc être précieux pour planifier ces structures de données.
  • Recherche : une grande partie de la recherche portant sur des données structurées, les diagrammes entité-association peuvent jouer un rôle important dans la mise en place de bases de données utiles pour analyser ces données.

Éléments et fonctionnalités d'un diagramme entité-association

Les diagrammes entité-association sont composés d'entités, de relations et d'attributs. Ils décrivent aussi la cardinalité, qui définit les relations en termes de chiffres. Voici un glossaire :

Entité

Élément définissable, par exemple une personne, un objet, un concept ou un événement, à propos duquel il est possible de stocker des données. Voyez les entités comme les noms dans une phrase. Exemples : un client, un étudiant, une voiture ou un produit. Une entité est généralement représentée sous la forme d'un rectangle.

Type d'entité : groupe d'éléments définissables, par exemple des étudiants ou des athlètes. L'entité serait dans ce cas un étudiant ou un athlète en particulier. Autres exemples : des clients, des voitures ou des produits.

Ensemble d'entités : identique au type d'entité, mais défini à un moment précis dans le temps, par exemple des étudiants inscrits à un cours le premier jour. Autres exemples : clients qui ont effectué un achat le mois dernier, voitures actuellement immatriculées en France. Le terme « instance » est lié au concept d'ensemble d'entités. Une instance de l'ensemble d'entités serait ainsi une personne ou une voiture en particulier.

Catégories d'entités : les entités sont catégorisées comme étant fortes, faibles ou associatives. Une entité forte peut être définie uniquement par ses propres attributs, alors qu'une entité faible ne peut pas l'être. Une entité associative associe des entités (ou des éléments) au sein d'un ensemble d'entités. 

Clés d'entité : ce terme fait référence à un attribut qui définit de façon unique une entité ou un ensemble d'entités. Les clés d'entités peuvent être supérieures, candidates ou primaires. Clé supérieure : ensemble d'attributs (un ou plusieurs) qui définissent ensemble une entité au sein d'un ensemble d'entités. Clé candidate : clé supérieure minimale, c'est-à-dire qu'elle a le plus petit nombre possible d'attributs pour demeurer une clé supérieure. Un ensemble d'entités peut avoir plus d'une clé candidate. Clé primaire : clé candidate choisie par le concepteur de la base de données pour identifier de façon unique l'ensemble d'entités. Clé étrangère : identifie la relation entre des entités.

Association

Une association correspond à la façon dont des entités agissent l'une sur l'autre ou sont associées l'une avec l'autre. Voyez les associations (ou relations) comme les verbes dans une phrase. Par exemple, l'étudiant désigné peut s'inscrire à un cours. Les deux entités sont l'étudiant et le cours, et la relation décrite est l'acte de s'inscrire, qui relie ainsi les deux entités. Les associations sont généralement symbolisées par des losanges ou des étiquettes directement sur les lignes de connexion.

Relation récursive : la même entité intervient plus d'une fois dans la relation.

Attribut

Propriété ou caractéristique d'une entité. Un attribut est généralement représenté sous la forme d'un ovale ou d'un cercle.

Attribut descriptif : propriété ou caractéristique d'une relation (et non pas d'une entité).

Catégories d'attributs : les attributs peuvent être simples, composites, dérivés, mais aussi mono-valeur ou multi-valeurs. Simple : signifie que la valeur de l'attribut est atomique et ne peut donc pas être décomposée. Exemple : un numéro de téléphone. Composite : des sous-attributs émanent d'un attribut. Dérivé : l'attribut est calculé ou dérivé à partir d'un autre attribut. Exemple : l'âge en fonction d'une date de naissance.

Multi-valeurs : plus d'une valeur est indiquée pour l'attribut, par exemple plusieurs numéros de téléphone pour une personne.

Mono-valeur : seulement une valeur d'attribut. Les différents types d'attributs peuvent être combinés, pour donner par exemple des attributs simples mono-valeur ou des attributs composites multi-valeurs.

Cardinalité

La cardinalité définit les attributs numériques d'une relation entre deux entités ou ensembles d'entités. Les trois principaux types de relations cardinales sont un à un, un à plusieurs et plusieurs à plusieurs. Exemple de relation un à un : un étudiant associé à une adresse postale. Exemple de relation un à plusieurs (ou plusieurs à un, en fonction de la direction de la relation) : un étudiant s'inscrit à plusieurs cours, cours qui sont reliés par une ligne unique à l'étudiant. Exemple de relation plusieurs à plusieurs : un groupe d'étudiants est associé à plusieurs professeurs et inversement, les professeurs sont associés à plusieurs étudiants.

Affichage de la cardinalité : la cardinalité peut être représentée de différentes façons, en fonction de l'endroit où sont affichés les symboles.

Contraintes de cardinalité : valeurs minimales ou maximales qui s'appliquent à une relation.

Schématiser le langage naturel

Les éléments entité-association peuvent être assimilés à des éléments du langage, comme Peter Chen l'a fait. Voici comment un diagramme entité-association peut être assimilé à un schéma grammatical :

  • Nom commun : le type d'entité. Exemple : un étudiant.
  • Nom propre : l'entité. Exemple : Sylvie Dubois.
  • Verbe : le type de relation. Exemple : s'inscrire. (Par exemple à un cours, qui serait un autre type d'entité.)
  • Adjectif : l'attribut d'une entité. Exemple : en deuxième année.
  • Adverbe : l'attribut d'une relation. Exemple : numériquement.

ERROL, un langage de requête pour les bases de données, imite les structures naturelles du langage. ERROL est basé sur l'algèbre relationnelle (reshaped relational algebra, RRA) et fonctionne avec des modèles entité-association en conservant leurs aspects linguistiques.

Symboles et nomenclature des diagrammes entité-association

Il existe plusieurs systèmes de notation similaires, mais dont certains détails diffèrent.

Notation de Chen

Style patte de corbeau/Martin/ingénierie de l'information

Style Bachman

Style IDEF1X

Style Barker

 

Exemples

Voici des exemples de diagrammes entité-association utilisant chacun de ces styles.

Modèles de données conceptuelles, logiques et physiques

Les modèles entité-association et les modèles de données sont généralement représentés avec trois niveaux de détail au maximum :

  • Modèle de données conceptuelles : vue la plus générale, comprenant le moins de détails. L'intérêt est ici de montrer le modèle dans son ensemble et de représenter l'architecture du système. Pour un système de petite taille, il n'est pas forcément justifié d'en créer un. Commencez plutôt avec le modèle logique.
  • Modèle de données logiques : contient plus de détails que le modèle conceptuel. Des entités opérationnelles et transactionnelles plus détaillées sont définies. Le modèle logique est indépendant de la technologie pour laquelle il est créé.
  • Modèle de données physiques : il est possible de créer un ou plusieurs modèles physiques d'après un modèle logique. Les modèles physiques doivent représenter suffisamment de détails technologiques pour permettre de produire et mettre en œuvre la base de données correspondante.

Des niveaux comparables de détail et de périmètre existent pour d'autres types de diagrammes, par exemple les diagrammes de flux de données, mais ils se distinguent de l'approche à trois schémas de l'ingénierie logicielle, qui répartit l'information un peu différemment. Les ingénieurs détaillent parfois les diagrammes entité-association en leur ajoutant des hiérarchies afin d'inclure les niveaux d'information nécessaires à la conception d'une base de données. Par exemple, ils peuvent ajouter des regroupements sous forme de superclasses ou des divisions supplémentaires sous forme de sous-classes.

Limites des diagrammes entité-association

  • Uniquement pour les données relationnelles : l'objectif est de représenter des relations. Les diagrammes entité-association ne montrent que cette structure relationnelle.
  • Ne convient pas pour les données non structurées : si les données ne sont pas clairement réparties en différents champs, lignes ou colonnes, les diagrammes entité-association seront d'une utilité limitée. Cela vaut également pour les données semi-structurées, car seulement une partie des données serait utile.
  • Difficulté d'intégration à une base de données existante : l'utilisation de modèles entité-association pour créer des intégrations à une base de données existante peut être difficile en raison d'architectures différentes.

Comment dessiner un diagramme entité-association simple

  1. Objectif et périmètre : définissez l'objectif et le périmètre de ce que vous voulez analyser ou modéliser.

  2. Entités : identifiez les entités concernées. Lorsque vous êtes prêt, commencez à les dessiner dans des rectangles (ou une autre forme en fonction du système choisi) et à les étiqueter en tant que noms.

  3. Relations : déterminez de quelle façon les entités sont reliées les unes aux autres. Dessinez des lignes entre elles pour représenter les relations et étiquetez-les. Certaines entités peuvent très bien ne pas être reliées. Selon les différents types de notation, la relation peut être indiquée dans un losange, un autre rectangle ou directement sur la ligne de liaison.

  4. Attributs : ajoutez plus de détails en incorporant les principaux attributs des entités. Les attributs sont souvent représentés par des ovales.

  5. Cardinalité : indiquez si les relations sont de type un à un, un à plusieurs ou plusieurs à plusieurs.

 

Astuces supplémentaires pour les diagrammes entité-association

  1. Montrez le niveau de détail nécessaire pour votre objectif. Vous aurez besoin d'un modèle conceptuel, logique ou physique en fonction du niveau de détail nécessaire. (Voyez ci-dessus pour des descriptions de ces niveaux)

  2. Repérez les entités ou relations redondantes.

  3. Si vous cherchez à résoudre un problème lié à une base de données, essayez de repérer les trous dans les relations et les entités ou attributs manquants.

  4. Assurez-vous que toutes vos entités et relations sont étiquetées.

  5. Vous pouvez transférer votre diagramme entité-relation vers une table relationnelle et inversement à plusieurs reprises, si cela peut vous aider à atteindre votre objectif.

  6. Assurez-vous que votre diagramme entité-association est compatible avec toutes les données que vous voulez stocker.

  7. Il peut y avoir plusieurs approches valides pour un même diagramme entité-association. Tant que votre diagramme fournit toutes les informations nécessaires correspondant à son périmètre et son objectif, il est valable.

AB Test