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 des lignes d'une table ?

  1. ADROP
  2. BTRUNCATE COLUMN
  3. CDELETE
  4. DREMOVE
4.Moyen

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

  1. APour empêcher les valeurs NULL
  2. BPour accélérer les recherches et les jointures sur ces colonnes
  3. CPour économiser de l'espace disque
  4. DPour rendre les insertions et les mises à jour plus rapides sur ces colonnes
5.Moyen

Pourquoi une table ne peut-elle avoir qu'un seul index clustérisé (clustered index) ?

  1. ALes index clustérisés utilisent trop de mémoire
  2. BLa norme SQL interdit d'avoir plus d'un index sur une table
  3. CLes index clustérisés ne peuvent porter que sur la clé primaire
  4. DLes lignes ne peuvent être stockées physiquement que dans un seul ordre
6.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. CUtiliser uniquement GROUP BY manager_id
  4. DCombiner la table avec elle-même au moyen de UNION ALL et d'un filtre WHERE
7.Difficile

Pourquoi SELECT dept, name, COUNT(*) FROM emp GROUP BY dept est-il invalide en SQL standard ?

  1. ACOUNT(*) ne peut pas être utilisé avec GROUP BY
  2. BGROUP BY doit lister toutes les colonnes de la table
  3. Cname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
  4. Ddept doit figurer dans une fonction d'agrégation
8.Difficile

Qu'est-ce qu'une lecture fantôme (phantom read) ?

  1. AUne requête qui ne renvoie aucune ligne
  2. BLa lecture de données qui n'ont jamais été écrites
  3. CLa lecture de modifications non validées
  4. DUne requête répétée renvoie de nouvelles lignes insérées par une autre transaction validée

Corrigé

  1. 1. C · AVG
  2. 2. A · Une clé formée de deux colonnes ou plus
  3. 3. C · DELETE
  4. 4. B · Pour accélérer les recherches et les jointures sur ces colonnes
  5. 5. D · Les lignes ne peuvent être stockées physiquement que dans un seul ordre
  6. 6. A · Joindre la table employees à elle-même avec deux alias
  7. 7. C · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
  8. 8. D · Une requête répétée renvoie de nouvelles lignes insérées par une autre transaction validée

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