Du tableur au modèle relationnel
Pourquoi un tableau unique ne suffit pas pour gérer des données, et comment le modèle relationnel résout le problème — de la conception (MCD) au schéma de tables (MLD).
Objectifs de la séance
- Comprendre pourquoi un simple tableur pose problème pour gérer des données volumineuses.
- Découvrir le vocabulaire du modèle conceptuel de données (MCD) : entité, attribut, association, cardinalité.
- Découvrir le vocabulaire du modèle relationnel : relation, attribut, domaine, clé primaire, clé étrangère.
- Savoir passer d'un MCD à un schéma relationnel (MLD).
Une billetterie mal organisée
Une petite salle de concert enregistre toutes ses ventes de billets dans un unique tableau. Regarde-le attentivement avant de répondre aux questions.
| N° billet | Concert | Date | Salle | Ville | Artiste | Genre | Prix | Spectateur | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Nuit Électro | 12/09/2026 | Zénith | Lyon | DJ Solstice | Électro | 45€ | Léa Martin | lea.martin@mail.fr |
| 2 | Nuit Électro | 12/09/2026 | Zénith | Lyon | DJ Solstice | Électro | 45€ | Noah Petit | noah.petit@mail.fr |
| 3 | Rock en Seine | 20/09/2026 | Stade des Lumières | Lyon | Les Foudres | Rock | 38€ | Léa Martin | lea.martin@mail.fr |
| 4 | Nuit Électro | 12/09/2026 | Zénith | Lyon | DJ Solstice | Électro | 45€ | Inès Dubois | ines.dubois@mail.fr |
| 5 | Jazz sous les étoiles | 25/09/2026 | Le Trianon | Paris | Miles & Co | Jazz | 30€ | Noah Petit | noah.petit@mail.fr |
| 6 | Rock en Seine | 20/09/2026 | Stade des Lumières | Lyon | Les Foudres | Rock | 38€ | Inès Dubois | ines.dubois@mail.fr |
1. Quelles informations sont répétées plusieurs fois ? Pourquoi est-ce un problème ?
2. La salle « Zénith » déménage et change d'adresse. Que doit-on faire ? Quel risque cela fait-il courir ?
3. On veut enregistrer un nouveau concert sans billet vendu. Est-ce possible ?
4. Si on supprime la ligne du billet n°5, que perd-on d'autre que ce billet ?
Trois anomalies liées à la redondance
Une information répétée doit être modifiée partout où elle apparaît. Un oubli crée une incohérence.
Impossible d'enregistrer une nouvelle donnée tant qu'elle n'est reliée à rien d'autre dans le tableau.
Supprimer une ligne peut faire disparaître une information qu'on voulait pourtant conserver.
Le modèle conceptuel de données (MCD)
Avant de stocker les données, on modélise le réel avec un vocabulaire précis.
Objet ou concept du monde réel que l'on souhaite décrire.
ex. CONCERT, ARTISTECaractéristique ou propriété d'une entité.
ex. nom_concert, dateAttribut (ou groupe d'attributs) qui distingue sans ambiguïté chaque occurrence d'une entité.
ex. id_concertLien entre deux entités ou plus.
ex. SE_PRODUIT entre ARTISTE et CONCERTNombre minimal et maximal de fois qu'une occurrence d'une entité participe à une association.
ex. (1,n)Association et cardinalités
Un artiste produit 1 à n concerts ; un concert a exactement un artiste principal.
La médiathèque
Une médiathèque gère des adhérents qui empruntent des documents (livres, CD, DVD). Chaque adhérent a un numéro, un nom et une adresse. Chaque document a une référence, un titre et un type. Un emprunt est caractérisé par une date de début et une date de retour prévue. Un adhérent peut emprunter plusieurs documents ; un document peut être emprunté par plusieurs adhérents (à des dates différentes).
Identifie les entités, l'association et les cardinalités
Association : EMPRUNTE (date_début, date_retour_prévue) entre ADHÉRENT et DOCUMENT.
Cardinalités : ADHÉRENT (0,n) — EMPRUNTE — (0,n) DOCUMENT.
Du modèle conceptuel au schéma relationnel
Ensemble structuré de données organisées en lignes et colonnes.
Ensemble des valeurs possibles pour un attribut.
Attribut(s) identifiant un n-uplet (une ligne) de façon unique. Notée soulignée.
Attribut faisant référence à la clé primaire d'une autre relation. Notée #préfixée.
Règles de passage MCD → MLD
- Chaque entité devient une relation ; son identifiant devient la clé primaire.
- Pour une association 1,n / 1,1 : la clé primaire du côté « 1 » migre en clé étrangère dans la relation du côté « n ».
- Pour une association n,n : elle devient une relation à part entière, dont la clé primaire est la concaténation des clés primaires des deux entités, complétée par ses propres attributs.
Le schéma relationnel de la billetterie
Ce schéma est le fil rouge du chapitre : il sera repris tel quel pour créer la base en SQL dès la séance 3.
id_artiste et id_salle migrent dans CONCERT (associations 1,n côté ARTISTE/SALLE, 1,1 côté CONCERT). L'association ACHETE étant n,n, elle devient la relation BILLET à part entière.
Exercices gradués
Sur le schéma relationnel : CLIENT(id_client, nom, email) et COMMANDE(id_commande, date, #id_client) :
a. Quelle est la clé primaire de COMMANDE ? b. Quelle est sa clé étrangère ? c. Un client peut-il exister sans commande ? Une commande peut-elle exister sans client ?
Voir la correction
Une association sportive gère des adhérents (nom, prénom, date de naissance) qui possèdent une ou plusieurs licences. Chaque licence a un numéro, une date de délivrance, une date d'expiration, et correspond à un seul sport. Un sport a un nom et une fédération de rattachement.
Construis le MCD puis le schéma relationnel correspondant.
Voir la correction
ADHÉRENT(id_adhérent, nom, prénom, date_naissance)
SPORT(id_sport, nom_sport, fédération)
LICENCE(num_licence, date_délivrance, date_expiration, #id_adhérent, #id_sport)
Un réseau social simplifié gère des utilisateurs (pseudo, email). Un utilisateur peut suivre d'autres utilisateurs (association réflexive). Un utilisateur publie des messages. Un utilisateur peut aimer des messages publiés par d'autres, avec une date de « like ».
Construis le MCD complet en identifiant bien l'association réflexive et ses cardinalités, puis le schéma relationnel.
Voir la correction
UTILISATEUR(id_utilisateur, pseudo, email)
MESSAGE(id_message, texte, date_publication, #id_utilisateur)
SUIT(#id_utilisateur_suiveur, #id_utilisateur_suivi)
AIME(#id_utilisateur, #id_message, date_like)
Point clé : dans SUIT, les deux clés étrangères pointent vers la même relation UTILISATEUR — c'est le principe d'une association réflexive.