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 ?

  1. ALe nombre zéro dans les colonnes numériques
  2. BUne valeur manquante ou inconnue
  3. CUne chaîne vide
  4. DUn booléen faux
2.Facile

Quelle fonction d'agrégation compte les lignes ?

  1. ASUM
  2. BMAX
  3. CAVG
  4. DCOUNT
3.Facile

Quelle instruction supprime des lignes d'une table ?

  1. AREMOVE
  2. BDELETE
  3. CDROP
  4. DTRUNCATE COLUMN
4.Moyen

Qu'apporte une expression de table commune (WITH name AS (...)) ?

  1. AUn nouvel utilisateur de la base de données
  2. BUn index sur une colonne
  3. CUn résultat temporaire nommé, utilisable au sein d'une seule instruction
  4. 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 ?

  1. AQuand la sous-requête renvoie exactement une ligne
  2. BQuand la sous-requête renvoie au moins une ligne
  3. CQuand la sous-requête ne renvoie aucune valeur NULL
  4. 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 ?

  1. ALa ligne parente est copiée dans une table d'archive
  2. BLa suppression est toujours refusée
  3. CLes lignes enfants qui y font référence sont supprimées automatiquement
  4. 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 ?

  1. Adept doit figurer dans une fonction d'agrégation
  2. Bname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
  3. CGROUP BY doit lister toutes les colonnes de la table
  4. 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 ?

  1. ASerializable
  2. BRead uncommitted
  3. CRepeatable read
  4. DRead committed

Corrigé

  1. 1. B · Une valeur manquante ou inconnue
  2. 2. D · COUNT
  3. 3. B · DELETE
  4. 4. C · Un résultat temporaire nommé, utilisable au sein d'une seule instruction
  5. 5. B · Quand la sous-requête renvoie au moins une ligne
  6. 6. C · Les lignes enfants qui y font référence sont supprimées automatiquement
  7. 7. B · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
  8. 8. D · Read committed

Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.