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 trie les lignes du résultat par ordre alphabétique
BIl joint deux tables sur leurs colonnes communes
CIl supprime les lignes contenant des valeurs NULL
DIl regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
2.Facile
Des instructions comme CREATE, ALTER et DROP appartiennent à quelle partie de SQL ?
ALe langage de contrôle des transactions (TCL)
BLe langage de définition de données (DDL)
CLe langage de manipulation de données (DML)
DLe langage de contrôle de données (DCL)
3.Facile
Dans PostgreSQL et MySQL, quelle clause renvoie uniquement les 10 premières lignes d'un résultat ?
AMAX 10
BTOP ROWS 10
CLIMIT 10
DFIRST 10 ONLY
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 ?
ALa ligne parente est copiée dans une table d'archive
BLa clé étrangère des lignes enfants est mise à NULL automatiquement
CLa suppression est toujours refusée
DLes lignes enfants qui y font référence sont supprimées automatiquement
5.Moyen
Une table employees possède une colonne manager_id qui fait référence à un autre employé. Comment lister chaque employé à côté du nom de son responsable ?
AJoindre la table employees à elle-même avec deux alias
BCombiner la table avec elle-même au moyen de UNION ALL et d'un filtre WHERE
CUtiliser uniquement GROUP BY manager_id
DCréer une seconde copie de la table sur disque
6.Moyen
Quelle requête renvoie le nombre de villes différentes dans la table customers ?
ASELECT SUM(DISTINCT city) FROM customers
BSELECT DISTINCT COUNT(city) FROM customers
CSELECT COUNT(city) FROM customers GROUP BY city
DSELECT COUNT(DISTINCT city) FROM customers
7.Difficile
Quel est un inconvénient connu de la décomposition des tables en BCNF par rapport à la 3NF ?
ALa BCNF permet plus de redondance que la 3NF
BLes tables en BCNF ne peuvent pas avoir de clé primaire
CCertaines dépendances fonctionnelles peuvent ne plus être vérifiables au sein d'une seule table
DLa décomposition perd toujours des données lors de la jointure inverse
8.Difficile
Quel niveau d'isolation empêche les lectures sales (dirty reads) mais autorise encore les lectures non répétables ?
ARead committed
BRepeatable read
CSerializable
DRead uncommitted
Corrigé
1. D · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
2. B · Le langage de définition de données (DDL)
3. C · LIMIT 10
4. D · Les lignes enfants qui y font référence sont supprimées automatiquement
5. A · Joindre la table employees à elle-même avec deux alias
6. D · SELECT COUNT(DISTINCT city) FROM customers
7. C · Certaines dépendances fonctionnelles peuvent ne plus être vérifiables au sein d'une seule table
8. A · Read committed
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.