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 clause filtre les lignes avant le regroupement ?
AGROUP BY
BORDER BY
CWHERE
DHAVING
2.Facile
Un INNER JOIN renvoie :
AToutes les lignes des deux tables
BLes lignes qui ne correspondent pas
CUniquement les lignes ayant des valeurs correspondantes dans les deux tables
DToutes les lignes de la table de gauche, avec des NULL là où il n'y a pas de correspondance
3.Facile
Dans le modèle relationnel, comment appelle-t-on une ligne d'une table ?
AUn schéma
BUn domaine
CUn tuple (n-uplet)
DUn attribut
4.Moyen
La troisième forme normale (3NF) élimine :
ALes clés composées
BLes dépendances transitives entre attributs non clés
CLes valeurs atomiques
DLes index redondants sur des colonnes qui ne font pas partie d'une clé
5.Moyen
Une colonne contient les valeurs 10, 20 et NULL. Que renvoie AVG(col) ?
A15
B10
CNULL
D30
6.Moyen
Quelle requête renvoie le nombre de commandes par client ?
ASELECT customer_id FROM orders WHERE COUNT(*) > 0
BSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
CSELECT DISTINCT COUNT(*) FROM orders
DSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
7.Difficile
La table employee(emp_id, dept_id, dept_name) a pour clé emp_id, et dept_id → dept_name. Quelle affirmation est correcte ?
AElle n'est pas en 1NF
BElle n'est pas en 2NF
CElle est en 2NF mais pas en 3NF
DElle est en BCNF et donc en 3NF
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 fantôme
BUne anomalie de suppression
CUne mise à jour perdue (lost update)
DUne lecture sale
Corrigé
1. C · WHERE
2. C · Uniquement les lignes ayant des valeurs correspondantes dans les deux tables
3. C · Un tuple (n-uplet)
4. B · Les dépendances transitives entre attributs non clés
5. A · 15
6. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
7. C · Elle est en 2NF mais pas en 3NF
8. C · Une mise à jour perdue (lost update)
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.