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 clause filtre les lignes avant le regroupement ?
AGROUP BY
BHAVING
CWHERE
DORDER BY
2.Facile
Que fait WHERE country IN ('NL', 'BE', 'DE') ?
AIl conserve les lignes dont la valeur de country contient les trois codes à la fois
BIl conserve les lignes dont le pays est égal à l'une des valeurs de la liste
CIl conserve les lignes dont le pays n'est pas dans la liste
DIl trie les lignes dans l'ordre de la liste
3.Facile
Quelle fonction d'agrégation renvoie la moyenne d'une colonne numérique ?
AMEDIAN
BMEAN
CSUM
DAVG
4.Moyen
Pourquoi une table ne peut-elle avoir qu'un seul index clustérisé (clustered index) ?
ALes lignes ne peuvent être stockées physiquement que dans un seul ordre
BLa norme SQL interdit d'avoir plus d'un index sur une table
CLes index clustérisés utilisent trop de mémoire
DLes index clustérisés ne peuvent porter que sur la clé primaire
5.Moyen
La table a compte 3 lignes et la table b 4 lignes. Combien de lignes SELECT * FROM a CROSS JOIN b renvoie-t-il ?
A7
B3
C12
D4
6.Moyen
La première forme normale (1NF) exige que :
AChaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
BChaque table ait exactement une colonne
CIl n'y ait pas de clés étrangères
DChaque colonne non clé dépende de toute la clé et de rien d'autre que la clé
7.Difficile
Après customers LEFT JOIN orders, pourquoi utiliser COUNT(o.id) plutôt que COUNT(*) pour compter les commandes par client ?
ACOUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
BCOUNT(*) n'est pas autorisé après une jointure
CCOUNT(o.id) ne compte que les clients distincts
DCOUNT(*) ignore les lignes contenant des valeurs NULL
8.Difficile
La forme normale de Boyce-Codd (BCNF) exige que, pour toute dépendance fonctionnelle non triviale X → Y :
AY soit une clé primaire
BX soit une super-clé
CY soit atomique
DX contienne NULL
Corrigé
1. C · WHERE
2. B · Il conserve les lignes dont le pays est égal à l'une des valeurs de la liste
3. D · AVG
4. A · Les lignes ne peuvent être stockées physiquement que dans un seul ordre
5. C · 12
6. A · Chaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
7. A · COUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
8. B · X soit une super-clé
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.