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
Un client peut passer de nombreuses commandes, mais chaque commande appartient à exactement un client. De quel type d'association s'agit-il ?
AUn-à-plusieurs
BPlusieurs-à-plusieurs
CZéro-à-zéro
DUn-à-un
2.Facile
En quoi UNION ALL diffère-t-il de UNION ?
AUNION ALL supprime les lignes en double
BUNION ALL trie le résultat
CUNION ALL conserve les lignes en double
DUNION ALL ne fonctionne que sur une seule table
3.Facile
Quelle instruction supprime une table entière, structure comprise ?
ADROP TABLE
BTRUNCATE ROWS
CREMOVE TABLE
DDELETE FROM
4.Moyen
La table orders compte 5 lignes, chacune faisant référence à un client existant. La table customers compte 3 lignes. Combien de lignes un INNER JOIN sur customer_id renvoie-t-il ?
A3
B15
C5
D8
5.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 GROUP BY dept
CSELECT dept, MAX(salary) FROM emp ORDER BY dept
DSELECT MAX(dept), salary FROM emp GROUP BY salary
6.Moyen
Qu'est-ce qu'une lecture sale (dirty read) ?
ALa lecture de données sans clause WHERE
BLa lecture d'une même ligne deux fois avec la même valeur
CLa lecture de données écrites par une autre transaction qui n'a pas encore été validée
DLa lecture de données sur un disque corrompu
7.Difficile
Une table a un million de lignes et une colonne booléenne is_active vraie pour 95% d'entre elles. Pourquoi l'optimiseur pourrait-il ignorer un index sur is_active pour WHERE is_active = TRUE ?
ALa plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index
BOn ne peut pas créer d'index sur des colonnes booléennes
CL'optimiseur n'utilise jamais d'index dans les clauses WHERE
DL'index traite TRUE comme NULL
8.Difficile
Étant données les dépendances fonctionnelles A → B, B → C et C → D sur R(A, B, C, D), quelle est la fermeture A+ ?
A{A, B, C, D}
B{A, B, C}
C{A, B}
D{A}
Corrigé
1. A · Un-à-plusieurs
2. C · UNION ALL conserve les lignes en double
3. A · DROP TABLE
4. C · 5
5. B · SELECT dept, MAX(salary) FROM emp GROUP BY dept
6. C · La lecture de données écrites par une autre transaction qui n'a pas encore été validée
7. A · La plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index
8. A · {A, B, C, D}
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.