Qu’est-ce que la modélisation ER ? Apprendre avec l'exemple

⚡ Résumé intelligent

La modélisation entité-relation est une approche graphique de la conception de bases de données qui représente les objets du monde réel sous forme d'entités, les décrit à l'aide d'attributs et capture la manière dont ils sont connectés par des relations, produisant ainsi un plan clair avant même la création des tables.

  • 🧩 Qu'est-ce que c'est: La modélisation ER est un modèle de données graphique de haut niveau qui définit les éléments de données et leurs relations.
  • 🇧🇷 Blocs de construction: Les entités représentent des choses du monde réel, les attributs décrivent leurs propriétés et les relations décrivent comment les entités interagissent.
  • 🔗 Cardinalité: Les relations sont de type un-à-un, un-à-plusieurs ou plusieurs-à-plusieurs, résolues par une entité de jonction.
  • 🚀 Modèle EER : Le modèle ER amélioré utilise la notation UML et des constructions supplémentaires pour les bases de données très complexes.
  • 🎬 Étude de cas MyFlix : Un exemple de vidéothèque représente les membres, les films, les catégories, les locations et les paiements sous forme de diagramme ER.
  • 🤖 Aide à l'IA : Les outils d'IA et GitHub Copilot transforment les descriptions en langage naturel en diagrammes ER et en schémas SQL.

Modélisation ER

Qu’est-ce que la modélisation ER ?

Modèle de relation d'entité (ER Modeling) est une approche graphique de la conception de bases de données. Il s'agit d'un modèle de données de haut niveau qui définit les éléments de données et leurs relations pour un système logiciel spécifié. Un modèle ER est utilisé pour représenter des objets du monde réel.

Une entité est un objet du monde réel qui se distingue de son environnement. Par exemple, chaque employé d'une organisation est une entité distincte. Voici quelques-unes des principales caractéristiques des entités.

  • Une entité possède un ensemble de propriétés.
  • Les propriétés d'entité peuvent avoir des valeurs.

Reprenons notre premier exemple. Un employé d'une organisation est une entité. Si « Pierre » est un programmeur (un employé) chez MicrosoftIl peut avoir des attributs (propriétés) comme son nom, son âge, son poids, sa taille, etc. Il est évident que ceux-ci ont des valeurs qui lui sont propres.

Chaque attribut peut avoir des valeurs. Dans la plupart des cas, un attribut possède une seule valeur. Cependant, il est possible qu'un attribut possède plusieurs valeurs. Par exemple, l'âge de Pierre possède une seule valeur, tandis que son attribut « numéros de téléphone » peut en posséder plusieurs.

Les entités peuvent avoir des relations entre elles. Prenons l'exemple le plus simple. Supposons que chaque Microsoft Un programmeur reçoit un ordinateur. Il est clair que l'ordinateur de Pierre est également une entité. Pierre utilise cet ordinateur, et Pierre utilise le même ordinateur. Autrement dit, il existe une relation réciproque entre Pierre et son ordinateur.

Dans la modélisation entité-relation, nous modélisons les entités, leurs attributs et les relations entre les entités.

Pourquoi utiliser un modèle ER ?

Maintenant, vous vous demandez peut-être pourquoi utiliser la modélisation ER alors que nous pouvons simplement créer la base de données et tous ses objets sans modélisation ER ? L’un des défis rencontrés lors de la conception d’une base de données réside dans le fait que les concepteurs, les développeurs et les utilisateurs finaux ont tendance à percevoir les données et leur utilisation différemment. Si cette situation n’est pas contrôlée, nous pouvons finir par produire un système de base de données qui ne répond pas aux exigences des utilisateurs.

Les outils de communication compris par toutes les parties prenantes (utilisateurs techniques et non techniques) sont essentiels à la conception de systèmes de bases de données répondant aux besoins des utilisateurs. Les modèles entité-relation en sont des exemples.

Les diagrammes ER augmentent également la productivité des utilisateurs, car ils peuvent être facilement traduits en tableaux relationnels.

Modèle de relation d'entité améliorée (EER)

Le modèle Entité-Relation Étendu (EER) est un modèle de données de haut niveau qui étend le modèle Entité-Relation (ER) original. Les modèles EER permettent une conception plus détaillée. La modélisation EER s'est imposée comme une solution pour la modélisation de bases de données très complexes.

EER utilise la notation UML. UML est l'acronyme de Langage de modélisation unifié; il s'agit d'un langage de modélisation à usage général utilisé lors de la conception de systèmes orientés objet. Les entités sont représentées sous forme de diagrammes de classes. Les relations sont représentées comme des associations entre entités. Le diagramme ci-dessous illustre un diagramme ER utilisant le notation UML.

Modèle de relation d'entité améliorée (EER)

Étude de cas : Diagramme ER de la vidéothèque « MyFlix »

Utilisons maintenant le système de base de données MyFlix Video Library pour mieux comprendre le concept des diagrammes ER. Nous utiliserons cette base de données pour tous les travaux pratiques de ce tutoriel.

MyFlix est une entité commerciale qui loue des films à ses membres. MyFlix a stocké ses enregistrements manuellement. La direction souhaite désormais passer à un SGBD.

Examinons les étapes de développement d'un diagramme EER pour cette base de données :

  1. Identifiez les entités et déterminez les relations qui existent entre elles.
  2. Chaque entité, attribut et relation doit avoir des noms appropriés et facilement compréhensibles même par des personnes non techniques.
  3. Les relations ne doivent pas être directement liées les unes aux autres. Les relations doivent relier les entités.
  4. Chaque attribut d'une entité donnée doit avoir un nom unique.

Entités de la bibliothèque « MyFlix »

