Les relations

Dans la séquence précédente, tu as appris à identifier les entités d'un système et à les représenter sous forme de boîtes. Tu as aussi tracé des traits pour indiquer quelles entités sont liées. Mais ces traits ne disaient pas grand-chose : ils montraient qu'un lien existe, sans préciser sa nature ni son étendue. C'est exactement ce que cette séquence va creuser. On va donner un nom à ces liens, les représenter correctement, et surtout répondre à une question essentielle : dans ce lien, combien d'éléments peuvent être concernés de chaque côté ?

    4ttr
  • niveau

Les relations

Objectifs

À la fin de cette séquence, tu seras capable de :

  1. Définir ce qu'est une relation dans un modèle de données
  2. Représenter une relation selon la notation Mérise
  3. Lire et écrire des cardinalités
  4. Construire un schéma entité-association complet

Partie 1 — Qu'est-ce qu'une relation ?

De l'observation à la formalisation

Dans la séquence 2, on avait ce schéma :

┌──────────────────┐             ┌──────────────────┐
│     CLIENT       │             │    ÉVÉNEMENT     │
└────────┬─────────┘             └────────┬─────────┘
         │                                │
         └──────────────┬─────────────────┘
                        │
                   ┌────┴─────────────┐
                   │      TICKET      │
                   └──────────────────┘

Les traits disaient juste : ces entités ont un lien. Mais quel lien, exactement ? Que se passe-t-il concrètement entre un client et un ticket ? Entre un événement et un ticket ?

La réponse, c'est la relation — ou plus précisément, l'association en Mérise.

Une relation, c'est le verbe qui unit deux entités. Elle décrit ce qui se passe entre elles dans la réalité du système :

  • Un client achète un ticket.
  • Un ticket concerne un événement.

Ce n'est pas anodin : nommer la relation oblige à comprendre ce que le système fait vraiment.


Partie 2 — La notation Mérise

Pourquoi Mérise ?

Mérise est une méthode de modélisation de bases de données développée en France dans les années 80. Elle est encore très utilisée dans l'enseignement et dans de nombreuses entreprises. Elle propose une façon standardisée de dessiner des modèles de données, avec des symboles précis.

Le schéma qu'on produit en Mérise s'appelle le MCD : Modèle Conceptuel de Données.

Les symboles

En Mérise, trois éléments ont chacun leur forme :

Élément Forme Rôle
Entité Rectangle Un objet du système
Relation Losange (ou hexagone) Le lien entre deux entités
Attribut Ellipse ou texte listé Une information d'une entité

Le schéma avec les relations nommées

En appliquant ces conventions à notre système de billetterie, on obtient :

┌──────────────────┐       ┌─────────────┐       ┌──────────────────┐
│     CLIENT       │       │    achète   │       │      TICKET      │
│──────────────────│───────│  ◇          │───────│──────────────────│
│ nom              │       └─────────────┘       │ prix             │
│ prénom           │                             │ statut           │
│ email            │                             │ date_achat       │
│ téléphone        │                             └────────┬─────────┘
└──────────────────┘                                      │
                                                 ┌────────┴─────────┐
                                                 │    concerne      │
                                                 │  ◇               │
                                                 └────────┬─────────┘
                                                          │
                                            ┌─────────────┴────────┐
                                            │      ÉVÉNEMENT       │
                                            │──────────────────────│
                                            │ titre                │
                                            │ date                 │
                                            │ lieu                 │
                                            │ prix_base            │
                                            └──────────────────────┘

Le losange représente la relation. Il porte un verbe qui décrit le lien. C'est ce verbe qui donne du sens au trait.

💡 Choisir un bon verbe n'est pas un détail : "achète", "réserve", "possède" ne décrivent pas la même chose. Avant de nommer une relation, demande-toi ce qui se passe réellement dans le système.


Partie 3 — Les cardinalités

Le problème du "combien"

On sait maintenant qu'un client achète un ticket, et qu'un ticket concerne un événement. Mais ces liens ne disent encore pas tout. Dans la réalité du système :

  • Un client peut-il acheter plusieurs tickets, ou un seul ?
  • Un ticket peut-il être acheté par plusieurs clients, ou un seul ?
  • Un événement peut-il avoir plusieurs tickets, ou un seul ?

Les réponses à ces questions s'appellent les cardinalités. Une cardinalité indique, pour chaque entité participant à une relation, combien d'occurrences peuvent être impliquées.

La notation

On écrit la cardinalité sous la forme minimum, maximum de chaque côté du losange.

Les valeurs utilisées sont :

  • 0 : aucune occurrence n'est obligatoire
  • 1 : exactement une occurrence
  • n : plusieurs occurrences possibles (sans limite fixée)

