Adloun

Bases de données relationnelles et SQL

Cours · informatique (MP2I/MPI), chapitre 21 · MP2I et MPI · le début du chapitre, la suite sur Adloun

Le modèle relationnel : deux tables reliées par une clé étrangère, que l'on combine par une jointure.

21.1 Dire ce qu'on veut, pas comment l'obtenir

Ce chapitre est le seul du livre où l'on ne programme pas. On interroge. Et c'est la troisième famille de langages du chapitre chap:algo-prog : le déclaratif, où l'on décrit le résultat voulu sans dire par quels parcours l'atteindre.

Le programme borne l'ambition avec netteté : « on se limite volontairement à une description applicative des bases de données en langage SQL. Il s'agit de permettre d'interroger une base présentant des données à travers plusieurs relations. On ne présente ni l'algèbre relationnelle ni le calcul relationnel. »

AttentionCe qui est explicitement hors programme

La liste est longue et le B.O. la donne : « la création, la suppression et la modification de tables au travers du langage SQL sont hors programme » ; et aussi « la notion de modèle logique vs physique, les bases de données non relationnelles, les méthodes de modélisation de base, les fragments DDL, TCL et ACL du langage SQL, l'optimisation de requêtes par l'algèbre relationnelle ». La notion d'index est hors programme, ainsi que tout ce qui touche aux dates et aux collations.

On écrit donc uniquement des SELECT. C'est peu, et c'est déjà un langage complet pour interroger.

21.2 Le vocabulaire

Définition 21.1Table, attribut, enregistrement, schéma

Une table — ou relation — est un ensemble de lignes de même forme.

  • ses colonnes sont les attributs, chacun ayant un domaine : entier, flottant, chaîne ;
  • ses lignes sont les enregistrements ;
  • le schéma est la liste des attributs avec leurs domaines.

Le programme s'en tient à « une notion sommaire de domaine » et écarte toute considération sur les types des moteurs.

Exemple 21.2La base qui servira à tout le chapitre
Eleve  
idnompromo
1Alaoui2026
2Benali2026
3Cohen2027
4Dupont2027
    Matiere  
codeintitulecoef
10Informatique4
11Mathématiques9
12Physique6
Note  
elevematierevaleur
11017
11112
2108
21214
31115

Les attributs en gras forment la clé primaire. L'élève 4 n'a aucune note — ce détail servira.

Définition 21.3Clé primaire

La clé primaire est un ensemble d'attributs identifiant chaque ligne de façon unique. Le programme précise : « une clé primaire n'est pas forcément associée à un unique attribut même si c'est le cas le plus fréquent ». Dans Note, elle est le couple (eleve, matiere) : un élève n'a qu'une note par matière, mais plusieurs notes en tout.

Exercices du chapitre

La suite du cours · Tous les exercices du chapitre