Les entités à inclure dans notre diagramme ER sont:

  • Membres – cette entité conservera les informations relatives aux membres.
  • Films – cette entité contiendra des informations concernant les films.
  • Catégories – cette entité contiendra des informations qui classent les films dans différentes catégories telles que « Drame », « Action » et « Épique », etc.
  • Location de films – cette entité conservera les informations relatives aux films loués aux membres.
  • Paiements – cette entité conservera les informations relatives aux paiements effectués par les membres.

Définir les relations entre les entités

Membres et films

Ce qui suit est vrai en ce qui concerne les interactions entre les deux entités.

  • Un membre peut louer plus d'un film sur une période donnée.
  • Un film peut être loué par plusieurs membres au cours d'une période donnée.

D'après le scénario ci-dessus, la relation est de type plusieurs-à-plusieurs. Les bases de données relationnelles ne prennent pas en charge ce type de relation. Il est donc nécessaire d'introduire une entité de jonction. C'est le rôle joué par l'entité MovieRentals. Elle possède une relation un-à-plusieurs avec la table Members et une autre relation un-à-plusieurs avec la table Movies.

Entités Films et catégories

Ce qui suit est vrai pour les films et les catégories.

  • Un film ne peut appartenir qu'à une seule catégorie, mais une catégorie peut contenir plusieurs films.

Nous pouvons en déduire que la nature de la relation entre les tableaux des catégories et des films est de type un-à-plusieurs.

Membres et entités de paiement

Ce qui suit est vrai concernant les membres et les paiements.

  • Un membre ne peut avoir qu’un seul compte mais peut effectuer plusieurs paiements.

Nous pouvons en déduire que la nature de la relation entre les membres et les entités de paiement est de type un-à-plusieurs.

Créer le modèle EER à l'aide de MySQL Workbench

In MySQL Workbench, cliquez sur le bouton « + ».

Créer le modèle EER à l'aide de MySQL Workbench

Double Cliquez sur le bouton Ajouter un diagramme pour ouvrir l'espace de travail des diagrammes ER.

Ajouter un diagramme dans MySQL Workbench

La fenêtre suivante apparaît.

MySQL Environnement de modélisation EER de l'atelier

Regardons les deux objets avec lesquels nous allons travailler.

  • L'objet table outil de table nous permet de créer des entités et de définir les attributs associés à chaque entité.
  • La relation au lieu outil de relation de lieu Ce bouton nous permet de définir les relations entre les entités.

L'entité Membres aura les attributs suivants

  • Numéro de membre
  • Noms complets
  • Genre
  • Date de naissance
  • Adresse physique
  • Adresse postale

Créons maintenant la table des membres

1. Faites glisser l'objet tableau depuis le panneau d'outils.

2. Déposez-le dans la zone de travail. Une entité nommée table 1 apparaît.

3. Double Cliquez dessus. La fenêtre des propriétés ci-dessous apparaît.

Propriétés de la table des membres dans MySQL Workbench

Ensuite,

  1. Modifier le tableau 1 en Membres.
  2. Modifiez la valeur par défaut de idtable1 en membership_number.
  3. Cliquez sur la ligne suivante pour ajouter le champ suivant.
  4. Procédez de la même manière pour tous les attributs identifiés dans l'entité Membres.

Votre fenêtre de propriétés devrait maintenant ressembler à ceci.

Attributs de l'entité Membres définis

Répétez les étapes ci-dessus pour toutes les entités identifiées.

Votre espace de travail de diagramme devrait maintenant ressembler à celui illustré ci-dessous.

Entités MyFlix dans l'espace de travail du diagramme

Créons un lien entre les membres et les locations de films

  1. Sélectionnez la relation spatiale à l'aide de l'outil Colonnes existantes.
  2. Cliquez sur « membership_number » dans le tableau « Members ».
  3. Cliquez sur le numéro de référence dans le tableau MovieRentals.

Créer une relation entre les membres et MovieRentals

Répétez les étapes ci-dessus pour les autres relations. Votre diagramme ER devrait maintenant ressembler à ceci :

Diagramme ER MyFlix complété

FAQ

Un diagramme ER utilise trois éléments principaux : les entités (rectangles), les attributs (ovales) et les relations (losanges). Les attributs soulignés indiquent les clés primaires.

Les types d'attributs courants sont les attributs simples (atomiques), composites (divisibles), dérivés (calculés), multivalués (plusieurs valeurs) et les attributs clés qui identifient une entité.

La cardinalité définit le nombre d'instances d'une entité liées à une autre : relation un-à-un, un-à-plusieurs ou plusieurs-à-plusieurs. Une entité de jonction résout les liens plusieurs-à-plusieurs non pris en charge.

Une entité forte possède sa propre clé primaire et est autonome. Une entité faible ne possède pas de clé complète et dépend d'une entité propriétaire.

La notation en pattes de corbeau indique la cardinalité, les extrémités des lignes ressemblant à une patte d'oiseau. Les pointes indiquent le côté « plusieurs » ; les barres et les cercles indiquent le côté « un » et le côté optionnel.

Un modèle ER est une représentation visuelle de haut niveau des entités et de leurs relations. Le modèle relationnel l'implémente sous forme de tables, de lignes, de colonnes et de clés au sein d'un SGBD.

Les outils d'IA transforment les descriptions en langage naturel en diagrammes ER, suggèrent des entités et des relations, et génèrent des schémas SQL. Les concepteurs examinent et corrigent le résultat avant sa mise en œuvre.

Oui. Copilote GitHub Il propose des entités, des relations et des structures de tables, et génère le code SQL nécessaire à leur construction. Il peut également concevoir des diagrammes sous forme de code, comme Mermaid, qui se transforment en un diagramme ER.

Résumez cet article avec :