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 clause filtre les lignes avant le regroupement ?

  1. AGROUP BY
  2. BHAVING
  3. CWHERE
  4. DORDER BY
2.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 est égal à l'une des valeurs de la liste
  3. CIl conserve les lignes dont le pays n'est pas dans la liste
  4. DIl trie les lignes dans l'ordre de la liste
3.Facile

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

  1. AMEDIAN
  2. BMEAN
  3. CSUM
  4. DAVG
4.Moyen

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

  1. ALes lignes ne peuvent être stockées physiquement que dans un seul ordre
  2. BLa norme SQL interdit d'avoir plus d'un index sur une table
  3. CLes index clustérisés utilisent trop de mémoire
  4. DLes index clustérisés ne peuvent porter que sur la clé primaire
5.Moyen

La table a compte 3 lignes et la table b 4 lignes. Combien de lignes SELECT * FROM a CROSS JOIN b renvoie-t-il ?

  1. A7
  2. B3
  3. C12
  4. D4
6.Moyen

La première forme normale (1NF) exige que :

  1. AChaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
  2. BChaque table ait exactement une colonne
  3. CIl n'y ait pas de clés étrangères
  4. DChaque colonne non clé dépende de toute la clé et de rien d'autre que la clé
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(*) compte pour 1 la ligne remplie de NULL des clients sans commande
  2. BCOUNT(*) n'est pas autorisé après une jointure
  3. CCOUNT(o.id) ne compte que les clients distincts
  4. DCOUNT(*) ignore les lignes contenant des valeurs NULL
8.Difficile

La forme normale de Boyce-Codd (BCNF) exige que, pour toute dépendance fonctionnelle non triviale X → Y :

  1. AY soit une clé primaire
  2. BX soit une super-clé
  3. CY soit atomique
  4. DX contienne NULL

Corrigé

  1. 1. C · WHERE
  2. 2. B · Il conserve les lignes dont le pays est égal à l'une des valeurs de la liste
  3. 3. D · AVG
  4. 4. A · Les lignes ne peuvent être stockées physiquement que dans un seul ordre
  5. 5. C · 12
  6. 6. A · Chaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
  7. 7. A · COUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
  8. 8. B · X soit une super-clé

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