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é primaire (primary key) ?
ALa première colonne de chaque table
BUn mot de passe pour la base de données
CUne colonne qui peut contenir des doublons mais ne doit jamais contenir NULL
DUne colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
2.Facile
Quelle instruction SQL permet de récupérer des données d'une table ?
ACREATE
BSELECT
CINSERT
DUPDATE
3.Facile
Un INNER JOIN renvoie :
ALes lignes qui ne correspondent pas
BUniquement les lignes ayant des valeurs correspondantes dans les deux tables
CToutes les lignes des deux tables
DToutes les lignes de la table de gauche, avec des NULL là où il n'y a pas de correspondance
4.Moyen
Quelle requête renvoie le salaire le plus élevé de chaque service ?
ASELECT dept, salary FROM emp WHERE salary = MAX(salary)
BSELECT dept, MAX(salary) FROM emp GROUP BY dept
CSELECT dept, MAX(salary) FROM emp ORDER BY dept
DSELECT MAX(dept), salary FROM emp GROUP BY salary
5.Moyen
Quelle requête renvoie le nombre de villes différentes dans la table customers ?
ASELECT COUNT(DISTINCT city) FROM customers
BSELECT SUM(DISTINCT city) FROM customers
CSELECT COUNT(city) FROM customers GROUP BY city
DSELECT DISTINCT COUNT(city) FROM customers
6.Moyen
Une table contient des lignes où col est NULL. Quelles lignes WHERE col = NULL renvoie-t-il ?
AUniquement les lignes où col est NULL, comme avec IS NULL
BToutes les lignes de la table
CAucune ligne, car la comparaison est inconnue
DUne erreur dans toutes les bases de données
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
BLa journalisation anticipée (WAL)
CLe contrôle de concurrence optimiste
DLe partitionnement (sharding) de la base de données
8.Difficile
Quel est un inconvénient connu de la décomposition des tables en BCNF par rapport à la 3NF ?
ALa décomposition perd toujours des données lors de la jointure inverse
BCertaines dépendances fonctionnelles peuvent ne plus être vérifiables au sein d'une seule table
CLes tables en BCNF ne peuvent pas avoir de clé primaire
DLa BCNF permet plus de redondance que la 3NF
Corrigé
1. D · Une colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
2. B · SELECT
3. B · Uniquement les lignes ayant des valeurs correspondantes dans les deux tables
4. B · SELECT dept, MAX(salary) FROM emp GROUP BY dept
5. A · SELECT COUNT(DISTINCT city) FROM customers
6. C · Aucune ligne, car la comparaison est inconnue
7. C · Le contrôle de concurrence optimiste
8. B · Certaines dépendances fonctionnelles peuvent ne plus être vérifiables au sein d'une seule table
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.