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é donne à une colonne ou à une table un autre nom temporaire dans une requête ?

  1. AALIAS
  2. BNAME
  3. CRENAME
  4. DAS
2.Facile

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

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

Quelle fonction d'agrégation compte les lignes ?

  1. AAVG
  2. BMAX
  3. CSUM
  4. DCOUNT
4.Moyen

Que fait GRANT SELECT ON employees TO alice ?

  1. AIl fait d'alice la propriétaire de la base de données
  2. BIl autorise alice à modifier et à supprimer des lignes de la table employees
  3. CIl autorise l'utilisatrice alice à lire la table employees
  4. DIl copie la table employees pour alice
5.Moyen

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

  1. ASELECT c.name FROM customers c INNER 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 = NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  4. DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
6.Moyen

Que signifie la dépendance fonctionnelle A → B ?

  1. AA et B sont toutes deux des clés primaires
  2. BChaque valeur de B est associée à exactement une valeur de A
  3. CA est une clé étrangère qui fait référence à B
  4. DChaque valeur de A est associée à exactement une valeur de B
7.Difficile

Pourquoi SELECT dept, name, COUNT(*) FROM emp GROUP BY dept est-il invalide en SQL standard ?

  1. Adept doit figurer dans une fonction d'agrégation
  2. BGROUP BY doit lister toutes les colonnes de la table
  3. Cname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
  4. DCOUNT(*) ne peut pas être utilisé avec GROUP BY
8.Difficile

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

  1. ALe plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure
  2. BUniquement une réécriture de la requête en notation d'algèbre relationnelle
  3. CLa liste des utilisateurs qui ont exécuté la requête
  4. DLa signification de chaque mot-clé SQL de la requête

Corrigé

  1. 1. D · AS
  2. 2. C · Une clé formée de deux colonnes ou plus
  3. 3. D · COUNT
  4. 4. C · Il autorise l'utilisatrice alice à lire la table employees
  5. 5. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  6. 6. D · Chaque valeur de A est associée à exactement une valeur de B
  7. 7. C · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
  8. 8. A · Le plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure

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