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 ?
AALIAS
BNAME
CRENAME
DAS
2.Facile
Qu'est-ce qu'une clé composée (composite key) ?
AUne clé générée par la base de données
BUne clé qui autorise les doublons
CUne clé formée de deux colonnes ou plus
DUne clé stockée dans une table séparée
3.Facile
Quelle fonction d'agrégation compte les lignes ?
AAVG
BMAX
CSUM
DCOUNT
4.Moyen
Que fait GRANT SELECT ON employees TO alice ?
AIl fait d'alice la propriétaire de la base de données
BIl autorise alice à modifier et à supprimer des lignes de la table employees
CIl autorise l'utilisatrice alice à lire la table employees
DIl copie la table employees pour alice
5.Moyen
Quelle requête liste les clients qui n'ont jamais passé de commande ?
ASELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
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 ?
AA et B sont toutes deux des clés primaires
BChaque valeur de B est associée à exactement une valeur de A
CA est une clé étrangère qui fait référence à B
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 ?
Adept doit figurer dans une fonction d'agrégation
BGROUP BY doit lister toutes les colonnes de la table
Cname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
DCOUNT(*) ne peut pas être utilisé avec GROUP BY
8.Difficile
Que montre EXPLAIN (ou EXPLAIN ANALYZE dans PostgreSQL) pour une requête ?
ALe plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure
BUniquement une réécriture de la requête en notation d'algèbre relationnelle
CLa liste des utilisateurs qui ont exécuté la requête
DLa signification de chaque mot-clé SQL de la requête
Corrigé
1. D · AS
2. C · Une clé formée de deux colonnes ou plus
3. D · COUNT
4. C · Il autorise l'utilisatrice alice à lire la table employees
5. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
6. D · Chaque valeur de A est associée à exactement une valeur de B
7. C · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
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.