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é candidate ?

  1. AUn ensemble minimal de colonnes qui identifie de manière unique chaque ligne
  2. BUn ensemble de colonnes partagé entre deux tables pour relier leurs lignes
  3. CUne colonne en attente de devenir une clé étrangère
  4. DToute colonne contenant des valeurs NULL
2.Facile

Qu'est-ce qu'une clé primaire (primary key) ?

  1. ALa première colonne de chaque table
  2. BUne colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
  3. CUne colonne qui peut contenir des doublons mais ne doit jamais contenir NULL
  4. DUn mot de passe pour la base de données
3.Facile

Que fait UNION avec les résultats de deux requêtes SELECT ?

  1. AIl ne garde que les lignes qui apparaissent dans la première requête mais pas dans la seconde
  2. BIl les joint côte à côte sur une clé
  3. CIl ne garde que les lignes présentes dans les deux
  4. DIl les combine en un seul résultat et supprime les lignes en double
4.Moyen

En algèbre relationnelle, l'opérateur de projection (π) correspond :

  1. AAu tri du résultat
  2. BAu choix des lignes qui satisfont une condition donnée
  3. CAu choix des colonnes qui apparaissent dans le résultat
  4. DÀ la combinaison de deux tables sur une clé
5.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 = 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 IS NOT NULL
6.Moyen

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

  1. AIl n'y ait pas de clés étrangères
  2. BChaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
  3. CChaque table ait exactement une colonne
  4. DChaque colonne non clé dépende de toute la clé et de rien d'autre que la clé
7.Difficile

Il existe un index composé sur (last_name, first_name). Quelle condition peut l'utiliser le plus efficacement ?

  1. AWHERE first_name LIKE '%a'
  2. BWHERE last_name = 'Jansen'
  3. CWHERE first_name = 'Eva'
  4. DWHERE UPPER(first_name) = 'EVA'
8.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. CLe contrôle de concurrence optimiste
  4. DLa journalisation anticipée (WAL)

Corrigé

  1. 1. A · Un ensemble minimal de colonnes qui identifie de manière unique chaque ligne
  2. 2. B · Une colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
  3. 3. D · Il les combine en un seul résultat et supprime les lignes en double
  4. 4. C · Au choix des colonnes qui apparaissent dans le résultat
  5. 5. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  6. 6. B · Chaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
  7. 7. B · WHERE last_name = 'Jansen'
  8. 8. C · Le contrôle de concurrence optimiste

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