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

À quoi sert un diagramme entité-association (ER) ?

  1. AÀ montrer comment une requête est exécutée
  2. BÀ lister les utilisateurs d'une base de données
  3. CÀ mesurer les performances d'une base de données
  4. DÀ modéliser les entités, leurs attributs et leurs associations lors de la conception d'une base de données
2.Facile

Que fait ROLLBACK dans une transaction ?

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

En quoi UNION ALL diffère-t-il de UNION ?

  1. AUNION ALL ne fonctionne que sur une seule table
  2. BUNION ALL supprime les lignes en double
  3. CUNION ALL conserve les lignes en double
  4. DUNION ALL trie le résultat
4.Moyen

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

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

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

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

Pourquoi SELECT price * 2 AS double_price FROM t WHERE double_price > 10 échoue-t-il dans la plupart des bases de données ?

  1. AL'arithmétique n'est pas autorisée dans la liste du SELECT
  2. BWHERE ne peut comparer que des colonnes de texte
  3. CLes alias ne peuvent pas contenir de tiret bas
  4. DWHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
7.Difficile

Quelle fonctionnalité SQL convient le mieux pour trouver tous les employés sous un responsable dans un organigramme de profondeur inconnue ?

  1. AUne expression de table commune récursive (WITH RECURSIVE)
  2. BUne contrainte UNIQUE sur manager_id
  3. CUne seule auto-jointure de la table employees sur manager_id
  4. DUn GROUP BY sur manager_id
8.Difficile

La requête FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' élimine de façon inattendue les clients sans commande. Pourquoi ?

  1. ALa jointure devrait utiliser USING au lieu de ON
  2. BLa condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne
  3. Cstatus est un mot réservé
  4. DLEFT JOIN ne conserve jamais les lignes sans correspondance

Corrigé

  1. 1. D · À modéliser les entités, leurs attributs et leurs associations lors de la conception d'une base de données
  2. 2. D · Il annule les modifications effectuées depuis le début de la transaction
  3. 3. C · UNION ALL conserve les lignes en double
  4. 4. B · La durabilité
  5. 5. C · Les lignes présentes dans les deux résultats
  6. 6. D · WHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
  7. 7. A · Une expression de table commune récursive (WITH RECURSIVE)
  8. 8. B · La condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne

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