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 ?
ARENAME
BAS
CNAME
DALIAS
2.Facile
Quelle instruction supprime des lignes d'une table ?
ATRUNCATE COLUMN
BDROP
CREMOVE
DDELETE
3.Facile
Que fait une contrainte CHECK ?
AElle rejette les lignes dont les valeurs ne satisfont pas une condition
BElle compte les lignes d'une table
CElle vérifie le mot de passe de l'utilisateur
DElle vérifie si une table existe avant qu'une requête lui soit appliquée
4.Moyen
Quelle requête liste les clients qui n'ont jamais passé de commande ?
ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
5.Moyen
Que renvoie SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results ?
ALe nombre d'étudiants reçus et recalés
BUniquement les étudiants reçus
CUne erreur, car CASE n'est pas autorisé dans SELECT
DChaque nom avec l'étiquette 'pass' ou 'fail' selon la note
6.Moyen
Qu'apporte une expression de table commune (WITH name AS (...)) ?
AUn nouvel utilisateur de la base de données
BUn index sur une colonne
CUne table permanente qui reste stockée sur disque jusqu'à sa suppression
DUn résultat temporaire nommé, utilisable au sein d'une seule instruction
7.Difficile
Une base de données de reporting copie les noms des clients dans la table des commandes pour éviter des jointures. Quel est le principal coût de cette dénormalisation ?
ALes requêtes sur la table des commandes deviennent plus lentes
BLes clés primaires ne peuvent plus être utilisées
CLes copies redondantes doivent rester cohérentes chaque fois que les données client changent
DLa base de données ne peut plus utiliser d'index
8.Difficile
Deux transactions lisent toutes deux stock = 10, retirent chacune 1 et écrivent le résultat, ce qui donne 9 au lieu de 8. De quelle anomalie s'agit-il ?
AUne lecture sale
BUne mise à jour perdue (lost update)
CUne lecture fantôme
DUne anomalie de suppression
Corrigé
1. B · AS
2. D · DELETE
3. A · Elle rejette les lignes dont les valeurs ne satisfont pas une condition
4. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
5. D · Chaque nom avec l'étiquette 'pass' ou 'fail' selon la note
6. D · Un résultat temporaire nommé, utilisable au sein d'une seule instruction
7. C · Les copies redondantes doivent rester cohérentes chaque fois que les données client changent
8. B · Une mise à jour perdue (lost update)
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.