Bases de données relationnelles et requêtes
InformatiqueFichiers, stockage et bases de données16–17 ans
Utilisez-la avec votre classe : vos élèves l’ouvrent par un lien ou un QR code, sans créer de compte.
Deux tables, STUDENTS (élèves) et CLASSES, sont liées par la clé étrangère ClassID qui renvoie à la clé primaire ClassID de la table CLASSES. Les élèves construisent une requête avec un ensemble de sélecteurs : quelle table utiliser, faut-il joindre les deux tables, quelle est la condition de filtre, sur quelle colonne trier et combien de lignes renvoyer. Le programme génère l’instruction SQL correspondante et l’exécute en direct sur les données : modifier une condition change aussitôt la table de résultats ; cliquer sur une ligne montre à quelle ligne de l’autre table elle a été jointe.
Leçon : Bases de données relationnelles : clé primaire, clé étrangère, requêtes SELECT avec conditions, jointures et tri
Ce qu’elle montre
Une base de données relationnelle range les données dans des tables composées d’enregistrements et de champs. Chaque table a une clé primaire dont les valeurs sont uniques et jamais vides, et une clé étrangère dans une autre table fait référence à cette clé primaire pour relier les enregistrements. Ici, la table STUDENTS (élèves) contient ClassID, une clé étrangère qui pointe vers la table CLASSES : les informations de chaque classe sont stockées une seule fois au lieu d’être répétées pour chaque élève. La simulation traduit vos choix en une requête SQL SELECT avec JOIN, WHERE, ORDER BY et une limite de lignes, puis l’exécute sur les données.
Mode d’emploi
Commencez avec Jointure réglée sur Table STUDENTS seule, puis passez à l’option de jointure et repérez les colonnes ajoutées. Choisissez une Colonne à filtrer, un opérateur de comparaison et saisissez une Valeur de comparaison, puis faites prévoir aux élèves les lignes renvoyées avant de cliquer sur Exécuter. Ajoutez Trier par et réduisez Nombre maximal de lignes renvoyées pour voir comment le tri et la limite se combinent. Cliquez sur une ligne du résultat pour suivre sa clé étrangère jusqu’à la table CLASSES.
Paramètres modifiables
- Jointure Table STUDENTS seule, Jointure STUDENTS et CLASSES sur ClassID, Table CLASSES seule
- Colonne à filtrer Aucun filtre, AvgScore, ClassID, Gender
- Valeur de comparaison
- Trier par Aucun tri, FullName croissant, AvgScore décroissant
- Nombre maximal de lignes renvoyées 1–12 lignes
Questions à explorer
- Pourquoi ClassID est-elle une clé primaire dans CLASSES mais une clé étrangère dans STUDENTS ?
- Avec AvgScore trié par ordre décroissant et une limite de 3 lignes, quels élèves sont renvoyés ?
- Peut-on afficher le nom de la classe de chaque élève sans joindre les deux tables ? Pourquoi ?