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

Que fait ROLLBACK dans une transaction ?

  1. AIl supprime la table
  2. BIl annule les modifications effectuées depuis le début de la transaction
  3. CIl répète la dernière instruction
  4. DIl enregistre définitivement sur disque toutes les modifications de la transaction
2.Facile

Que fait une contrainte CHECK ?

  1. AElle vérifie le mot de passe de l'utilisateur
  2. BElle compte les lignes d'une table
  3. CElle vérifie si une table existe avant qu'une requête lui soit appliquée
  4. DElle rejette les lignes dont les valeurs ne satisfont pas une condition
3.Facile

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

  1. AUn caractère espace
  2. BExactement un caractère
  3. CZéro caractère ou plus
  4. DUne lettre quelconque, mais pas un chiffre
4.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 rendre les insertions et les mises à jour plus rapides sur ces colonnes
  4. DPour empêcher les valeurs NULL
5.Moyen

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

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

Quelle requête renvoie le nombre de villes différentes dans la table customers ?

  1. ASELECT SUM(DISTINCT city) FROM customers
  2. BSELECT COUNT(city) FROM customers GROUP BY city
  3. CSELECT DISTINCT COUNT(city) FROM customers
  4. DSELECT COUNT(DISTINCT city) FROM customers
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

x est NULL et y = 1. Quelle est la valeur de la condition (x > 5 OR y = 1) ?

  1. ANULL, donc la ligne est toujours rejetée
  2. BUNKNOWN
  3. CFALSE
  4. DTRUE

Corrigé

  1. 1. B · Il annule les modifications effectuées depuis le début de la transaction
  2. 2. D · Elle rejette les lignes dont les valeurs ne satisfont pas une condition
  3. 3. B · Exactement un caractère
  4. 4. B · Pour accélérer les recherches et les jointures sur ces colonnes
  5. 5. D · Les lignes présentes dans les deux résultats
  6. 6. D · SELECT COUNT(DISTINCT city) FROM customers
  7. 7. A · COUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
  8. 8. D · TRUE

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