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) ?
AUn mot de passe pour la base de données
BLa première colonne de chaque table
CUne colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
DUne colonne qui peut contenir des doublons mais ne doit jamais contenir NULL
2.Facile
Un client peut passer de nombreuses commandes, mais chaque commande appartient à exactement un client. De quel type d'association s'agit-il ?
AZéro-à-zéro
BPlusieurs-à-plusieurs
CUn-à-plusieurs
DUn-à-un
3.Facile
Que fait GROUP BY dans une requête ?
AIl trie les lignes du résultat par ordre alphabétique
BIl regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
CIl joint deux tables sur leurs colonnes communes
DIl supprime les lignes contenant des valeurs NULL
4.Moyen
Qu'est-ce qu'une lecture sale (dirty read) ?
ALa lecture de données sans clause WHERE
BLa lecture de données sur un disque corrompu
CLa lecture d'une même ligne deux fois avec la même valeur
DLa lecture de données écrites par une autre transaction qui n'a pas encore été validée
5.Moyen
Que renvoie INTERSECT utilisé entre deux requêtes SELECT ?
ALe produit cartésien des résultats
BToutes les lignes des deux résultats
CLes lignes présentes dans les deux résultats
DLes lignes du premier résultat absentes du second
6.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 ?
AUtiliser uniquement GROUP BY manager_id
BJoindre la table employees à elle-même avec deux alias
CCréer une seconde copie de la table sur disque
DCombiner la table avec elle-même au moyen de UNION ALL et d'un filtre WHERE
7.Difficile
Les scores sont 90, 90 et 80. Quelles valeurs RANK() OVER (ORDER BY score DESC) donne-t-il ?
A1, 1, 3
B2, 2, 3
C1, 2, 3
D1, 1, 2
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 laisse les deux transactions attendre jusqu'à ce que l'une d'elles se termine normalement par un COMMIT
BIl fusionne les deux transactions en une seule
CIl détecte l'interblocage et annule l'une des transactions, désignée comme victime
DIl valide les deux transactions en même temps
Corrigé
1. C · Une colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
2. C · Un-à-plusieurs
3. B · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
4. D · La lecture de données écrites par une autre transaction qui n'a pas encore été validée
5. C · Les lignes présentes dans les deux résultats
6. B · Joindre la table employees à elle-même avec deux alias
7. A · 1, 1, 3
8. C · 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.