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
Quelle fonction d'agrégation renvoie la moyenne d'une colonne numérique ?
AMEDIAN
BMEAN
CAVG
DSUM
2.Facile
Qu'est-ce qu'une clé composée (composite key) ?
AUne clé formée de deux colonnes ou plus
BUne clé stockée dans une table séparée
CUne clé générée par la base de données
DUne clé qui autorise les doublons
3.Facile
Quelle instruction supprime des lignes d'une table ?
ADROP
BTRUNCATE COLUMN
CDELETE
DREMOVE
4.Moyen
Pourquoi crée-t-on des index sur des colonnes ?
APour empêcher les valeurs NULL
BPour accélérer les recherches et les jointures sur ces colonnes
CPour économiser de l'espace disque
DPour rendre les insertions et les mises à jour plus rapides sur ces colonnes
5.Moyen
Pourquoi une table ne peut-elle avoir qu'un seul index clustérisé (clustered index) ?
ALes index clustérisés utilisent trop de mémoire
BLa norme SQL interdit d'avoir plus d'un index sur une table
CLes index clustérisés ne peuvent porter que sur la clé primaire
DLes lignes ne peuvent être stockées physiquement que dans un seul ordre
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 ?
AJoindre la table employees à elle-même avec deux alias
BCréer une seconde copie de la table sur disque
CUtiliser uniquement GROUP BY manager_id
DCombiner la table avec elle-même au moyen de UNION ALL et d'un filtre WHERE
7.Difficile
Pourquoi SELECT dept, name, COUNT(*) FROM emp GROUP BY dept est-il invalide en SQL standard ?
ACOUNT(*) ne peut pas être utilisé avec GROUP BY
BGROUP BY doit lister toutes les colonnes de la table
Cname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
Ddept doit figurer dans une fonction d'agrégation
8.Difficile
Qu'est-ce qu'une lecture fantôme (phantom read) ?
AUne requête qui ne renvoie aucune ligne
BLa lecture de données qui n'ont jamais été écrites
CLa lecture de modifications non validées
DUne requête répétée renvoie de nouvelles lignes insérées par une autre transaction validée
Corrigé
1. C · AVG
2. A · Une clé formée de deux colonnes ou plus
3. C · DELETE
4. B · Pour accélérer les recherches et les jointures sur ces colonnes
5. D · Les lignes ne peuvent être stockées physiquement que dans un seul ordre
6. A · Joindre la table employees à elle-même avec deux alias
7. C · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
8. D · Une requête répétée renvoie de nouvelles lignes insérées par une autre transaction validée
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.