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 GROUP BY dans une requête ?

  1. AIl joint deux tables sur leurs colonnes communes
  2. BIl regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
  3. CIl supprime les lignes contenant des valeurs NULL
  4. DIl trie les lignes du résultat par ordre alphabétique
2.Facile

Un client peut passer de nombreuses commandes, mais chaque commande appartient à exactement un client. De quel type d'association s'agit-il ?

  1. AUn-à-plusieurs
  2. BPlusieurs-à-plusieurs
  3. CUn-à-un
  4. DZéro-à-zéro
3.Facile

Que renvoie un CROSS JOIN ?

  1. AToutes les combinaisons de lignes des deux tables
  2. BUniquement les lignes qui ne correspondent pas
  3. CUniquement les lignes qui correspondent sur une colonne clé commune
  4. DUniquement les lignes de la première table
4.Moyen

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

  1. AUne erreur
  2. BUne chaîne vide
  3. CNULL
  4. D'unknown'
5.Moyen

Qu'est-ce qu'une lecture sale (dirty read) ?

  1. ALa lecture de données sans clause WHERE
  2. BLa lecture de données écrites par une autre transaction qui n'a pas encore été validée
  3. CLa lecture de données sur un disque corrompu
  4. DLa lecture d'une même ligne deux fois avec la même valeur
6.Moyen

Une table contient des lignes où col est NULL. Quelles lignes WHERE col = NULL renvoie-t-il ?

  1. AUniquement les lignes où col est NULL, comme avec IS NULL
  2. BToutes les lignes de la table
  3. CAucune ligne, car la comparaison est inconnue
  4. DUne erreur dans toutes les bases de données
7.Difficile

Deux médecins de garde vérifient chacun que l'autre est encore de garde, puis se désinscrivent tous les deux en même temps. Quelle anomalie l'isolation par instantané (snapshot isolation) peut-elle encore permettre ici ?

  1. ALa lecture sale
  2. BL'écriture sale
  3. CLa lecture non reproductible au sein d'une transaction
  4. DLe write skew (écriture biaisée)
8.Difficile

Une table a un million de lignes et une colonne booléenne is_active vraie pour 95% d'entre elles. Pourquoi l'optimiseur pourrait-il ignorer un index sur is_active pour WHERE is_active = TRUE ?

  1. AOn ne peut pas créer d'index sur des colonnes booléennes
  2. BL'optimiseur n'utilise jamais d'index dans les clauses WHERE
  3. CLa plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index
  4. DL'index traite TRUE comme NULL

Corrigé

  1. 1. B · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
  2. 2. A · Un-à-plusieurs
  3. 3. A · Toutes les combinaisons de lignes des deux tables
  4. 4. D · 'unknown'
  5. 5. B · La lecture de données écrites par une autre transaction qui n'a pas encore été validée
  6. 6. C · Aucune ligne, car la comparaison est inconnue
  7. 7. D · Le write skew (écriture biaisée)
  8. 8. C · La plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index

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