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
Qu'est-ce qu'une clé de substitution (surrogate key) ?
AUn identifiant artificiel sans signification métier, comme un id auto-incrémenté
BUne clé utilisée uniquement dans les vues
CUne clé qui fait référence à une autre table
DUne clé tirée de données réelles, comme une adresse e-mail
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 joint deux tables sur leurs colonnes communes
CIl supprime les lignes contenant des valeurs NULL
DIl trie les lignes du résultat par ordre alphabétique
3.Facile
Quelle instruction SQL ajoute de nouvelles lignes à une table ?
ASELECT
BUPDATE
CINSERT
DALTER
4.Moyen
La première forme normale (1NF) exige que :
AChaque colonne non clé dépende de toute la clé et de rien d'autre que la clé
BChaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
CChaque table ait exactement une colonne
DIl n'y ait pas de clés étrangères
5.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 ?
AL'arithmétique n'est pas autorisée dans la liste du SELECT
BWHERE ne peut comparer que des colonnes de texte
CLes alias ne peuvent pas contenir de tiret bas
DWHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
6.Moyen
Que fait ROLLBACK TO SAVEPOINT s1 ?
AIl termine la transaction et valide tout
BIl annule toute la transaction depuis le début
CIl supprime le point de sauvegarde et toutes les tables modifiées depuis
DIl annule les modifications effectuées après le point de sauvegarde s1, en gardant la transaction ouverte
7.Difficile
Qu'exige la règle de la journalisation anticipée (write-ahead logging, WAL) ?
ALe journal n'est écrit qu'après une panne
BChaque requête doit être journalisée avant d'être analysée
CLes pages de données doivent être écrites avant le journal
DL'enregistrement de journal d'une modification doit atteindre le support stable avant la page de données modifiée
8.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 partitionnement (sharding) de la base de données
BLe verrouillage à deux phases strict avec des verrous de ligne
CLa journalisation anticipée (WAL)
DLe contrôle de concurrence optimiste
Corrigé
1. A · Un identifiant artificiel sans signification métier, comme un id auto-incrémenté
2. A · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
3. C · INSERT
4. B · Chaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
5. D · WHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
6. D · Il annule les modifications effectuées après le point de sauvegarde s1, en gardant la transaction ouverte
7. D · L'enregistrement de journal d'une modification doit atteindre le support stable avant la page de données modifiée
8. D · Le contrôle de concurrence optimiste
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.