Aller au contenu

Numérique et sciences informatiques (spécialité) · TerminaleBac

Le modèle relationnel : cours de Terminale NSI

Publié le 7 novembre 2026 · Mis à jour le 7 novembre 2026 · Signaler une erreur

L'essentiel

  • Le modèle relationnel organise l'information en relations : des tableaux à deux dimensions, proposés par E. F. Codd en 1970 6.
  • Une ligne d'une relation est un n-uplet (ou enregistrement), une colonne est un attribut 6.
  • Une clé primaire identifie chaque ligne ; une clé étrangère pointe vers la clé primaire d'une autre relation et crée le lien 26.
  • Le schéma relationnel décrit les relations, leurs clés et leurs références ; sa conception vise moins de redondance et plus de cohérence 6.
  • Le langage SQL sert à interroger une base construite sur ce modèle 5.

Pourquoi organiser les données en tables ?

Tu utilises des bases de données tous les jours sans le savoir : un catalogue de bibliothèque, la liste des élèves d'un lycée, les comptes d'un site de vente en ligne. Dans chaque cas, il faut ranger beaucoup d'informations de façon que l'on puisse les retrouver vite, sans se tromper et sans les écrire dix fois.

Imagine que tu notes les emprunts d'une bibliothèque dans un seul grand tableau. À chaque ligne, tu recopies le titre du livre, son année, le nom de l'auteur, sa date de naissance, puis le nom de l'emprunteur. Dès qu'un auteur a écrit trois livres, ses informations apparaissent trois fois. Si tu corriges une faute dans l'une des lignes mais pas dans les deux autres, ta liste se contredit elle-même.

Le modèle relationnel répond à ce problème. Il propose une manière de représenter les données, de les relier entre elles et de garder leur cohérence. Ce chapitre t'apprend le vocabulaire exact, qui est demandé au bac, puis la façon de lire et de construire un schéma.

Dans ce cours, tu vas voir :

  • d'où vient le modèle et pourquoi il est si répandu ;
  • ce qu'est une relation, un attribut, un n-uplet, un domaine ;
  • le rôle des clés primaires et des clés étrangères ;
  • comment on écrit un schéma relationnel et comment on le lit ;
  • pourquoi ce modèle limite les répétitions et protège la cohérence ;
  • le lien avec le langage SQL, que tu étudieras juste après.

D'où vient le modèle relationnel ?

Le modèle relationnel sert à décrire les liens entre plusieurs informations et à les ordonner. Il s'appuie sur des bases mathématiques que E. F. Codd a développées en 1970, puis on le met en œuvre concrètement dans une base de données 5. L'informaticien britannique Edgar F. Codd, qui travaillait chez IBM, l'a présenté dans un article intitulé A Relational Model of Data for Large Shared Data Banks 6.

Pourquoi à cette époque ? Entre 1965 et 1975, l'informatique se développe dans les grandes entreprises. On ressent alors de plus en plus le besoin de séparer clairement la représentation logique des données (ce que l'utilisateur voit) de leur organisation physique (la façon dont elles sont enregistrées sur les disques) 6.

Cette séparation est un grand avantage. Celui qui interroge la base n'a pas besoin de savoir où se trouvent physiquement les données ni comment elles sont stockées 5. Il raisonne sur des tableaux, pas sur des fichiers.

Deux outils mathématiques sont à la base du modèle : l'algèbre relationnelle, c'est-à-dire la notion de relation en théorie des ensembles, et le produit cartésien 5. Tu n'as pas à maîtriser cette théorie en Terminale, mais elle explique le mot « relation » : une relation est un ensemble de n-uplets.

Le langage SQL (Structured Query Language) est né chez IBM, dans les travaux menés sur ce modèle, et des SGBD d'IBM comme SQL/DS et DB2 l'ont ensuite utilisé 5. Depuis les années 1990, le modèle relationnel est utilisé dans la grande majorité des bases de données, et il restait dominant en 2019 6.

Relation, attributs, n-uplets : le vocabulaire

Prenons une relation auteur qui décrit des écrivains fictifs :

id nom prenom naissance
1 Lemoine Clara 1950
2 Duval Hugo 1971
3 Marchand Inès 1984

Cette relation a 4 attributs : id, nom, prenom, naissance. Elle a 3 n-uplets, un par auteur. Le n-uplet (2, Duval, Hugo, 1971) est une ligne entière. La valeur 1984 est la valeur de l'attribut naissance pour le troisième n-uplet.

La relation auteur
idnomprenomnaissance
1LemoineClara1950
2DuvalHugo1971
3MarchandInès1984
La relation auteur · Chaque ligne est un n-uplet, chaque colonne un attribut.

