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. BORDER BY
  3. CWHERE
  4. DHAVING
2.Facile

Un INNER JOIN renvoie :

  1. AToutes les lignes des deux tables
  2. BLes lignes qui ne correspondent pas
  3. CUniquement les lignes ayant des valeurs correspondantes dans les deux tables
  4. DToutes les lignes de la table de gauche, avec des NULL là où il n'y a pas de correspondance
3.Facile

Dans le modèle relationnel, comment appelle-t-on une ligne d'une table ?

  1. AUn schéma
  2. BUn domaine
  3. CUn tuple (n-uplet)
  4. DUn attribut
4.Moyen

La troisième forme normale (3NF) élimine :

  1. ALes clés composées
  2. BLes dépendances transitives entre attributs non clés
  3. CLes valeurs atomiques
  4. DLes index redondants sur des colonnes qui ne font pas partie d'une clé
5.Moyen

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

  1. A15
  2. B10
  3. CNULL
  4. D30
6.Moyen

Quelle requête renvoie le nombre de commandes par client ?

  1. ASELECT customer_id FROM orders WHERE COUNT(*) > 0
  2. BSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
  3. CSELECT DISTINCT COUNT(*) FROM orders
  4. DSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
7.Difficile

La table employee(emp_id, dept_id, dept_name) a pour clé emp_id, et dept_id → dept_name. Quelle affirmation est correcte ?

  1. AElle n'est pas en 1NF
  2. BElle n'est pas en 2NF
  3. CElle est en 2NF mais pas en 3NF
  4. DElle est en BCNF et donc en 3NF
8.Difficile

Deux transactions lisent toutes deux stock = 10, retirent chacune 1 et écrivent le résultat, ce qui donne 9 au lieu de 8. De quelle anomalie s'agit-il ?

  1. AUne lecture fantôme
  2. BUne anomalie de suppression
  3. CUne mise à jour perdue (lost update)
  4. DUne lecture sale

Corrigé

  1. 1. C · WHERE
  2. 2. C · Uniquement les lignes ayant des valeurs correspondantes dans les deux tables
  3. 3. C · Un tuple (n-uplet)
  4. 4. B · Les dépendances transitives entre attributs non clés
  5. 5. A · 15
  6. 6. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  7. 7. C · Elle est en 2NF mais pas en 3NF
  8. 8. C · Une mise à jour perdue (lost update)

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