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 fait GROUP BY dans une requête ?
AIl supprime les lignes contenant des valeurs NULL
BIl joint deux tables sur leurs colonnes communes
CIl trie les lignes du résultat par ordre alphabétique
DIl regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
2.Facile
Que fait COMMIT dans une transaction ?
AIl verrouille toute la base de données
BIl rend permanentes toutes les modifications de la transaction
CIl annule toutes les modifications effectuées depuis le début de la transaction
DIl crée une nouvelle table
3.Facile
GRANT et REVOKE appartiennent à quelle partie de SQL ?
ALe langage de manipulation de données (DML)
BLe langage d'interrogation de données (DQL)
CLe langage de définition de données (DDL)
DLe langage de contrôle de données (DCL)
4.Moyen
Pourquoi SELECT price * 2 AS double_price FROM t WHERE double_price > 10 échoue-t-il dans la plupart des bases de données ?
AWHERE ne peut comparer que des colonnes de texte
BL'arithmétique n'est pas autorisée dans la liste du SELECT
CWHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
DLes alias ne peuvent pas contenir de tiret bas
5.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 ?
A7
B4
C12
D3
6.Moyen
Quelle propriété ACID signifie que des transactions concurrentes ne voient pas les modifications inachevées les unes des autres ?
ALa disponibilité
BL'isolation
CL'atomicité
DLa durabilité
7.Difficile
Une application exécute UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7 et signale un conflit si aucune ligne n'a été mise à jour. De quelle technique s'agit-il ?
ALe verrouillage à deux phases strict avec des verrous de ligne
BLe contrôle de concurrence optimiste
CLa journalisation anticipée (WAL)
DLe partitionnement (sharding) de la base de données
8.Difficile
Pourquoi SELECT dept, name, COUNT(*) FROM emp GROUP BY dept est-il invalide en SQL standard ?
Aname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
Bdept doit figurer dans une fonction d'agrégation
CGROUP BY doit lister toutes les colonnes de la table
DCOUNT(*) ne peut pas être utilisé avec GROUP BY
Corrigé
1. D · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
2. B · Il rend permanentes toutes les modifications de la transaction
3. D · Le langage de contrôle de données (DCL)
4. C · WHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
5. C · 12
6. B · L'isolation
7. B · Le contrôle de concurrence optimiste
8. A · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.