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
Quel mot-clé trie le résultat d'une requête ?
AGROUP BY
BARRANGE
CORDER BY
DSORT
2.Facile
Un INNER JOIN renvoie :
AToutes les lignes des deux tables
BToutes les lignes de la table de gauche, avec des NULL là où il n'y a pas de correspondance
CLes lignes qui ne correspondent pas
DUniquement les lignes ayant des valeurs correspondantes dans les deux tables
3.Facile
Quel opérateur sert à une recherche simple par motif de texte dans une clause WHERE ?
ACONTAINS
BLIKE
CSIMILAR
DMATCH
4.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 ?
ALes lignes enfants qui y font référence sont supprimées automatiquement
BLa clé étrangère des lignes enfants est mise à NULL automatiquement
CLa suppression est toujours refusée
DLa ligne parente est copiée dans une table d'archive
5.Moyen
Quelle requête renvoie le nombre de commandes par client ?
ASELECT customer_id FROM orders WHERE COUNT(*) > 0
BSELECT DISTINCT COUNT(*) FROM orders
CSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
DSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
6.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é
BIl n'y ait pas de clés étrangères
CChaque table ait exactement une colonne
DChaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
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 partitionnement (sharding) de la base de données
BLe contrôle de concurrence optimiste
CLe verrouillage à deux phases strict avec des verrous de ligne
DLa journalisation anticipée (WAL)
8.Difficile
Pour une équijointure entre deux grandes tables sans index utile, quel algorithme de jointure un optimiseur choisit-il souvent ?
ALa jointure bitmap sur la clé primaire
BLa jointure croisée
CLa jointure par boucles imbriquées avec accès par index
DLa jointure par hachage (hash join)
Corrigé
1. C · ORDER BY
2. D · Uniquement les lignes ayant des valeurs correspondantes dans les deux tables
3. B · LIKE
4. A · Les lignes enfants qui y font référence sont supprimées automatiquement
5. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
6. D · Chaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
7. B · Le contrôle de concurrence optimiste
8. D · La jointure par hachage (hash join)
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.