Informatique & NSI · 06 / 06
Bases de données : tables, clés et requêtes
Terminale · Exemple résolu et 4 exercices corrigés, à ton rythme.
Le principe, simplement
Une table relationnelle organise des lignes en attributs typés. Une clé primaire identifie une ligne sans ambiguïté ; une clé étrangère peut relier une ligne à une autre table. Une requête filtre, projette des colonnes ou joint des relations. Le sens d’un résultat dépend des conditions et des cardinalités : une jointure peut produire plusieurs lignes pour un même objet.
- 01Table et types
- 02Clé primaire
- 03Relation
- 04Requête et cardinalité
EXEMPLE RÉSOLU
Du cours au raisonnement
Une table Élève possède id et nom ; une table Inscription possède élève_id et cours_id. Les inscriptions relient élèves et cours. Filtrer cours_id=3 trouve les inscriptions à ce cours ; obtenir les noms demande une jointure sur la clé correspondante.
Résoudre un problème dans cette matière
- Préciser le contrat
Définis entrées, types, sorties et cas interdits. Pour un algorithme de recherche, précise s’il attend une liste triée.
- Suivre un petit exemple
Fais un tableau avec valeur des variables, condition testée et action. Choisis un exemple court que tu peux vérifier à la main.
- Tester les frontières
Teste entrée vide, un élément, doublons, valeur absente et limites numériques selon le contrat. Le résultat doit être défini ou l’erreur expliquée.
- Justifier
Explique pourquoi la méthode termine et répond au problème. Distingue nombre d’opérations, temps observé et mémoire utilisée.
À TOI DE JOUER
01 · Une tentative avant la correction
Pourquoi le nom seul est-il souvent une mauvaise clé primaire ?
Un indice
Deux personnes peuvent avoir le même nom.
Voir et comprendre la correction
Il n’assure pas l’unicité et peut changer. Un identifiant stable adapté est préférable ; la clé doit rester unique et non nulle dans le modèle.
Compare la méthode, les conditions et le résultat ; indique précisément ce que tu dois reprendre.
PROGRESSER PAR LA PRATIQUE
Trois défis supplémentaires, avec correction
Commence par le premier défi. Écris ta démarche avant d’ouvrir un indice ; utilise la correction pour retrouver la première étape qui bloque.
Une table Élève contient id, nom et classe. Pourquoi le nom seul est-il une mauvaise clé ?
Un indice pour démarrer
Deux personnes peuvent avoir le même nom.
Correction étape par étape
- Une clé doit identifier une ligne sans ambiguïté.
- Des homonymes rendent nom non unique.
- Un identifiant unique adapté peut servir de clé primaire.
Quelle étape avais-tu oubliée ? Refais cet exercice sans aide, puis explique pourquoi la méthode fonctionne.
Que sélectionne SELECT nom FROM Eleve WHERE classe = '2A' ?
Un indice pour démarrer
Sépare colonnes demandées et filtre de lignes.
Correction étape par étape
- WHERE conserve les lignes de classe 2A.
- SELECT nom retourne leur colonne nom.
- La requête ne modifie pas les lignes ; elle lit des données.
Quelle étape avais-tu oubliée ? Refais cet exercice sans aide, puis explique pourquoi la méthode fonctionne.
Pourquoi une jointure Élève–Classe peut-elle produire des doublons si la clé de Classe n’est pas unique ?
Un indice pour démarrer
Chaque correspondance peut créer une ligne de résultat.
Correction étape par étape
- Un élève peut correspondre à plusieurs lignes Classe.
- La jointure retourne alors plusieurs combinaisons pour cet élève.
- Vérifie clés, cardinalités et condition de jointure avant de supprimer les doublons arbitrairement.
Quelle étape avais-tu oubliée ? Refais cet exercice sans aide, puis explique pourquoi la méthode fonctionne.
L’erreur à éviter
Une clé étrangère n’impose pas automatiquement une relation un-à-un. Cette leçon explique les modèles, sans connexion à une base réelle.
Sans tes notes, peux-tu…
- Expliquer le principe avec tes mots ?
- Reconstruire le schéma et ses liens ?
- Résoudre l’exercice et justifier la méthode ?
Choisir un état le conserve dans ce navigateur. C’est ton auto-évaluation, pas une note.