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 clé toujours chiffrée
BUne colonne qui fait référence à la clé primaire d'une autre table
CUne clé utilisée par des utilisateurs étrangers
DUne colonne dont les valeurs doivent être uniques sur toutes les lignes de la table
2.Facile
Que fait une contrainte CHECK ?
AElle vérifie le mot de passe de l'utilisateur
BElle rejette les lignes dont les valeurs ne satisfont pas une condition
CElle vérifie si une table existe avant qu'une requête lui soit appliquée
DElle compte les lignes d'une table
3.Facile
Quel opérateur sert à une recherche simple par motif de texte dans une clause WHERE ?
ASIMILAR
BMATCH
CLIKE
DCONTAINS
4.Moyen
Quelle requête renvoie le salaire le plus élevé de chaque service ?
ASELECT MAX(dept), salary FROM emp GROUP BY salary
BSELECT dept, MAX(salary) FROM emp ORDER BY dept
CSELECT dept, salary FROM emp WHERE salary = MAX(salary)
DSELECT dept, MAX(salary) FROM emp GROUP BY dept
5.Moyen
Qu'est-ce qu'une injection SQL ?
AUne technique pour insérer rapidement de nombreuses lignes avec une seule instruction INSERT
BUne technique de sauvegarde de base de données
CUne attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
DUn moyen d'ajouter des index
6.Moyen
Un LEFT JOIN renvoie :
ALes lignes qui ne correspondent dans aucune des deux tables
BUniquement les lignes correspondantes des deux tables
CUniquement toutes les lignes de la table de droite
DToutes les lignes de la table de gauche et les lignes correspondantes de droite, avec des NULL en l'absence de correspondance
7.Difficile
Pourquoi une requête avec WHERE YEAR(order_date) = 2025 pourrait-elle ne pas utiliser un index sur order_date ?
ALes index ne fonctionnent jamais avec des dates
BAppliquer une fonction à la colonne empêche une simple recherche par plage dans l'index
CYEAR n'est pas du SQL valide
DUn index sur order_date n'est utilisé que pour les clauses ORDER BY, jamais pour WHERE
8.Difficile
Que renvoie un FULL OUTER JOIN ?
AUniquement les lignes sans correspondance
BUniquement les lignes correspondantes
CToutes les lignes des deux tables, appariées si possible et complétées par des NULL sinon
DLe produit cartésien, qui associe chaque ligne d'une table à toutes les lignes de l'autre
Corrigé
1. B · Une colonne qui fait référence à la clé primaire d'une autre table
2. B · Elle rejette les lignes dont les valeurs ne satisfont pas une condition
3. C · LIKE
4. D · SELECT dept, MAX(salary) FROM emp GROUP BY dept
5. C · Une attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
6. D · Toutes les lignes de la table de gauche et les lignes correspondantes de droite, avec des NULL en l'absence de correspondance
7. B · Appliquer une fonction à la colonne empêche une simple recherche par plage dans l'index
8. C · Toutes les lignes des deux tables, appariées si possible et complétées par des NULL sinon
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.