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 renvoie un CROSS JOIN ?

  1. AUniquement les lignes qui correspondent sur une colonne clé commune
  2. BUniquement les lignes qui ne correspondent pas
  3. CUniquement les lignes de la première table
  4. DToutes les combinaisons de lignes des deux tables
2.Facile

Qu'est-ce qu'une clé de substitution (surrogate key) ?

  1. AUne clé tirée de données réelles, comme une adresse e-mail
  2. BUne clé utilisée uniquement dans les vues
  3. CUne clé qui fait référence à une autre table
  4. DUn identifiant artificiel sans signification métier, comme un id auto-incrémenté
3.Facile

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

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

Une vue (view) en SQL est :

  1. AUn écran du client de base de données pour parcourir les tables
  2. BUne requête enregistrée qui se comporte comme une table virtuelle
  3. CUn type d'index
  4. DUne copie d'une table sur le disque
5.Moyen

Pourquoi une table ne peut-elle avoir qu'un seul index clustérisé (clustered index) ?

  1. ALes index clustérisés utilisent trop de mémoire
  2. BLes lignes ne peuvent être stockées physiquement que dans un seul ordre
  3. CLes index clustérisés ne peuvent porter que sur la clé primaire
  4. DLa norme SQL interdit d'avoir plus d'un index sur une table
6.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 NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT 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
7.Difficile

Qu'est-ce qu'une lecture fantôme (phantom read) ?

  1. AUne requête qui ne renvoie aucune ligne
  2. BLa lecture de données qui n'ont jamais été écrites
  3. CUne requête répétée renvoie de nouvelles lignes insérées par une autre transaction validée
  4. DLa lecture de modifications non validées
8.Difficile

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

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

Corrigé

  1. 1. D · Toutes les combinaisons de lignes des deux tables
  2. 2. D · Un identifiant artificiel sans signification métier, comme un id auto-incrémenté
  3. 3. C · Une colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
  4. 4. B · Une requête enregistrée qui se comporte comme une table virtuelle
  5. 5. B · Les lignes ne peuvent être stockées physiquement que dans un seul ordre
  6. 6. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  7. 7. C · Une requête répétée renvoie de nouvelles lignes insérées par une autre transaction validée
  8. 8. D · La jointure par hachage (hash join)

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