La clé primaire : identifier chaque ligne

Dans une bibliothèque, deux auteurs peuvent porter le même nom, et deux livres le même titre. Si on se fie au nom pour désigner un auteur, on risque la confusion. Il faut donc un attribut dont la valeur est différente pour chaque ligne et qui permet de désigner un n-uplet sans ambiguïté.

Dans l'exemple de la relation auteur, l'attribut id joue ce rôle. On l'appelle souvent un identifiant. On ne choisit pas nom comme clé : rien n'empêche deux auteurs de s'appeler Duval. On pourrait aussi choisir le couple (nom, prenom), mais ce choix reste fragile, car deux auteurs peuvent porter exactement les mêmes nom et prénom.

La pratique courante consiste à ajouter un attribut id, un entier qui n'a pas d'autre sens que d'identifier la ligne. C'est simple, stable et facile à utiliser dans les liens entre tables.

La clé étrangère : relier les relations entre elles

Revenons à la bibliothèque. Plutôt que de recopier les informations de l'auteur dans chaque ligne de livre, on crée deux relations : auteur et livre. Mais alors, comment savoir qui a écrit quel livre ? Il suffit que chaque livre porte la clé primaire de son auteur.

Voici la relation livre, avec id_auteur comme clé étrangère vers auteur :

id titre annee #id_auteur
10 Les Heures claires 1992 1
11 Le Port du nord 1998 1
12 Carnet de bord 2005 2
13 La Vallée sourde 2016 3

Pour trouver l'auteur du livre 12, tu lis id_auteur = 2, puis tu cherches dans auteur le n-uplet dont la clé primaire vaut 2 : c'est Hugo Duval. Les informations de l'auteur ne sont écrites qu'une fois, mais elles sont accessibles depuis chacun de ses livres.

Selon le modèle relationnel, plusieurs relations peuvent donc être connectées par les valeurs qu'elles contiennent 6. Remarque ce qui se passe pour l'auteur 1 : il apparaît deux fois dans livre (livres 10 et 11). C'est normal pour une clé étrangère. Une clé étrangère peut se répéter, alors qu'une clé primaire ne le peut pas.

Le modèle relationnel en un coup d'œilCarte mentale avec pour centre le modèle relationnel et quatre branches : relation, clés, schéma, SQL.Table 2DN-uplet = ligneAttribut = colonneRelationClé primaireClé étrangèreIntégritéClésRelationsClés et liensPeu de redondanceSchémaSQLRequêtesSGBDLangageModèle relationnel

Modèle relationnel

  • Relation
    • Table 2D
    • N-uplet = ligne
    • Attribut = colonne
  • Clés
    • Clé primaire
    • Clé étrangère
    • Intégrité
  • Schéma
    • Relations
    • Clés et liens
    • Peu de redondance
  • Langage
    • SQL
    • Requêtes
    • SGBD
Le modèle relationnel en un coup d'œil · Les notions à relier pour réviser le chapitre.

Le schéma relationnel et ses conventions d'écriture

Dans les sujets de bac, un schéma s'écrit de façon compacte, avec des conventions précises. Les énoncés indiquent que, pour repérer la clé primaire d'une relation, il suffit de regarder quel attribut est souligné 2. Le symbole dièse # placé devant un attribut signale une clé étrangère : on le voit dans l'énoncé qui parle de #id_marque et de #id_modele 2.

