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. AUne colonne en attente de devenir une clé étrangère
  2. BUn ensemble minimal de colonnes qui identifie de manière unique chaque ligne
  3. CToute colonne contenant des valeurs NULL
  4. DUn ensemble de colonnes partagé entre deux tables pour relier leurs lignes
2.Facile

En quoi UNION ALL diffère-t-il de UNION ?

  1. AUNION ALL ne fonctionne que sur une seule table
  2. BUNION ALL conserve les lignes en double
  3. CUNION ALL supprime les lignes en double
  4. DUNION ALL trie le résultat
3.Facile

Quelle instruction SQL modifie les valeurs de lignes qui existent déjà ?

  1. AUPDATE
  2. BREPLACE COLUMN
  3. CMODIFY
  4. DINSERT
4.Moyen

Une table contient des lignes où col est NULL. Quelles lignes WHERE col = NULL renvoie-t-il ?

  1. AUniquement les lignes où col est NULL, comme avec IS NULL
  2. BUne erreur dans toutes les bases de données
  3. CToutes les lignes de la table
  4. DAucune ligne, car la comparaison est inconnue
5.Moyen

En algèbre relationnelle, l'opérateur de sélection (σ) correspond à quelle clause SQL ?

  1. AORDER BY
  2. BGROUP BY
  3. CWHERE
  4. DLa liste du SELECT
6.Moyen

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

  1. ALes index clustérisés ne peuvent porter que sur la clé primaire
  2. BLa norme SQL interdit d'avoir plus d'un index sur une table
  3. CLes index clustérisés utilisent trop de mémoire
  4. DLes lignes ne peuvent être stockées physiquement que dans un seul ordre
7.Difficile

Que montre EXPLAIN (ou EXPLAIN ANALYZE dans PostgreSQL) pour une requête ?

  1. AUniquement une réécriture de la requête en notation d'algèbre relationnelle
  2. BLe plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure
  3. CLa liste des utilisateurs qui ont exécuté la requête
  4. DLa signification de chaque mot-clé SQL de la requête
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 par hachage (hash join)
  3. CLa jointure croisée
  4. DLa jointure bitmap sur la clé primaire

Corrigé

  1. 1. B · Un ensemble minimal de colonnes qui identifie de manière unique chaque ligne
  2. 2. B · UNION ALL conserve les lignes en double
  3. 3. A · UPDATE
  4. 4. D · Aucune ligne, car la comparaison est inconnue
  5. 5. C · WHERE
  6. 6. D · Les lignes ne peuvent être stockées physiquement que dans un seul ordre
  7. 7. B · Le plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure
  8. 8. B · La jointure par hachage (hash join)

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