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

Des instructions comme CREATE, ALTER et DROP appartiennent à quelle partie de SQL ?

  1. ALe langage de contrôle de données (DCL)
  2. BLe langage de manipulation de données (DML)
  3. CLe langage de définition de données (DDL)
  4. DLe langage de contrôle des transactions (TCL)
2.Facile

Quelle fonction d'agrégation compte les lignes ?

  1. ASUM
  2. BCOUNT
  3. CAVG
  4. DMAX
3.Facile

Quelle instruction SQL ajoute de nouvelles lignes à une table ?

  1. AUPDATE
  2. BSELECT
  3. CINSERT
  4. DALTER
4.Moyen

Que renvoie INTERSECT utilisé entre deux requêtes SELECT ?

  1. ALes lignes du premier résultat absentes du second
  2. BLes lignes présentes dans les deux résultats
  3. CLe produit cartésien des résultats
  4. DToutes les lignes des deux résultats
5.Moyen

Quelle propriété ACID garantit que les modifications validées survivent à une panne du système ?

  1. ALa durabilité
  2. BLa cohérence
  3. CL'atomicité
  4. DL'isolation
6.Moyen

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

  1. ASELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
  2. BSELECT DISTINCT COUNT(*) FROM orders
  3. CSELECT customer_id FROM orders WHERE COUNT(*) > 0
  4. DSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
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(*) n'est pas autorisé après une jointure
  2. BCOUNT(*) ignore les lignes contenant des valeurs NULL
  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

Une base de données de reporting copie les noms des clients dans la table des commandes pour éviter des jointures. Quel est le principal coût de cette dénormalisation ?

  1. ALa base de données ne peut plus utiliser d'index
  2. BLes requêtes sur la table des commandes deviennent plus lentes
  3. CLes clés primaires ne peuvent plus être utilisées
  4. DLes copies redondantes doivent rester cohérentes chaque fois que les données client changent

Corrigé

  1. 1. C · Le langage de définition de données (DDL)
  2. 2. B · COUNT
  3. 3. C · INSERT
  4. 4. B · Les lignes présentes dans les deux résultats
  5. 5. A · La durabilité
  6. 6. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  7. 7. D · COUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
  8. 8. D · Les copies redondantes doivent rester cohérentes chaque fois que les données client changent

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