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

Qu'est-ce qu'une clé composée (composite key) ?

  1. AUne clé stockée dans une table séparée
  2. BUne clé qui autorise les doublons
  3. CUne clé formée de deux colonnes ou plus
  4. DUne clé générée par la base de données
2.Facile

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

  1. ACONTAINS
  2. BSIMILAR
  3. CMATCH
  4. DLIKE
3.Facile

Dans le modèle relationnel, comment appelle-t-on une ligne d'une table ?

  1. AUn domaine
  2. BUn attribut
  3. CUn tuple (n-uplet)
  4. DUn schéma
4.Moyen

Quelle requête liste les clients qui n'ont jamais passé de commande ?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  3. CSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  4. DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
5.Moyen

Que renvoie SELECT SUM(amount) FROM orders lorsque la clause WHERE ne correspond à aucune ligne ?

  1. AUne chaîne vide
  2. B0
  3. CUne erreur
  4. DNULL
6.Moyen

Que renvoie EXCEPT (appelé MINUS dans Oracle) ?

  1. ALes lignes de la première requête qui n'apparaissent pas dans la seconde
  2. BLes lignes de la seconde requête qui n'apparaissent pas dans la première
  3. CLes lignes présentes dans les deux requêtes
  4. DToutes les lignes des deux requêtes, sans doublons
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 verrouillage à deux phases strict avec des verrous de ligne
  3. CLa journalisation anticipée (WAL)
  4. DLe contrôle de concurrence optimiste
8.Difficile

La table b contient les valeurs 1, 2 et NULL dans la colonne y. Que renvoie SELECT * FROM a WHERE x NOT IN (SELECT y FROM b) ?

  1. AUniquement les lignes de a où x est NULL
  2. BToutes les lignes de a
  3. CLes lignes de a où x ne vaut ni 1 ni 2
  4. DAucune ligne

Corrigé

  1. 1. C · Une clé formée de deux colonnes ou plus
  2. 2. D · LIKE
  3. 3. C · Un tuple (n-uplet)
  4. 4. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  5. 5. D · NULL
  6. 6. A · Les lignes de la première requête qui n'apparaissent pas dans la seconde
  7. 7. D · Le contrôle de concurrence optimiste
  8. 8. D · Aucune ligne

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