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

Quelle fonction d'agrégation renvoie la moyenne d'une colonne numérique ?

  1. AMEDIAN
  2. BMEAN
  3. CAVG
  4. DSUM
2.Facile

Qu'est-ce qu'une clé composée (composite key) ?

  1. AUne clé formée de deux colonnes ou plus
  2. BUne clé stockée dans une table séparée
  3. CUne clé générée par la base de données
  4. DUne clé qui autorise les doublons
3.Facile

Quelle instruction supprime une table entière, structure comprise ?

  1. ADROP TABLE
  2. BTRUNCATE ROWS
  3. CREMOVE TABLE
  4. DDELETE FROM
4.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 trie les résultats
  4. DElle peut utiliser des fonctions d'agrégation pour filtrer les groupes
5.Moyen

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

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

Pourquoi crée-t-on des index sur des colonnes ?

  1. APour accélérer les recherches et les jointures sur ces colonnes
  2. BPour rendre les insertions et les mises à jour plus rapides sur ces colonnes
  3. CPour empêcher les valeurs NULL
  4. DPour économiser de l'espace disque
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. BCOUNT(*) ne peut pas être utilisé avec GROUP BY
  3. CGROUP BY doit lister toutes les colonnes de la table
  4. Dname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
8.Difficile

Que renvoie la requête suivante : SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students) ?

  1. AUniquement les étudiants ayant la note la plus élevée
  2. BUne erreur, car les sous-requêtes ne sont pas autorisées dans WHERE
  3. CLa note moyenne de tous les étudiants
  4. DLes étudiants dont la note est supérieure à la note moyenne

Corrigé

  1. 1. C · AVG
  2. 2. A · Une clé formée de deux colonnes ou plus
  3. 3. A · DROP TABLE
  4. 4. D · Elle peut utiliser des fonctions d'agrégation pour filtrer les groupes
  5. 5. A · La lecture de données écrites par une autre transaction qui n'a pas encore été validée
  6. 6. A · Pour accélérer les recherches et les jointures sur ces colonnes
  7. 7. D · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
  8. 8. D · Les étudiants dont la note est supérieure à la note moyenne

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