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é candidate ?
AUn ensemble minimal de colonnes qui identifie de manière unique chaque ligne
BUn ensemble de colonnes partagé entre deux tables pour relier leurs lignes
CUne colonne en attente de devenir une clé étrangère
DToute colonne contenant des valeurs NULL
2.Facile
Qu'est-ce qu'une clé primaire (primary key) ?
ALa première colonne de chaque table
BUne colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
CUne colonne qui peut contenir des doublons mais ne doit jamais contenir NULL
DUn mot de passe pour la base de données
3.Facile
Que fait UNION avec les résultats de deux requêtes SELECT ?
AIl ne garde que les lignes qui apparaissent dans la première requête mais pas dans la seconde
BIl les joint côte à côte sur une clé
CIl ne garde que les lignes présentes dans les deux
DIl les combine en un seul résultat et supprime les lignes en double
4.Moyen
En algèbre relationnelle, l'opérateur de projection (π) correspond :
AAu tri du résultat
BAu choix des lignes qui satisfont une condition donnée
CAu choix des colonnes qui apparaissent dans le résultat
DÀ la combinaison de deux tables sur une clé
5.Moyen
Quelle requête liste les clients qui n'ont jamais passé de commande ?
ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
CSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
6.Moyen
La première forme normale (1NF) exige que :
AIl n'y ait pas de clés étrangères
BChaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
CChaque table ait exactement une colonne
DChaque colonne non clé dépende de toute la clé et de rien d'autre que la clé
7.Difficile
Il existe un index composé sur (last_name, first_name). Quelle condition peut l'utiliser le plus efficacement ?
AWHERE first_name LIKE '%a'
BWHERE last_name = 'Jansen'
CWHERE first_name = 'Eva'
DWHERE UPPER(first_name) = 'EVA'
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
CLe contrôle de concurrence optimiste
DLa journalisation anticipée (WAL)
Corrigé
1. A · Un ensemble minimal de colonnes qui identifie de manière unique chaque ligne
2. B · Une colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
3. D · Il les combine en un seul résultat et supprime les lignes en double
4. C · Au choix des colonnes qui apparaissent dans le résultat
5. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
6. B · Chaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
7. B · WHERE last_name = 'Jansen'
8. C · Le contrôle de concurrence optimiste
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.