Aller au contenu

Le modèle Entité-association

Avant de créer une base de données, il est essentiel de comprendre ce que l’on veut représenter : les objets, leurs caractéristiques et les liens entre eux.

Le modèle entité-association (EA) (parfois aussi appelé entité-relation) est un outil graphique et conceptuel qui permet de décrire la structure d’une base de données avant sa création technique.

On l’utilise pour :

  • organiser l’information,
  • éviter les oublis et les incohérences,
  • faciliter la communication entre programmeurs, analystes et utilisateurs.

Pour bien utiliser ce modèle, il faut maîtriser quelques termes de base.

🌍 Domaine d’application

Le domaine d’application correspond au contexte réel que l’on souhaite modéliser.

👉 C’est le « monde » que la base de données va représenter.

Exemples :

  • Une école (étudiants, cours, enseignants)
  • Une bibliothèque (livres, abonnés, emprunts)
  • Une boutique en ligne (clients, produits, commandes)

Avant de créer une base de données, on doit clairement identifier ce domaine pour savoir quelles informations sont importantes.

🧩 Entité

Une entité est un objet ou un concept du domaine d’application que l’on veut mémoriser dans la base de données.

👉 Une entité représente quelque chose d’unique et identifiable.

Exemples :

  • Un étudiant
  • Un livre
  • Un client
  • Un cours

Chaque entité correspond généralement à un objet réel ou logique.

🏷️ Attribut

Un attribut est une caractéristique d’une entité.

👉 Il permet de décrire une entité avec des informations précises.

Exemple : entité Étudiant

  • Numéro d’étudiant
  • Nom
  • Prénom
  • Date de naissance
  • Programme d'études

Chaque attribut possède une valeur pour chaque entité.

📦 Classe d’entités

Une classe d’entités est un ensemble d’entités de même nature qui partagent les mêmes attributs.

👉 C’est le « type » d’entité.

Exemples :

  • Tous les étudiants forment la classe d’entités Étudiant
  • Tous les livres forment la classe d’entités Livre
  • Tous les clients forment la classe d’entités Client

Dans une base de données, une classe d’entités correspond souvent à une table (un tableau de données).

🔗 Relation

Une relation décrit le lien entre deux ou plusieurs classes d’entités.

👉 Elle explique comment les entités interagissent entre elles.

Exemples :

  • Un étudiant s’inscrit à un cours.
  • Un client soumet une commande.
  • Un abonné emprunte un livre.

Les relations permettent de relier les données entre elles et de donner du sens à l’information.

Exemple simple

Supposons une base de données pour gérer les inscriptions aux cours pour chaque étudiant.

On aura besoin de connaître :

  • la liste d'étudiants
  • la liste des cours
  • les inscriptions des étudiants aux cours

Notre base de données doit permettre de répondre minimalement aux questions suivantes :

  • Quel cours suit un étudiant ?
  • Combien d'étudiants sont inscrits à un cours ?

1. Classes d'entités

👨‍🎓 Étudiant

Représente chaque étudiant de l’école.

Attributs :

  • numéro d'étudiant unique
  • nom
  • prénom
  • date_naissance
  • programme d'études

📘 Cours

Représente chaque cours offert.

Attributs :

  • numéro de cours unique
  • nom cours
  • pondération
  • département

Représentation des classes d'entités

intro entités

2. Relations

La relation naturelle qui existe entre les entités est :

Un étudiant est inscrit à un cours

Toutefois, quand on regarde l'ensemble des classes d'entités :

Un étudiant est inscrit à 1 ou plusieurs cours différents

Un cours est suivi par 1 ou plusieurs étudiants différents

Ainsi, il est faux de lier un numéro d'étudiant à un numéro de cours !

On doit donc créer une classe de relation avec ses propres attributs qui représente les inscriptions.

Classe Inscription

Représente l’inscription d’un étudiant à un cours.

Attributs :

  • session
  • note finale

Représentation de la relation

intro entités

Les cardinalités de relation

Les cardinalités possibles :

  • 1:1 et 1:N
  • 0:1 et 0:N

Exemple :

  1. Étudiant - Cours

    • Un étudiant s'inscrit à au moins un cours (sinon il n'est pas étudiant).
    • Un étudiant peut s'inscrire à plusieurs cours.

    👉 Cardinalité : Étudiant 1:N

  2. Cours - Étudiant

    • Un cours peut faire partie de l'offre du Cégep sans qu'il n'y ait d'étudiant inscrit.
    • Un cours peut avoir plusieurs étudiants inscrits.

    👉 Cardinalité : Cours 0:N

intro entités

Les identifiants

Les identifiants rendent chaque entité d'une classe unique.

  • L'étudiant a un numéro de DA qui le rend unique
  • Le cours a un numéro de cours qui le rend unique

⚠️ Toutefois, les relations doivent aussi être uniques.

Ainsi, une inscription à une session donnée avec une note finale n'est pas unique : plusieurs étudiants peuvent être inscrits à la même session et avoir la même note finale.

Pour rendre une relation unique :

On insère les identifiants des entités liées dans la relation !

✔️ Une inscription est unique pour un étudiant dans un cours donné à une session donnée.

Représentation :

intro entités