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
Que représente NULL en SQL ?
AUne chaîne vide
BUne valeur manquante ou inconnue
CLe nombre zéro dans les colonnes numériques
DUn booléen faux
2.Facile
Dans PostgreSQL et MySQL, quelle clause renvoie uniquement les 10 premières lignes d'un résultat ?
ALIMIT 10
BMAX 10
CFIRST 10 ONLY
DTOP ROWS 10
3.Facile
Qu'est-ce qu'une clé primaire (primary key) ?
ALa première colonne de chaque table
BUne colonne qui peut contenir des doublons mais ne doit jamais contenir NULL
CUn mot de passe pour la base de données
DUne colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
4.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 fait d'alice la propriétaire de la base de données
DIl autorise alice à modifier et à supprimer des lignes de la table employees
5.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 GROUP BY customer_id
CSELECT DISTINCT COUNT(*) FROM orders
DSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
6.Moyen
Que renvoie EXCEPT (appelé MINUS dans Oracle) ?
ALes lignes de la première requête qui n'apparaissent pas dans la seconde
BLes lignes présentes dans les deux requêtes
CToutes les lignes des deux requêtes, sans doublons
DLes lignes de la seconde requête qui n'apparaissent pas dans la première
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 2NF
BElle est en 2NF mais pas en 3NF
CElle est en BCNF et donc en 3NF
DElle n'est pas en 1NF
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 lecture sale
CUne anomalie de suppression
DUne mise à jour perdue (lost update)
Corrigé
1. B · Une valeur manquante ou inconnue
2. A · LIMIT 10
3. D · Une colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
4. B · Il autorise l'utilisatrice alice à lire la table employees
5. B · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
6. A · Les lignes de la première requête qui n'apparaissent pas dans la seconde
7. B · Elle est en 2NF mais pas en 3NF
8. D · Une mise à jour perdue (lost update)
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.