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
Des instructions comme CREATE, ALTER et DROP appartiennent à quelle partie de SQL ?
ALe langage de contrôle de données (DCL)
BLe langage de manipulation de données (DML)
CLe langage de définition de données (DDL)
DLe langage de contrôle des transactions (TCL)
2.Facile
Quelle fonction d'agrégation compte les lignes ?
ASUM
BCOUNT
CAVG
DMAX
3.Facile
Quelle instruction SQL ajoute de nouvelles lignes à une table ?
AUPDATE
BSELECT
CINSERT
DALTER
4.Moyen
Que renvoie INTERSECT utilisé entre deux requêtes SELECT ?
ALes lignes du premier résultat absentes du second
BLes lignes présentes dans les deux résultats
CLe produit cartésien des résultats
DToutes les lignes des deux résultats
5.Moyen
Quelle propriété ACID garantit que les modifications validées survivent à une panne du système ?
ALa durabilité
BLa cohérence
CL'atomicité
DL'isolation
6.Moyen
Quelle requête renvoie le nombre de commandes par client ?
ASELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
BSELECT DISTINCT COUNT(*) FROM orders
CSELECT customer_id FROM orders WHERE COUNT(*) > 0
DSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
7.Difficile
Après customers LEFT JOIN orders, pourquoi utiliser COUNT(o.id) plutôt que COUNT(*) pour compter les commandes par client ?
ACOUNT(*) n'est pas autorisé après une jointure
BCOUNT(*) ignore les lignes contenant des valeurs NULL
CCOUNT(o.id) ne compte que les clients distincts
DCOUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
8.Difficile
Une base de données de reporting copie les noms des clients dans la table des commandes pour éviter des jointures. Quel est le principal coût de cette dénormalisation ?
ALa base de données ne peut plus utiliser d'index
BLes requêtes sur la table des commandes deviennent plus lentes
CLes clés primaires ne peuvent plus être utilisées
DLes copies redondantes doivent rester cohérentes chaque fois que les données client changent
Corrigé
1. C · Le langage de définition de données (DDL)
2. B · COUNT
3. C · INSERT
4. B · Les lignes présentes dans les deux résultats
5. A · La durabilité
6. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
7. D · COUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
8. D · Les copies redondantes doivent rester cohérentes chaque fois que les données client changent
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.