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
Dans un motif LIKE, que représente le caractère générique _ (tiret bas) ?
AZéro caractère ou plus
BUne lettre quelconque, mais pas un chiffre
CExactement un caractère
DUn caractère espace
2.Facile
Que fait GROUP BY dans une requête ?
AIl joint deux tables sur leurs colonnes communes
BIl trie les lignes du résultat par ordre alphabétique
CIl supprime les lignes contenant des valeurs NULL
DIl regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
3.Facile
Une clé étrangère (foreign key) est :
AUne colonne qui fait référence à la clé primaire d'une autre table
BUne clé toujours chiffrée
CUne colonne dont les valeurs doivent être uniques sur toutes les lignes de la table
DUne clé utilisée par des utilisateurs étrangers
4.Moyen
Que renvoie SELECT SUM(amount) FROM orders lorsque la clause WHERE ne correspond à aucune ligne ?
ANULL
B0
CUne erreur
DUne chaîne vide
5.Moyen
En algèbre relationnelle, l'opérateur de projection (π) correspond :
AÀ la combinaison de deux tables sur une clé
BAu tri du résultat
CAu choix des colonnes qui apparaissent dans le résultat
DAu choix des lignes qui satisfont une condition donnée
6.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 ?
ALes lignes enfants qui y font référence sont supprimées automatiquement
BLa suppression est toujours refusée
CLa clé étrangère des lignes enfants est mise à NULL automatiquement
DLa ligne parente est copiée dans une table d'archive
7.Difficile
Quel niveau d'isolation empêche les lectures sales (dirty reads) mais autorise encore les lectures non répétables ?
ARead committed
BSerializable
CRead uncommitted
DRepeatable read
8.Difficile
Une table a un million de lignes et une colonne booléenne is_active vraie pour 95% d'entre elles. Pourquoi l'optimiseur pourrait-il ignorer un index sur is_active pour WHERE is_active = TRUE ?
ALa plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index
BOn ne peut pas créer d'index sur des colonnes booléennes
CL'optimiseur n'utilise jamais d'index dans les clauses WHERE
DL'index traite TRUE comme NULL
Corrigé
1. C · Exactement un caractère
2. D · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
3. A · Une colonne qui fait référence à la clé primaire d'une autre table
4. A · NULL
5. C · Au choix des colonnes qui apparaissent dans le résultat
6. A · Les lignes enfants qui y font référence sont supprimées automatiquement
7. A · Read committed
8. A · La plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.