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
Une clé étrangère (foreign key) est :
AUne colonne dont les valeurs doivent être uniques sur toutes les lignes de la table
BUne colonne qui fait référence à la clé primaire d'une autre table
CUne clé utilisée par des utilisateurs étrangers
DUne clé toujours chiffrée
2.Facile
Que garantit une contrainte UNIQUE sur une colonne ?
ALa colonne ne peut plus être modifiée après l'insertion
BDeux lignes ne peuvent pas avoir la même valeur non NULL dans cette colonne
CLa colonne devient automatiquement la clé primaire de la table
DLes valeurs de la colonne sont triées
3.Facile
Quelle instruction SQL ajoute de nouvelles lignes à une table ?
AINSERT
BUPDATE
CALTER
DSELECT
4.Moyen
Quelle requête renvoie le nombre de villes différentes dans la table customers ?
ASELECT COUNT(city) FROM customers GROUP BY city
BSELECT DISTINCT COUNT(city) FROM customers
CSELECT COUNT(DISTINCT city) FROM customers
DSELECT SUM(DISTINCT city) FROM customers
5.Moyen
Qu'est-ce qu'une injection SQL ?
AUne technique de sauvegarde de base de données
BUne technique pour insérer rapidement de nombreuses lignes avec une seule instruction INSERT
CUn moyen d'ajouter des index
DUne attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
6.Moyen
Une table contient des lignes où col est NULL. Quelles lignes WHERE col = NULL renvoie-t-il ?
AAucune ligne, car la comparaison est inconnue
BUne erreur dans toutes les bases de données
CUniquement les lignes où col est NULL, comme avec IS NULL
DToutes les lignes de la table
7.Difficile
Quelle fonctionnalité SQL convient le mieux pour trouver tous les employés sous un responsable dans un organigramme de profondeur inconnue ?
AUne contrainte UNIQUE sur manager_id
BUne expression de table commune récursive (WITH RECURSIVE)
CUne seule auto-jointure de la table employees sur manager_id
DUn GROUP BY sur manager_id
8.Difficile
La transaction T1 verrouille la ligne A et attend la ligne B, tandis que T2 verrouille la ligne B et attend la ligne A. Que fait un SGBD typique ?
AIl détecte l'interblocage et annule l'une des transactions, désignée comme victime
BIl valide les deux transactions en même temps
CIl laisse les deux transactions attendre jusqu'à ce que l'une d'elles se termine normalement par un COMMIT
DIl fusionne les deux transactions en une seule
Corrigé
1. B · Une colonne qui fait référence à la clé primaire d'une autre table
2. B · Deux lignes ne peuvent pas avoir la même valeur non NULL dans cette colonne
3. A · INSERT
4. C · SELECT COUNT(DISTINCT city) FROM customers
5. D · Une attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
6. A · Aucune ligne, car la comparaison est inconnue
7. B · Une expression de table commune récursive (WITH RECURSIVE)
8. A · Il détecte l'interblocage et annule l'une des transactions, désignée comme victime
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.