Fiche d’exercices de Bases de données et SQL avec corrigé
Fiche d’exercices de Bases de données et SQL gratuite et imprimable : 8 exercices, du niveau facile au niveau examen, avec corrigé. Imprimez-la ou enregistrez-la en PDF.
Pour les enseignants : gratuite à imprimer, copier et utiliser en classe. Chaque nouvelle fiche a de nouvelles valeurs et son propre corrigé. Un lien vers ExamProblems sur la page de votre cours est apprécié.
Nom: ____________________ Date: ____________
1.Facile
Qu'est-ce qu'une clé de substitution (surrogate key) ?
AUne clé tirée de données réelles, comme une adresse e-mail
BUne clé qui fait référence à une autre table
CUne clé utilisée uniquement dans les vues
DUn identifiant artificiel sans signification métier, comme un id auto-incrémenté
2.Facile
Comment trier un résultat du salaire le plus élevé au plus bas ?
AORDER BY salary DESC
BORDER BY salary ASC
CGROUP BY salary DESC
DSORT salary DOWN
3.Facile
Qu'est-ce qu'une clé composée (composite key) ?
AUne clé formée de deux colonnes ou plus
BUne clé stockée dans une table séparée
CUne clé qui autorise les doublons
DUne clé générée par la base de données
4.Moyen
Une table contient des lignes où col est NULL. Quelles lignes WHERE col = NULL renvoie-t-il ?
AToutes les lignes de la table
BAucune ligne, car la comparaison est inconnue
CUniquement les lignes où col est NULL, comme avec IS NULL
DUne erreur dans toutes les bases de données
5.Moyen
Qu'apporte une expression de table commune (WITH name AS (...)) ?
AUn nouvel utilisateur de la base de données
BUn index sur une colonne
CUn résultat temporaire nommé, utilisable au sein d'une seule instruction
DUne table permanente qui reste stockée sur disque jusqu'à sa suppression
6.Moyen
Que renvoie SELECT COALESCE(phone, 'unknown') FROM customers pour un client dont le téléphone est NULL ?
ANULL
BUne erreur
CUne chaîne vide
D'unknown'
7.Difficile
Pourquoi une requête avec WHERE YEAR(order_date) = 2025 pourrait-elle ne pas utiliser un index sur order_date ?
AUn index sur order_date n'est utilisé que pour les clauses ORDER BY, jamais pour WHERE
BAppliquer une fonction à la colonne empêche une simple recherche par plage dans l'index
CYEAR n'est pas du SQL valide
DLes index ne fonctionnent jamais avec des dates
8.Difficile
Que renvoie la requête suivante : SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students) ?
ALa note moyenne de tous les étudiants
BUne erreur, car les sous-requêtes ne sont pas autorisées dans WHERE
CUniquement les étudiants ayant la note la plus élevée
DLes étudiants dont la note est supérieure à la note moyenne
Corrigé
1. D · Un identifiant artificiel sans signification métier, comme un id auto-incrémenté
2. A · ORDER BY salary DESC
3. A · Une clé formée de deux colonnes ou plus
4. B · Aucune ligne, car la comparaison est inconnue
5. C · Un résultat temporaire nommé, utilisable au sein d'une seule instruction
6. D · 'unknown'
7. B · Appliquer une fonction à la colonne empêche une simple recherche par plage dans l'index
8. D · Les étudiants dont la note est supérieure à la note moyenne
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.