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
Quel mot-clé trie le résultat d'une requête ?
ASORT
BORDER BY
CGROUP BY
DARRANGE
2.Facile
À quoi sert un diagramme entité-association (ER) ?
AÀ modéliser les entités, leurs attributs et leurs associations lors de la conception d'une base de données
BÀ lister les utilisateurs d'une base de données
CÀ montrer comment une requête est exécutée
DÀ mesurer les performances d'une base de données
3.Facile
Que fait COMMIT dans une transaction ?
AIl verrouille toute la base de données
BIl annule toutes les modifications effectuées depuis le début de la transaction
CIl rend permanentes toutes les modifications de la transaction
DIl crée une nouvelle table
4.Moyen
Une vue (view) en SQL est :
AUn type d'index
BUne copie d'une table sur le disque
CUn écran du client de base de données pour parcourir les tables
DUne requête enregistrée qui se comporte comme une table virtuelle
5.Moyen
Que renvoie SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results ?
ALe nombre d'étudiants reçus et recalés
BChaque nom avec l'étiquette 'pass' ou 'fail' selon la note
CUne erreur, car CASE n'est pas autorisé dans SELECT
DUniquement les étudiants reçus
6.Moyen
Pourquoi crée-t-on des index sur des colonnes ?
APour rendre les insertions et les mises à jour plus rapides sur ces colonnes
BPour économiser de l'espace disque
CPour empêcher les valeurs NULL
DPour accélérer les recherches et les jointures sur ces colonnes
7.Difficile
La requête FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' élimine de façon inattendue les clients sans commande. Pourquoi ?
ALEFT JOIN ne conserve jamais les lignes sans correspondance
BLa jointure devrait utiliser USING au lieu de ON
Cstatus est un mot réservé
DLa condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne
8.Difficile
Quelle fonction de fenêtrage attribue 1, 2, 3, ... aux lignes de chaque partition, sans ex æquo ?
ADENSE_RANK()
BCOUNT()
CROW_NUMBER()
DRANK()
Corrigé
1. B · ORDER BY
2. A · À modéliser les entités, leurs attributs et leurs associations lors de la conception d'une base de données
3. C · Il rend permanentes toutes les modifications de la transaction
4. D · Une requête enregistrée qui se comporte comme une table virtuelle
5. B · Chaque nom avec l'étiquette 'pass' ou 'fail' selon la note
6. D · Pour accélérer les recherches et les jointures sur ces colonnes
7. D · La condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne
8. C · ROW_NUMBER()
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.