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
Quelle fonction d'agrégation renvoie la moyenne d'une colonne numérique ?
AAVG
BMEDIAN
CSUM
DMEAN
2.Facile
Que fait GROUP BY dans une requête ?
AIl regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
BIl trie les lignes du résultat par ordre alphabétique
CIl joint deux tables sur leurs colonnes communes
DIl supprime les lignes contenant des valeurs NULL
3.Facile
Que représente NULL en SQL ?
AUn booléen faux
BUne valeur manquante ou inconnue
CUne chaîne vide
DLe nombre zéro dans les colonnes numériques
4.Moyen
Que renvoie SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results ?
AUniquement les étudiants reçus
BChaque nom avec l'étiquette 'pass' ou 'fail' selon la note
CLe nombre d'étudiants reçus et recalés
DUne erreur, car CASE n'est pas autorisé dans SELECT
5.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 NULL
BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT 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
6.Moyen
Que fait GRANT SELECT ON employees TO alice ?
AIl copie la table employees pour alice
BIl autorise l'utilisatrice alice à lire la table employees
CIl autorise alice à modifier et à supprimer des lignes de la table employees
DIl fait d'alice la propriétaire de la base de données
7.Difficile
La forme normale de Boyce-Codd (BCNF) exige que, pour toute dépendance fonctionnelle non triviale X → Y :
AX soit une super-clé
BY soit atomique
CY soit une clé primaire
DX contienne NULL
8.Difficile
Une table a un million de lignes et une colonne booléenne is_active vraie pour 95% d'entre elles. Pourquoi l'optimiseur pourrait-il ignorer un index sur is_active pour WHERE is_active = TRUE ?
ALa plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index
BL'index traite TRUE comme NULL
COn ne peut pas créer d'index sur des colonnes booléennes
DL'optimiseur n'utilise jamais d'index dans les clauses WHERE
Corrigé
1. A · AVG
2. A · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
3. B · Une valeur manquante ou inconnue
4. B · Chaque nom avec l'étiquette 'pass' ou 'fail' selon la note
5. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
6. B · Il autorise l'utilisatrice alice à lire la table employees
7. A · X soit une super-clé
8. A · La plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.