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 renvoie un CROSS JOIN ?

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

Quelle fonction d'agrégation compte les lignes ?

  1. ACOUNT
  2. BMAX
  3. CAVG
  4. DSUM
3.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
4.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. BL'arithmétique n'est pas autorisée dans la liste du SELECT
  3. CWHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
  4. DWHERE ne peut comparer que des colonnes de texte
5.Moyen

Quand WHERE EXISTS (sous-requête) est-il vrai pour une ligne ?

  1. AQuand la sous-requête renvoie au moins une ligne
  2. BQuand la sous-requête ne renvoie aucune valeur NULL
  3. CQuand la sous-requête renvoie un nombre supérieur à zéro
  4. DQuand la sous-requête renvoie exactement une ligne
6.Moyen

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

  1. ALa lecture d'une même ligne deux fois avec la même valeur
  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 sans clause WHERE
  4. DLa lecture de données sur un disque corrompu
7.Difficile

Pourquoi NATURAL JOIN est-il considéré comme risqué dans les requêtes de production ?

  1. AIl ignore les clés primaires et étrangères et ne garde que les lignes NULL
  2. BIl renvoie toujours un produit cartésien
  3. CIl n'est pris en charge par aucune base de données
  4. DIl joint sur toutes les colonnes de même nom, si bien qu'une nouvelle colonne peut modifier le résultat sans prévenir
8.Difficile

Que montre EXPLAIN (ou EXPLAIN ANALYZE dans PostgreSQL) pour une requête ?

  1. ALa liste des utilisateurs qui ont exécuté la requête
  2. BUniquement une réécriture de la requête en notation d'algèbre relationnelle
  3. CLa signification de chaque mot-clé SQL de la requête
  4. DLe plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure

Corrigé

  1. 1. B · Toutes les combinaisons de lignes des deux tables
  2. 2. A · COUNT
  3. 3. C · Il conserve les lignes dont le pays est égal à l'une des valeurs de la liste
  4. 4. C · WHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
  5. 5. A · Quand la sous-requête renvoie au moins une ligne
  6. 6. B · La lecture de données écrites par une autre transaction qui n'a pas encore été validée
  7. 7. D · Il joint sur toutes les colonnes de même nom, si bien qu'une nouvelle colonne peut modifier le résultat sans prévenir
  8. 8. D · Le plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure

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