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
Quelles lignes WHERE price BETWEEN 10 AND 20 sélectionne-t-il ?
ALes lignes dont le prix est supérieur à 10 et inférieur à 20, 10 et 20 exclus
BLes lignes dont le prix va de 10 à 20, bornes 10 et 20 incluses
CLes lignes dont le prix est en dehors de l'intervalle de 10 à 20
DUniquement les lignes dont le prix est égal à 10 ou à 20
2.Facile
Qu'est-ce qu'une clé de substitution (surrogate key) ?
AUne clé qui fait référence à une autre table
BUne clé utilisée uniquement dans les vues
CUne clé tirée de données réelles, comme une adresse e-mail
DUn identifiant artificiel sans signification métier, comme un id auto-incrémenté
3.Facile
Quel mot-clé trie le résultat d'une requête ?
AGROUP BY
BARRANGE
CSORT
DORDER BY
4.Moyen
En algèbre relationnelle, l'opérateur de sélection (σ) correspond à quelle clause SQL ?
AWHERE
BLa liste du SELECT
CORDER BY
DGROUP BY
5.Moyen
En algèbre relationnelle, l'opérateur de projection (π) correspond :
AAu choix des lignes qui satisfont une condition donnée
BÀ la combinaison de deux tables sur une clé
CAu tri du résultat
DAu choix des colonnes qui apparaissent dans le résultat
6.Moyen
Une clé étrangère est déclarée avec ON DELETE CASCADE. Que se passe-t-il quand une ligne parente est supprimée ?
ALa clé étrangère des lignes enfants est mise à NULL automatiquement
BLa suppression est toujours refusée
CLa ligne parente est copiée dans une table d'archive
DLes lignes enfants qui y font référence sont supprimées automatiquement
7.Difficile
La requête FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' élimine de façon inattendue les clients sans commande. Pourquoi ?
ALEFT JOIN ne conserve jamais les lignes sans correspondance
BLa condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne
Cstatus est un mot réservé
DLa jointure devrait utiliser USING au lieu de ON
8.Difficile
Quel niveau d'isolation empêche les lectures sales (dirty reads) mais autorise encore les lectures non répétables ?
ARead committed
BRead uncommitted
CRepeatable read
DSerializable
Corrigé
1. B · Les lignes dont le prix va de 10 à 20, bornes 10 et 20 incluses
2. D · Un identifiant artificiel sans signification métier, comme un id auto-incrémenté
3. D · ORDER BY
4. A · WHERE
5. D · Au choix des colonnes qui apparaissent dans le résultat
6. D · Les lignes enfants qui y font référence sont supprimées automatiquement
7. B · La condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne
8. A · Read committed
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.