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é toujours chiffrée
DUne clé utilisée par des utilisateurs étrangers
2.Facile
Des instructions comme CREATE, ALTER et DROP appartiennent à quelle partie de SQL ?
ALe langage de manipulation de données (DML)
BLe langage de définition de données (DDL)
CLe langage de contrôle des transactions (TCL)
DLe langage de contrôle de données (DCL)
3.Facile
Dans un motif LIKE, que représente le caractère générique _ (tiret bas) ?
AExactement un caractère
BZéro caractère ou plus
CUne lettre quelconque, mais pas un chiffre
DUn caractère espace
4.Moyen
La première forme normale (1NF) exige que :
AIl n'y ait pas de clés étrangères
BChaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
CChaque colonne non clé dépende de toute la clé et de rien d'autre que la clé
DChaque table ait exactement une colonne
5.Moyen
Que signifie la dépendance fonctionnelle A → B ?
AChaque valeur de A est associée à exactement une valeur de B
BChaque valeur de B est associée à exactement une valeur de A
CA est une clé étrangère qui fait référence à B
DA et B sont toutes deux des clés primaires
6.Moyen
Quelle requête renvoie le salaire le plus élevé de chaque service ?
ASELECT dept, salary FROM emp WHERE salary = MAX(salary)
BSELECT dept, MAX(salary) FROM emp ORDER BY dept
CSELECT dept, MAX(salary) FROM emp GROUP BY dept
DSELECT MAX(dept), salary FROM emp GROUP BY salary
7.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
CUne requête répétée renvoie de nouvelles lignes insérées par une autre transaction validée
DLa lecture de modifications non validées
8.Difficile
Pourquoi SELECT dept, name, COUNT(*) FROM emp GROUP BY dept est-il invalide en SQL standard ?
AGROUP BY doit lister toutes les colonnes de la table
BCOUNT(*) ne peut pas être utilisé avec GROUP BY
Cdept doit figurer dans une fonction d'agrégation
Dname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
Corrigé
1. B · Une colonne qui fait référence à la clé primaire d'une autre table
2. B · Le langage de définition de données (DDL)
3. A · Exactement un caractère
4. B · Chaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
5. A · Chaque valeur de A est associée à exactement une valeur de B
6. C · SELECT dept, MAX(salary) FROM emp GROUP BY dept
7. C · Une requête répétée renvoie de nouvelles lignes insérées par une autre transaction validée
8. D · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.