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) ?
AUne lettre quelconque, mais pas un chiffre
BZéro caractère ou plus
CExactement un caractère
DUn caractère espace
2.Facile
Que fait une contrainte CHECK ?
AElle compte les lignes d'une table
BElle vérifie si une table existe avant qu'une requête lui soit appliquée
CElle rejette les lignes dont les valeurs ne satisfont pas une condition
DElle vérifie le mot de passe de l'utilisateur
3.Facile
Qu'est-ce qu'une clé de substitution (surrogate key) ?
AUn identifiant artificiel sans signification métier, comme un id auto-incrémenté
BUne clé utilisée uniquement dans les vues
CUne clé qui fait référence à une autre table
DUne clé tirée de données réelles, comme une adresse e-mail
4.Moyen
Qu'est-ce qu'une injection SQL ?
AUne attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
BUne technique pour insérer rapidement de nombreuses lignes avec une seule instruction INSERT
CUne technique de sauvegarde de base de données
DUn moyen d'ajouter des index
5.Moyen
Quelle affirmation sur HAVING est correcte ?
AElle peut utiliser des fonctions d'agrégation pour filtrer les groupes
BElle ne peut pas être utilisée avec GROUP BY
CElle doit figurer avant WHERE dans l'instruction SELECT
DElle trie les résultats
6.Moyen
Quelle requête renvoie le salaire le plus élevé de chaque service ?
ASELECT dept, MAX(salary) FROM emp ORDER BY dept
BSELECT MAX(dept), salary FROM emp GROUP BY salary
CSELECT dept, salary FROM emp WHERE salary = MAX(salary)
DSELECT dept, MAX(salary) FROM emp GROUP BY dept
7.Difficile
Le verrouillage à deux phases (2PL) garantit :
AQue les transactions n'attendent jamais
BQue les interblocages (deadlocks) ne peuvent jamais se produire
CDes ordonnancements sérialisables par conflits
DQu'aucun verrou n'est nécessaire
8.Difficile
Quel est le résultat de SELECT COUNT(col) FROM t si toutes les valeurs de col sont NULL et que la table contient 10 lignes ?
AUne erreur
B0
C10
DNULL
Corrigé
1. C · Exactement un caractère
2. C · Elle rejette les lignes dont les valeurs ne satisfont pas une condition
3. A · Un identifiant artificiel sans signification métier, comme un id auto-incrémenté
4. A · Une attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
5. A · Elle peut utiliser des fonctions d'agrégation pour filtrer les groupes
6. D · SELECT dept, MAX(salary) FROM emp GROUP BY dept
7. C · Des ordonnancements sérialisables par conflits
8. B · 0
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.