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
Dans le modèle relationnel, comment appelle-t-on une ligne d'une table ?
AUn schéma
BUn tuple (n-uplet)
CUn domaine
DUn attribut
2.Facile
Quelle instruction supprime une table entière, structure comprise ?
ADROP TABLE
BTRUNCATE ROWS
CDELETE FROM
DREMOVE TABLE
3.Facile
Dans un motif LIKE, que représente le caractère générique _ (tiret bas) ?
AExactement un caractère
BUn caractère espace
CZéro caractère ou plus
DUne lettre quelconque, mais pas un chiffre
4.Moyen
La troisième forme normale (3NF) élimine :
ALes clés composées
BLes valeurs atomiques
CLes dépendances transitives entre attributs non clés
DLes index redondants sur des colonnes qui ne font pas partie d'une clé
5.Moyen
Une clé étrangère est déclarée avec ON DELETE CASCADE. Que se passe-t-il quand une ligne parente est supprimée ?
ALa clé étrangère des lignes enfants est mise à NULL automatiquement
BLes lignes enfants qui y font référence sont supprimées automatiquement
CLa suppression est toujours refusée
DLa ligne parente est copiée dans une table d'archive
6.Moyen
La table a compte 3 lignes et la table b 4 lignes. Combien de lignes SELECT * FROM a CROSS JOIN b renvoie-t-il ?
A4
B3
C12
D7
7.Difficile
Pourquoi une requête avec WHERE YEAR(order_date) = 2025 pourrait-elle ne pas utiliser un index sur order_date ?
AAppliquer une fonction à la colonne empêche une simple recherche par plage dans l'index
BUn index sur order_date n'est utilisé que pour les clauses ORDER BY, jamais pour WHERE
CLes index ne fonctionnent jamais avec des dates
DYEAR n'est pas du SQL valide
8.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 2NF
BElle n'est pas en 1NF
CElle est en 2NF mais pas en 3NF
DElle est en BCNF et donc en 3NF
Corrigé
1. B · Un tuple (n-uplet)
2. A · DROP TABLE
3. A · Exactement un caractère
4. C · Les dépendances transitives entre attributs non clés
5. B · Les lignes enfants qui y font référence sont supprimées automatiquement
6. C · 12
7. A · Appliquer une fonction à la colonne empêche une simple recherche par plage dans l'index
8. C · Elle est en 2NF mais pas en 3NF
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.