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

Quel mot-clé trie le résultat d'une requête ?

  1. AGROUP BY
  2. BARRANGE
  3. CORDER BY
  4. DSORT
2.Facile

Un INNER JOIN renvoie :

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

Quel opérateur sert à une recherche simple par motif de texte dans une clause WHERE ?

  1. ACONTAINS
  2. BLIKE
  3. CSIMILAR
  4. DMATCH
4.Moyen

Une clé étrangère est déclarée avec ON DELETE CASCADE. Que se passe-t-il quand une ligne parente est supprimée ?

  1. ALes lignes enfants qui y font référence sont supprimées automatiquement
  2. BLa clé étrangère des lignes enfants est mise à NULL automatiquement
  3. CLa suppression est toujours refusée
  4. DLa ligne parente est copiée dans une table d'archive
5.Moyen

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

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

La première forme normale (1NF) exige que :

  1. AChaque colonne non clé dépende de toute la clé et de rien d'autre que la clé
  2. BIl n'y ait pas de clés étrangères
  3. CChaque table ait exactement une colonne
  4. DChaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
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 partitionnement (sharding) de la base de données
  2. BLe contrôle de concurrence optimiste
  3. CLe verrouillage à deux phases strict avec des verrous de ligne
  4. DLa journalisation anticipée (WAL)
8.Difficile

Pour une équijointure entre deux grandes tables sans index utile, quel algorithme de jointure un optimiseur choisit-il souvent ?

  1. ALa jointure bitmap sur la clé primaire
  2. BLa jointure croisée
  3. CLa jointure par boucles imbriquées avec accès par index
  4. DLa jointure par hachage (hash join)

Corrigé

  1. 1. C · ORDER BY
  2. 2. D · Uniquement les lignes ayant des valeurs correspondantes dans les deux tables
  3. 3. B · LIKE
  4. 4. A · Les lignes enfants qui y font référence sont supprimées automatiquement
  5. 5. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  6. 6. D · Chaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
  7. 7. B · Le contrôle de concurrence optimiste
  8. 8. D · La jointure par hachage (hash join)

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