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. ASUM
  2. BAVG
  3. CMEAN
  4. DMEDIAN
2.Facile

Qu'est-ce qu'une clé de substitution (surrogate key) ?

  1. AUne clé qui fait référence à une autre table
  2. BUne clé tirée de données réelles, comme une adresse e-mail
  3. CUn identifiant artificiel sans signification métier, comme un id auto-incrémenté
  4. DUne clé utilisée uniquement dans les vues
3.Facile

Dans un motif LIKE, que représente le caractère générique _ (tiret bas) ?

  1. AUne lettre quelconque, mais pas un chiffre
  2. BExactement un caractère
  3. CUn caractère espace
  4. DZéro caractère ou plus
4.Moyen

En algèbre relationnelle, l'opérateur de projection (π) correspond :

  1. AAu choix des lignes qui satisfont une condition donnée
  2. BAu choix des colonnes qui apparaissent dans le résultat
  3. CÀ la combinaison de deux tables sur une clé
  4. DAu tri du résultat
5.Moyen

Une colonne contient les valeurs 10, 20 et NULL. Que renvoie AVG(col) ?

  1. A15
  2. B10
  3. C30
  4. DNULL
6.Moyen

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

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

Après customers LEFT JOIN orders, pourquoi utiliser COUNT(o.id) plutôt que COUNT(*) pour compter les commandes par client ?

  1. ACOUNT(*) ignore les lignes contenant des valeurs NULL
  2. BCOUNT(*) n'est pas autorisé après une jointure
  3. CCOUNT(o.id) ne compte que les clients distincts
  4. DCOUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
8.Difficile

Quelle fonction de fenêtrage attribue 1, 2, 3, ... aux lignes de chaque partition, sans ex æquo ?

  1. ARANK()
  2. BROW_NUMBER()
  3. CCOUNT()
  4. DDENSE_RANK()

Corrigé

  1. 1. B · AVG
  2. 2. C · Un identifiant artificiel sans signification métier, comme un id auto-incrémenté
  3. 3. B · Exactement un caractère
  4. 4. B · Au choix des colonnes qui apparaissent dans le résultat
  5. 5. A · 15
  6. 6. B · Pour accélérer les recherches et les jointures sur ces colonnes
  7. 7. D · COUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
  8. 8. B · ROW_NUMBER()

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