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

Un INNER JOIN renvoie :

  1. AToutes les lignes de la table de gauche, avec des NULL là où il n'y a pas de correspondance
  2. BToutes les lignes des deux tables
  3. CLes lignes qui ne correspondent pas
  4. DUniquement les lignes ayant des valeurs correspondantes dans les deux tables
2.Facile

Que fait WHERE country IN ('NL', 'BE', 'DE') ?

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

Que représente NULL en SQL ?

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

Que renvoie SELECT COALESCE(phone, 'unknown') FROM customers pour un client dont le téléphone est NULL ?

  1. ANULL
  2. BUne chaîne vide
  3. C'unknown'
  4. DUne erreur
5.Moyen

La deuxième forme normale (2NF) élimine :

  1. ALes dépendances partielles des colonnes non clés vis-à-vis d'une partie d'une clé composée
  2. BLes clés étrangères
  3. CLes dépendances transitives entre colonnes non clés via une autre colonne non clé
  4. DToutes les valeurs NULL
6.Moyen

Pourquoi SELECT price * 2 AS double_price FROM t WHERE double_price > 10 échoue-t-il dans la plupart des bases de données ?

  1. ALes alias ne peuvent pas contenir de tiret bas
  2. BWHERE ne peut comparer que des colonnes de texte
  3. CL'arithmétique n'est pas autorisée dans la liste du SELECT
  4. DWHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
7.Difficile

Deux transactions lisent toutes deux stock = 10, retirent chacune 1 et écrivent le résultat, ce qui donne 9 au lieu de 8. De quelle anomalie s'agit-il ?

  1. AUne lecture fantôme
  2. BUne mise à jour perdue (lost update)
  3. CUne anomalie de suppression
  4. DUne lecture sale
8.Difficile

Quand un ordonnancement de transactions concurrentes est-il dit sérialisable ?

  1. AQuand aucune transaction ne lit jamais de données
  2. BQuand les transactions s'exécutent sur un seul processeur
  3. CQuand chaque transaction reçoit un numéro de série
  4. DQuand son effet équivaut à une exécution en série des mêmes transactions

Corrigé

  1. 1. D · Uniquement les lignes ayant des valeurs correspondantes dans les deux tables
  2. 2. B · Il conserve les lignes dont le pays est égal à l'une des valeurs de la liste
  3. 3. B · Une valeur manquante ou inconnue
  4. 4. C · 'unknown'
  5. 5. A · Les dépendances partielles des colonnes non clés vis-à-vis d'une partie d'une clé composée
  6. 6. D · WHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
  7. 7. B · Une mise à jour perdue (lost update)
  8. 8. D · Quand son effet équivaut à une exécution en série des mêmes transactions

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