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
Que représente NULL en SQL ?
ALe nombre zéro dans les colonnes numériques
BUne valeur manquante ou inconnue
CUne chaîne vide
DUn booléen faux
2.Facile
Quelle fonction d'agrégation compte les lignes ?
ASUM
BMAX
CAVG
DCOUNT
3.Facile
Quelle instruction supprime des lignes d'une table ?
AREMOVE
BDELETE
CDROP
DTRUNCATE COLUMN
4.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
5.Moyen
Quand WHERE EXISTS (sous-requête) est-il vrai pour une ligne ?
AQuand la sous-requête renvoie exactement une ligne
BQuand la sous-requête renvoie au moins une ligne
CQuand la sous-requête ne renvoie aucune valeur NULL
DQuand la sous-requête renvoie un nombre supérieur à zéro
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 ligne parente est copiée dans une table d'archive
BLa suppression est toujours refusée
CLes lignes enfants qui y font référence sont supprimées automatiquement
DLa clé étrangère des lignes enfants est mise à NULL automatiquement
7.Difficile
Pourquoi SELECT dept, name, COUNT(*) FROM emp GROUP BY dept est-il invalide en SQL standard ?
Adept doit figurer dans une fonction d'agrégation
Bname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
CGROUP BY doit lister toutes les colonnes de la table
DCOUNT(*) ne peut pas être utilisé avec GROUP BY
8.Difficile
Quel niveau d'isolation empêche les lectures sales (dirty reads) mais autorise encore les lectures non répétables ?
ASerializable
BRead uncommitted
CRepeatable read
DRead committed
Corrigé
1. B · Une valeur manquante ou inconnue
2. D · COUNT
3. B · DELETE
4. C · Un résultat temporaire nommé, utilisable au sein d'une seule instruction
5. B · Quand la sous-requête renvoie au moins une ligne
6. C · Les lignes enfants qui y font référence sont supprimées automatiquement
7. B · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
8. D · Read committed
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.