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 GROUP BY dans une requête ?

  1. AIl supprime les lignes contenant des valeurs NULL
  2. BIl joint deux tables sur leurs colonnes communes
  3. CIl trie les lignes du résultat par ordre alphabétique
  4. DIl regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
2.Facile

Que fait COMMIT dans une transaction ?

  1. AIl verrouille toute la base de données
  2. BIl rend permanentes toutes les modifications de la transaction
  3. CIl annule toutes les modifications effectuées depuis le début de la transaction
  4. DIl crée une nouvelle table
3.Facile

GRANT et REVOKE appartiennent à quelle partie de SQL ?

  1. ALe langage de manipulation de données (DML)
  2. BLe langage d'interrogation de données (DQL)
  3. CLe langage de définition de données (DDL)
  4. DLe langage de contrôle de données (DCL)
4.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. AWHERE ne peut comparer que des colonnes de texte
  2. BL'arithmétique n'est pas autorisée dans la liste du SELECT
  3. CWHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
  4. DLes alias ne peuvent pas contenir de tiret bas
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. B4
  3. C12
  4. D3
6.Moyen

Quelle propriété ACID signifie que des transactions concurrentes ne voient pas les modifications inachevées les unes des autres ?

  1. ALa disponibilité
  2. BL'isolation
  3. CL'atomicité
  4. DLa durabilité
7.Difficile

Une application exécute UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7 et signale un conflit si aucune ligne n'a été mise à jour. De quelle technique s'agit-il ?

  1. ALe verrouillage à deux phases strict avec des verrous de ligne
  2. BLe contrôle de concurrence optimiste
  3. CLa journalisation anticipée (WAL)
  4. DLe partitionnement (sharding) de la base de données
8.Difficile

Pourquoi SELECT dept, name, COUNT(*) FROM emp GROUP BY dept est-il invalide en SQL standard ?

  1. Aname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
  2. Bdept doit figurer dans une fonction d'agrégation
  3. CGROUP BY doit lister toutes les colonnes de la table
  4. DCOUNT(*) ne peut pas être utilisé avec GROUP BY

Corrigé

  1. 1. D · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
  2. 2. B · Il rend permanentes toutes les modifications de la transaction
  3. 3. D · Le langage de contrôle de données (DCL)
  4. 4. C · WHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
  5. 5. C · 12
  6. 6. B · L'isolation
  7. 7. B · Le contrôle de concurrence optimiste
  8. 8. A · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe

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