Les paires les plus courantes :

Notation Signification
1,1 Exactement un — ni plus, ni moins
0,1 Zéro ou un — facultatif mais pas multiple
1,n Au moins un, potentiellement plusieurs
0,n Zéro ou plusieurs — aucune contrainte

Comment lire une cardinalité

La cardinalité se lit du côté de l'entité vers la relation, en se posant la question :

Pour une occurrence de cette entité, combien d'occurrences de la relation peut-elle avoir ?

Exemple avec CLIENT — achète — TICKET :

  • Du côté de CLIENT : un client peut acheter zéro ou plusieurs tickets → 0,n
  • Du côté de TICKET : un ticket est acheté par exactement un client → 1,1

Le schéma avec les cardinalités

┌──────────────────┐  0,n  ┌─────────────┐  1,1  ┌──────────────────┐
│     CLIENT       │───────│   achète    │───────│      TICKET      │
│──────────────────│       │      ◇      │       │──────────────────│
│ nom              │       └─────────────┘       │ prix             │
│ prénom           │                             │ statut           │
│ email            │                             │ date_achat       │
│ téléphone        │                             └────────┬─────────┘
└──────────────────┘                                   1,1│
                                                 ┌────────┴─────────┐
                                                 │    concerne      │
                                                 │       ◇          │
                                                 └────────┬─────────┘
                                                       0,n│
                                            ┌─────────────┴────────┐
                                            │      ÉVÉNEMENT       │
                                            │──────────────────────│
                                            │ titre                │
                                            │ date                 │
                                            │ lieu                 │
                                            │ prix_base            │
                                            └──────────────────────┘

Exercice 1 — Lire les cardinalités

En observant le schéma ci-dessus, réponds aux questions suivantes :

  1. Un client peut-il n'avoir acheté aucun ticket ? Justifie.
  2. Un ticket peut-il avoir été acheté par deux clients différents ? Justifie.
  3. Un événement peut-il n'avoir aucun ticket associé ? Justifie.
  4. Un ticket peut-il concerner deux événements différents ? Justifie.

Partie 4 — Construire un MCD complet

Démarche

Pour construire un MCD, on suit toujours le même ordre :

  1. Identifier les entités — quels sont les objets du système ?
  2. Lister les attributs de chaque entité
  3. Repérer les relations — quels verbes lient les entités ?
  4. Fixer les cardinalités — en se posant la question "combien ?" pour chaque côté

Exercice 2 — Analyser avant de dessiner

Avant de dessiner quoi que ce soit, réponds d'abord à ces questions pour le système de billetterie :

Entités :

  • Quels sont les trois objets principaux ? (tu les connais déjà)

Relations :

  • Quel verbe décrit le lien entre CLIENT et TICKET ?
  • Quel verbe décrit le lien entre TICKET et ÉVÉNEMENT ?

Cardinalités :

Complète le tableau :

Relation Côté gauche Cardinalité gauche Cardinalité droite Côté droit
achète CLIENT TICKET
concerne TICKET ÉVÉNEMENT

Exercice 3 — Dessiner le MCD

À partir de tes réponses à l'exercice 2, dessine le MCD complet sur papier.

Tu dois faire apparaître :

  • Les trois entités avec leurs attributs
  • Les deux relations avec leur nom dans un losange
  • Les cardinalités de chaque côté de chaque relation

Partie 5 — Application

Reprends le système que tu avais choisi en séquence 2 (garage, centre de formation ou serveur Discord) et construis son MCD complet.

Étapes :

  1. Reprends tes trois entités et leurs attributs
  2. Nomme les relations qui les lient (un verbe pour chaque)
  3. Détermine les cardinalités en te posant la question "combien ?" pour chaque côté
  4. Dessine le MCD final

⚠️ Avant de dessiner, remplis toujours le tableau d'analyse (comme dans l'exercice 2). Un MCD dessiné sans réflexion préalable contient presque toujours des erreurs de cardinalité.


À retenir

Une relation est le lien nommé entre deux entités. En Mérise, elle est représentée par un losange portant un verbe.

Les cardinalités expriment le "combien" de chaque côté d'une relation. On les note sous la forme minimum,maximum.

Paire Sens
1,1 Exactement un
0,1 Zéro ou un
1,n Au moins un
0,n Zéro ou plusieurs

La règle pour lire une cardinalité : on se place du côté de l'entité, et on se demande combien d'occurrences de la relation cette entité peut avoir.


Suite

Dans la prochaine séquence, tu apprendras à transformer ce MCD en modèle logique : les entités deviennent des tables, les relations se traduisent en colonnes spéciales appelées clés étrangères, et les cardinalités dictent comment ces colonnes s'organisent.

Pour aller plus loin