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 fait WHERE country IN ('NL', 'BE', 'DE') ?

  1. AIl conserve les lignes dont la valeur de country contient les trois codes à la fois
  2. BIl conserve les lignes dont le pays n'est pas dans la liste
  3. CIl conserve les lignes dont le pays est égal à l'une des valeurs de la liste
  4. DIl trie les lignes dans l'ordre de la liste
2.Facile

Que fait une contrainte CHECK ?

  1. AElle compte les lignes d'une table
  2. BElle vérifie si une table existe avant qu'une requête lui soit appliquée
  3. CElle vérifie le mot de passe de l'utilisateur
  4. DElle rejette les lignes dont les valeurs ne satisfont pas une condition
3.Facile

Dans un motif LIKE, que représente le caractère générique % ?

  1. AUn chiffre quelconque
  2. BLa fin de la chaîne
  3. CExactement un caractère à cette position de la chaîne
  4. DToute suite de zéro caractère ou plus
4.Moyen

Une table employees possède une colonne manager_id qui fait référence à un autre employé. Comment lister chaque employé à côté du nom de son responsable ?

  1. AJoindre la table employees à elle-même avec deux alias
  2. BCréer une seconde copie de la table sur disque
  3. CCombiner la table avec elle-même au moyen de UNION ALL et d'un filtre WHERE
  4. DUtiliser uniquement GROUP BY manager_id
5.Moyen

Qu'est-ce qu'une injection SQL ?

  1. AUn moyen d'ajouter des index
  2. BUne technique de sauvegarde de base de données
  3. CUne technique pour insérer rapidement de nombreuses lignes avec une seule instruction INSERT
  4. DUne attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
6.Moyen

Quelle affirmation sur HAVING est correcte ?

  1. AElle ne peut pas être utilisée avec GROUP BY
  2. BElle doit figurer avant WHERE dans l'instruction SELECT
  3. CElle peut utiliser des fonctions d'agrégation pour filtrer les groupes
  4. DElle trie les résultats
7.Difficile

Quel niveau d'isolation empêche les lectures sales (dirty reads) mais autorise encore les lectures non répétables ?

  1. ARepeatable read
  2. BRead uncommitted
  3. CSerializable
  4. DRead committed
8.Difficile

Pourquoi une requête avec WHERE YEAR(order_date) = 2025 pourrait-elle ne pas utiliser un index sur order_date ?

  1. AYEAR n'est pas du SQL valide
  2. BAppliquer une fonction à la colonne empêche une simple recherche par plage dans l'index
  3. CUn index sur order_date n'est utilisé que pour les clauses ORDER BY, jamais pour WHERE
  4. DLes index ne fonctionnent jamais avec des dates

Corrigé

  1. 1. C · Il conserve les lignes dont le pays est égal à l'une des valeurs de la liste
  2. 2. D · Elle rejette les lignes dont les valeurs ne satisfont pas une condition
  3. 3. D · Toute suite de zéro caractère ou plus
  4. 4. A · Joindre la table employees à elle-même avec deux alias
  5. 5. D · Une attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
  6. 6. C · Elle peut utiliser des fonctions d'agrégation pour filtrer les groupes
  7. 7. D · Read committed
  8. 8. B · Appliquer une fonction à la colonne empêche une simple recherche par plage dans l'index

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