Pour notre bibliothèque, le schéma s'écrit :

  • auteur (id, nom, prenom, naissance)
  • livre (id, titre, annee, #id_auteur)

Ici, les attributs en gras représentent les attributs soulignés dans un énoncé papier, c'est-à-dire les clés primaires.

Redondance, cohérence et contraintes

Le schéma n'est pas décoratif. Il est conçu pour limiter la redondance (la même information écrite plusieurs fois) et favoriser la cohérence (une base qui ne se contredit pas) 6. Pour guider cette conception, on dispose des formes normales, qui sont des façons types de répartir les données dans les tables 6. Leur étude fine dépasse le programme de Terminale ; retiens l'objectif.

Le modèle fournit aussi des mécanismes pour préserver la cohérence des données, en plus de la façon de les représenter et des opérations possibles 5. C'est pour cette raison qu'il est adopté dans les banques, les administrations, les sites marchands : l'erreur coûte cher.

Du modèle relationnel au langage SQL

Le modèle relationnel décrit comment ranger les données. Il reste à savoir comment les interroger. Le langage de référence d'un SGBD fondé sur ce modèle est SQL 5.

Les opérations relationnelles permettent par exemple de créer une nouvelle relation, représentée elle aussi par une table à deux dimensions 5. Autrement dit, le résultat d'une requête est lui-même un tableau. Les opérateurs relationnels, ceux de SQL, permettent de décrire le résultat voulu sans décrire la procédure pour l'obtenir 5. En Python, tu écris une boucle qui explique comment faire ; en SQL, tu indiques ce que tu veux obtenir.

Une demande d'informations à la base est elle-même vue comme un prédicat dans le modèle 5 ; tu n'as pas besoin de cette formulation pour l'épreuve. Retiens simplement que l'utilisateur peut accéder aux données sans savoir où elles sont stockées 5.

Le modèle relationnel à l'épreuve de NSI

À l'écrit de la spécialité NSI, la durée est de 3 heures 30 et la calculatrice n'est pas autorisée. Le candidat traite trois exercices indépendants 3. Dans les sujets répertoriés par Éduscol, les bases de données relationnelles et le langage SQL font très souvent l'objet de l'un de ces exercices 3. Le sujet de bac 2025 contient, de même, un exercice sur les bases de données relationnelles et les requêtes SQL 2.

Exercices corrigés

Exercice 1 Repérer le vocabulaire dans une relation

★☆☆Environ 8 min

On considère la relation eleve :

id nom classe #id_prof
101 Martin T1 3
102 Bernard T2 3
103 Petit T1 5
104 Roux T3 5
105 Girard T2 8
  1. Quels sont les attributs de cette relation ?
  2. Écris le n-uplet correspondant à l'élève Petit.
  3. Quelle est la clé primaire ? Justifie.
  4. Quelle est la clé étrangère ? Vers quelle relation pointe-t-elle ?
  5. Peut-on prendre l'attribut classe comme clé primaire ?
Indice 1

Les attributs sont les noms de colonnes.

Indice 2

Une clé primaire ne prend jamais deux fois la même valeur.

Voir la correction pas à pas
  1. Les attributs sont les colonnes : id, nom, classe et id_prof.

  2. Le n-uplet de Petit est la ligne entière : (103, Petit, T1, 5).

  3. La clé primaire est id : les cinq valeurs 101 à 105 sont toutes différentes, et un nouvel élève recevra un nouvel identifiant.

  4. id_prof est la clé étrangère (signalée par #). Elle pointe vers la clé primaire d'une relation des professeurs, par exemple prof. Les valeurs 3 et 5 se répètent, ce qui est permis pour une clé étrangère.

  5. Non : la valeur T1 apparaît deux fois (Martin et Petit), T2 aussi. classe ne peut pas identifier un élève.

Pour reconnaître une clé primaire, cherche l'attribut dont les valeurs ne peuvent jamais se répéter. Pour reconnaître une clé étrangère, cherche le # ou l'attribut qui reprend l'identifiant d'une autre relation.

Exercice 2 Combien de lignes dans un produit cartésien ?

★★☆Environ 8 min

Le produit cartésien de deux relations associe chaque n-uplet de la première à chaque n-uplet de la seconde. Dans une autre bibliothèque, la relation auteur compte 4 n-uplets et la relation livre en compte 5.

  1. Combien de n-uplets contient le produit cartésien de auteur par livre ?
  2. Si auteur a 4 attributs et livre en a 3, combien d'attributs a le produit ?
  3. Parmi ces n-uplets, combien associent un livre à son véritable auteur, si chaque livre a exactement un auteur ?
Indice 1

Pour chaque ligne de la première relation, on prend toutes les lignes de la seconde.

Indice 2

Chaque livre n'a qu'un seul auteur existant dans la base.

Voir la correction pas à pas
  1. Chacun des 4 auteurs est associé à chacun des 5 livres : 4 × 5 = 20 n-uplets.

  2. Les attributs de deux relations s'additionnent : 4 + 3 = 7 attributs.

  3. Chaque livre a un seul auteur, donc il y a 5 associations correctes sur les 20. Les 15 autres associent un livre à un auteur qui ne l'a pas écrit. C'est pourquoi on filtre ensuite avec la clé étrangère.

Le produit cartésien produit beaucoup de lignes inutiles. La clé étrangère sert justement à ne garder que les associations qui ont un sens.

Exercice 3 Mesurer la redondance évitée

★★★Environ 12 min

Un magasin enregistre 200 commandes passées par 50 clients. Chaque client a une adresse de livraison.

Organisation A : une seule table commande qui contient, à chaque ligne, l'adresse complète du client.

Organisation B : deux relations, client (avec l'adresse) et commande (avec une clé étrangère vers client).

  1. Combien d'adresses sont écrites dans l'organisation A ? Dans l'organisation B ?
  2. Combien d'écritures d'adresse évite-t-on avec B ?
  3. Écris le schéma de l'organisation B.
  4. Un client déménage. Combien de lignes faut-il modifier dans A (s'il a passé 4 commandes) ? Dans B ?
Indice 1

Dans A, on recopie l'adresse à chaque commande.

Indice 2

Dans B, l'adresse se trouve dans la relation client, une fois par client.

Voir la correction pas à pas
  1. Dans A, une adresse par commande : 200. Dans B, une adresse par client : 50.

  2. On évite 200 − 50 = 150 écritures d'adresse.

  3. Schéma de B : client (id, nom, adresse) et commande (id, date, #id_client).

  4. Dans A, il faut modifier 4 lignes, et en oublier une crée une incohérence. Dans B, une seule ligne de client change, et toutes les commandes sont à jour.

Séparer les informations par sujet évite les répétitions, simplifie les corrections et protège la cohérence : c'est le but du schéma relationnel.

Quiz

8 questions · correction immédiate · ton score reste sur ton appareil.

  1. Dans une base de données relationnelle, comment s'appelle une ligne d'une relation ?

  2. Que représentent les attributs d'une relation ?

  3. Quel est le rôle d'une clé étrangère ?

  4. Deux n-uplets d'une même relation peuvent avoir la même valeur de clé primaire.

  5. Quelles affirmations sont correctes ?

    Plusieurs réponses possibles.

  6. Une relation compte 7 n-uplets et 4 attributs. Combien de valeurs contient-elle ?

  7. Dans l'écriture d'un schéma de bac, que signifie le symbole # devant un attribut ?

  8. Dans la relation livre, on trouve id_auteur = 9, mais aucun auteur n'a la clé 9. Quel problème cela pose-t-il ?

Les questions qu'on se pose

Quelle différence entre une relation et une table ?

Dans le modèle, on parle de relation ; quand on pense au stockage dans le SGBD, on parle de table 6. Dans la pratique, ce sont les mêmes tableaux, et les sujets de bac emploient les deux mots.

Une clé primaire peut-elle être composée de plusieurs attributs ?

Oui, un groupe d'attributs peut jouer ce rôle quand aucun attribut seul ne suffit à identifier la ligne. En Terminale, la grande majorité des exemples utilisent un seul attribut, souvent un identifiant ou un numéro de série comme num_ser 2.

Pourquoi ne pas tout mettre dans une seule grande table ?

Parce que les informations seraient répétées, donc plus lourdes et sources d'incohérences : une correction oubliée sur une ligne, et la base se contredit. Le schéma relationnel vise à minimiser la redondance et à maximiser la cohérence 6.

Qu'est-ce qui tombe au bac sur ce chapitre ?

Un exercice sur les bases de données relationnelles et SQL figure dans les sujets de la spécialité NSI 23. Il demande de lire un schéma, d'identifier des clés, de justifier un choix de clé primaire ou étrangère, puis d'écrire des requêtes. Maîtriser le vocabulaire de ce chapitre te permet de comprendre l'énoncé avant même d'écrire en SQL.

Le modèle relationnel est-il toujours le meilleur choix ?

Il est très répandu : utilisé dans la grande majorité des bases de données depuis les années 1990 6. D'autres approches existent, par exemple les SGBD orientés objet 6, mais le programme de NSI se concentre sur le cas relationnel et sur SQL.

Sources

Programme visé : Programmes et ressources en Numérique et Sciences Informatiques - voie générale - Terminale · Éduscol / Ministère de l'Éducation nationale

  1. Programmes et ressources en Numérique et Sciences Informatiques - voie générale - Terminale, Éduscol / Ministère de l'Éducation nationale. Consulté le 7 novembre 2026.
  2. Baccalauréat général 2025 : NSI, Ministère de l'Éducation nationale. Consulté le 7 novembre 2026.
  3. Spécialité NSI - Ressources Éduscol STI, Éduscol. Consulté le 7 novembre 2026.
  4. DIU EIL - Diplôme Inter-Universitaire Enseigner l'Informatique au Lycée, Université Grenoble-Alpes. Consulté le 7 novembre 2026.
  5. Modèle relationnel, Wikipédia. Consulté le 7 novembre 2026.
  6. Base de données relationnelle, Wikipédia. Consulté le 7 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.

Signaler une erreur sur cette page

Je suis en…

Primaire

  • CP Bientôt
  • CE1 Bientôt
  • CE2 Bientôt
  • CM1 Bientôt
  • CM2 Bientôt

Collège

Lycée

Supérieur

  • BTS Bientôt
  • BUT Bientôt
  • Licence Bientôt
  • Prépas Bientôt

Sur cette page