Systèmes d'information de gestion · Terminale STMGBac
Le modèle relationnel : cours de Terminale STMG
Publié le 11 novembre 2026 · Mis à jour le 11 novembre 2026 · Signaler une erreur
L'essentiel
- Le modèle relationnel organise les données dans des relations (tables) : un tableau à deux dimensions, créé selon les travaux d'E. F. Codd en 1970.
- Les lignes sont des n-uplets (enregistrements), les colonnes sont des attributs ; chaque attribut prend ses valeurs dans un domaine.
- Une clé primaire identifie chaque enregistrement ; une clé étrangère reprend la clé primaire d'une autre table et crée le lien.
- Le schéma relationnel est le plan des relations, des clés et des références ; il vise moins de redondance et plus de cohérence.
- Le langage d'accès normalisé aux bases relationnelles est le SQL : l'utilisateur interroge les données sans savoir où elles sont stockées.
Introduction : pourquoi ranger les données autrement ?
Une entreprise manipule chaque jour des quantités d'informations : ses clients, ses produits, ses commandes, ses factures. Si tout est noté dans un seul grand tableau, les mêmes informations sont recopiées des dizaines de fois. Une erreur de frappe sur l'adresse d'un client, et la base se contredit.
Le programme de Terminale STMG de la spécialité Systèmes d'information de gestion s'intéresse à ce problème. Il demande d'interpréter la structure d'une base de données relationnelle au regard d'un besoin de gestion, c'est-à-dire de comprendre comment les données sont organisées pour fournir la bonne information à la bonne personne 2. Le programme précise aussi que les données sont principalement mémorisées dans des bases de données 2.
Ce cours répond à quatre questions :
- D'où vient le modèle relationnel et à quoi sert-il ?
- Comment est faite une relation (une table) ?
- Comment relier plusieurs tables grâce aux clés ?
- Comment lire un schéma relationnel pour répondre à un besoin de gestion ?
Tu n'as besoin d'aucune connaissance préalable : on part de zéro, avec un exemple fil rouge, une petite librairie en ligne.
Origine et principe du modèle relationnel
Entre 1965 et 1975, l'informatique se développe dans les grandes entreprises. On sent alors le besoin de séparer plus nettement la représentation logique des données (ce que voit l'utilisateur) et leur organisation physique (la façon dont la machine les enregistre) 6.
C'est l'informaticien britannique Edgar F. Codd, chez IBM, qui définit ce modèle en 1970 dans un article intitulé A Relational Model of Data for Large Shared Data Banks 6. Parmi les premiers systèmes de gestion de bases de données construits sur ce modèle figurent SQL/DS et DB2, d'IBM. Le langage SQL est né dans ce contexte 5.
Le modèle ne se contente pas de ranger les données. Il définit trois choses à la fois : une façon de représenter les données, les opérations qu'on peut effectuer dessus, et des mécanismes qui préservent leur cohérence 5. Pour la représentation, il s'appuie sur la notion mathématique de relation, issue de la théorie des ensembles 5.
Depuis les années 1990, ce modèle est utilisé dans la grande majorité des bases de données 6. Tu le retrouveras donc dans la plupart des logiciels de gestion que tu rencontreras.
La relation : lignes, colonnes, valeurs
Prenons notre librairie. Voici la relation LIVRE :
| id_livre | titre | auteur | prix |
|---|---|---|---|
| 101 | Les Misérables | Hugo | 9,90 |
| 102 | Germinal | Zola | 7,50 |
| 103 | Candide | Voltaire | 4,20 |
Elle comporte 3 enregistrements (trois lignes, donc trois livres) et 4 attributs (quatre colonnes). Chaque enregistrement regroupe des informations relatives à un seul sujet : un livre. C'est exactement ce que décrit le modèle : un enregistrement contient un groupe d'informations sur un sujet 6.
| id_livre | titre | auteur | prix |
|---|---|---|---|
| 101 | Les Misérables | Hugo | 9,90 |
| 102 | Germinal | Zola | 7,50 |
| 103 | Candide | Voltaire | 4,20 |
La clé primaire : identifier sans ambiguïté
Dans une relation, il faut pouvoir désigner un enregistrement précis, sans le confondre avec un autre. Deux livres peuvent avoir le même titre dans deux éditions, deux clients peuvent s'appeler Martin. Le nom ne suffit donc pas. Le modèle relationnel utilise une clé, notion citée explicitement au programme 2.
Les liens entre les informations sont stockés dans les champs des enregistrements sous la forme d'une clé primaire et d'une clé étrangère 6.
La clé étrangère : relier les tables
Revenons à notre librairie. Quand un client passe une commande, on veut noter qui l'a passée. Faut-il recopier le nom, l'adresse et l'e-mail du client dans chaque commande ? Non : ce serait de la redondance, source d'erreurs. On crée plutôt deux relations, et on indique dans la commande le numéro du client.
Selon le modèle relationnel, plusieurs relations sont connectées par les valeurs qu'elles contiennent 6. Ce lien est porté par la clé étrangère 6.
Voici deux relations :
CLIENT
| id_client | nom | ville |
|---|---|---|
| 1 | Martin | Lyon |
| 2 | Durand | Lille |
COMMANDE
| id_commande | date | id_client |
|---|---|---|
| 5001 | 12/03 | 2 |
| 5002 | 14/03 | 1 |
| 5003 | 20/03 | 2 |
Dans COMMANDE, id_commande est la clé primaire. L'attribut id_client est une clé étrangère : il renvoie à la clé primaire de CLIENT. La commande 5001 a été passée par le client n° 2, c'est-à-dire Durand, de Lille. Les commandes 5001 et 5003 partagent le même client, sans que son nom soit recopié.
- Lire la clé étrangèreDans COMMANDE, id_client vaut 2.
- Chercher dans CLIENTTrouver la ligne dont id_client est 2.
- Lire le clientDurand, de Lille.
Le schéma relationnel et sa lecture
Pour écrire un schéma de façon compacte, on adopte la convention suivante (utilisée dans ce cours) : on écrit le nom de la relation en majuscules, puis la liste de ses attributs entre parenthèses ; la clé primaire est mise en gras ; une clé étrangère est précédée du signe #.
- LIVRE(id_livre, titre, auteur, prix)
- CLIENT(id_client, nom, ville)
- COMMANDE(id_commande, date, #id_client)
- LIGNE_COMMANDE(#id_commande, #id_livre, quantité)
La dernière relation illustre un cas courant : une commande peut contenir plusieurs livres, et un livre peut figurer dans plusieurs commandes. La clé primaire est alors formée de deux attributs, qui sont chacun une clé étrangère. Le couple (n° de commande, n° de livre) identifie une ligne de façon unique.
Modèle relationnel
- Relation
- Table
- Ligne = enregistrement
- Colonne = attribut
- Clés
- Clé primaire
- Clé étrangère
- Contrainte de clé
- Schéma
- Plan des tables
- Moins de redondance
- Plus de cohérence
- Accès
- SGBD relationnel
- Langage SQL
- Requête
Du modèle conceptuel à la base : SGBD et SQL
Une base de données ne se conçoit pas directement sous forme de tables. Les ressources académiques distinguent le modèle conceptuel (par exemple le modèle entité-association) et le modèle logique : le modèle relationnel appartient à cette seconde catégorie 4. On commence donc par décrire les objets de gestion et leurs associations, puis on traduit cette description en relations, clés et références.
Cette traduction transforme les contraintes du modèle conceptuel en contraintes sur les relations 4. Voilà pourquoi le schéma relationnel porte déjà des règles, comme la contrainte de clé.
Un grand avantage de ce modèle tient à l'indépendance entre l'utilisateur et le stockage : on peut accéder aux données sans savoir où elles se trouvent physiquement ni comment elles sont enregistrées 5. Un gestionnaire demande « les commandes de Lille » ; la machine se débrouille pour les retrouver.
Une demande d'informations, appelée requête, s'exprime elle aussi dans le cadre logique du modèle 5. Le modèle fixe donc à la fois comment on range et comment on interroge.
Pièges, méthode d'analyse et bilan
Les erreurs les plus courantes sur ce chapitre viennent d'un vocabulaire mal fixé. Voici un tableau pour les éviter.
| Terme du modèle | Équivalent courant | Exemple |
|---|---|---|
| Relation | Table | LIVRE |
| N-uplet | Enregistrement, ligne | Le livre 102 |
| Attribut | Colonne, champ | prix |
| Clé primaire | Identifiant unique | id_livre |
| Clé étrangère | Renvoi vers une autre table | id_client dans COMMANDE |
Exercices corrigés
Exercice 1 Compter lignes, colonnes et valeurs
La relation ADHERENT d'un club de sport contient les attributs id_adherent, nom, prenom, date_naissance. Elle comporte 5 enregistrements.
- Combien d'attributs comporte-t-elle ?
- Combien de valeurs contient-elle au total ?
- Quel attribut choisirais-tu comme clé primaire ?
Indice 1
Une valeur se trouve à l'intersection d'une ligne et d'une colonne.
Indice 2
Le nom peut être partagé par plusieurs adhérents.
Voir la correction pas à pas
Les attributs sont les colonnes :
id_adherent,nom,prenom,date_naissance, soit 4 attributs.Chaque enregistrement contient une valeur par attribut : 5 × 4 = 20 valeurs.
La clé primaire doit être unique et stable :
id_adherent. Le nom, le prénom ou la date de naissance peuvent se répéter chez deux adhérents.
La relation compte 4 attributs et 20 valeurs ; sa clé primaire est id_adherent.
Exercice 2 Clients distincts dans une table de commandes
Voici la relation COMMANDE(id_commande, date, #id_client), contenant 8 enregistrements. Les valeurs de id_client, dans l'ordre des lignes, sont : 2, 5, 2, 7, 5, 2, 9, 7.
- Quel est l'attribut clé étrangère, et vers quelle relation renvoie-t-il ?
- Combien de valeurs contient la relation ?
- Combien de clients différents ont passé au moins une commande ?
Indice 1
Une clé étrangère peut se répéter dans sa table.
Indice 2
Pour compter les clients différents, ne compte chaque numéro qu'une fois.
Voir la correction pas à pas
id_clientest précédé de # : c'est la clé étrangère. Elle renvoie vers la clé primaire de la relation CLIENT.La relation a 3 attributs et 8 enregistrements : 8 × 3 = 24 valeurs.
Les numéros distincts sont 2, 5, 7 et 9 : 4 clients différents. Le client n° 2 apparaît trois fois, ce qui est normal pour une clé étrangère.
Quatre clients différents ont commandé. Le nombre de lignes (8) ne donne pas le nombre de clients, car une clé étrangère se répète.
Exercice 3 Concevoir un schéma pour une médiathèque
Une médiathèque veut suivre ses prêts. Elle gère des adhérents (numéro, nom), des documents (numéro, titre) et des prêts : un adhérent emprunte un document à une date donnée.
- Propose trois relations avec leurs attributs, en précisant les clés primaires.
- Indique les clés étrangères.
- Explique pourquoi recopier le titre du document dans la relation des prêts serait une mauvaise idée.
Indice 1
Le prêt relie deux sujets : l'adhérent et le document.
Indice 2
Pour identifier un prêt, un numéro de prêt suffit.
Voir la correction pas à pas
Les trois sujets donnent trois relations : ADHERENT(id_adherent, nom), DOCUMENT(id_document, titre), PRET(id_pret, date_pret, #id_adherent, #id_document).
Les clés primaires sont
id_adherent,id_documentetid_pret. Les clés étrangères sontid_adherentetid_documentdans PRET, qui renvoient vers ADHERENT et DOCUMENT.Recopier le titre dans PRET le répéterait à chaque prêt du même document. Une faute de frappe ou une correction du titre créerait des écarts entre les lignes. Avec
id_document, le titre n'est écrit qu'une seule fois, dans DOCUMENT.
Un bon schéma isole chaque sujet dans sa relation et relie les tables par des clés étrangères, ce qui évite la redondance.
Quiz
8 questions · correction immédiate · ton score reste sur ton appareil.
-
Une ligne est un enregistrement, appelé aussi n-uplet : elle décrit un élément précis (un livre, un client). L'attribut, lui, correspond à une colonne : choisir « attribut », c'est confondre ligne et colonne. Le domaine est l'ensemble des valeurs possibles d'un attribut, et le schéma est le plan de toute la base.
-
Le modèle a été défini par Edgar F. Codd, chez IBM, en 1970. L'année 1990 est tentante car c'est à partir de cette période que le modèle devient dominant dans les bases de données, mais cela ne correspond pas à sa définition. SQL est un langage issu de ce modèle, pas son auteur.
-
id_clientest un numéro attribué à chaque client, unique et stable. Le nom est tentant mais deux clients peuvent s'appeler Martin ; la ville est partagée par de nombreux clients ; et le couple nom et ville peut lui aussi se répéter (deux Martin à Lyon). -
Le signe # indique, dans la convention du cours, une clé étrangère :
id_clientreprend les valeurs de la clé primaire de CLIENT. La clé primaire de COMMANDE estid_commande(en gras), ce qui écarte la première proposition. Un domaine et un enregistrement sont d'autres notions. -
C'est vrai : un client peut passer plusieurs commandes, donc son numéro apparaît plusieurs fois dans COMMANDE. C'est la clé primaire, dans sa table d'origine, qui ne peut pas se répéter. Croire que « clé » veut toujours dire « unique partout » est l'erreur tentante.
-
Chaque ligne a une valeur par colonne : 6 × 5 = 30 valeurs. Additionner (6 + 5 = 11) serait faux, car le tableau est à deux dimensions et on multiplie.
-
Le schéma est le plan de la base : relations, clés et références, avec pour but de réduire la redondance et d'améliorer la cohérence. Il ne change pas à chaque nouvelle ligne : ajouter une ligne modifie le contenu, pas la structure. Et il ne remplace pas le contenu, il en décrit seulement la forme.
-
Le SQL est le langage d'accès normalisé aux bases relationnelles. Le HTML sert à décrire des pages web. Le modèle entité-association est un modèle conceptuel de conception, pas un langage d'interrogation, et le schéma est un plan de la base.
Les questions qu'on se pose
Quelle différence entre une relation et une table ?
Dans le vocabulaire du modèle, la relation est le tableau à deux dimensions ; quand on parle de stockage, on l'appelle plutôt table 6. À ton niveau, les deux mots désignent la même chose.
À quoi sert une clé étrangère ?
Elle crée le lien entre deux tables sans recopier l'information. Dans COMMANDE, id_client renvoie vers CLIENT : on retrouve le client à partir de son numéro. Les liens entre les informations sont stockés sous forme de clé primaire et clé étrangère 6.
Pourquoi ne pas tout mettre dans un seul grand tableau ?
Parce que les mêmes informations seraient répétées sur de nombreuses lignes. Une modification (une adresse qui change) devrait être faite partout, avec un risque d'oubli et de contradiction. Le schéma relationnel vise justement à réduire la redondance et à renforcer la cohérence 6.
Comment savoir si un attribut peut être clé primaire ?
Teste trois points : sa valeur est différente pour chaque ligne, elle est toujours renseignée et elle ne change pas dans le temps. Un numéro attribué par l'organisation (id_client) remplit ces conditions ; un nom ou une adresse non.
Faut-il savoir écrire du SQL pour ce chapitre ?
Pas ici : ce cours porte sur la structure des données (relations, clés, schéma). L'étude du langage SQL et des requêtes vient ensuite. L'essentiel est de savoir lire un schéma pour comprendre quelles tables parcourir.
Sources
Programme visé : Systèmes d'information de gestion - Terminale STMG · Éduscol - Ministère de l'Éducation Nationale
- Systèmes d'information de gestion - Terminale STMG, Éduscol - Ministère de l'Éducation Nationale. Consulté le 11 novembre 2026.
- Programme de management, sciences de gestion et numérique de terminale STMG, Ministère de l'Éducation Nationale. Consulté le 11 novembre 2026.
- Bulletin officiel n°12 - Systèmes d'information de gestion (2012), Ministère de l'Éducation Nationale. Consulté le 11 novembre 2026.
- Modélisation des données - Ressource académique CNRS, CNRS. Consulté le 11 novembre 2026.
- Modèle relationnel, Wikipédia. Consulté le 11 novembre 2026.
- Base de données relationnelle, Wikipédia. Consulté le 11 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.