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
Que fait WHERE country IN ('NL', 'BE', 'DE') ?
AIl conserve les lignes dont le pays n'est pas dans la liste
BIl trie les lignes dans l'ordre de la liste
CIl conserve les lignes dont le pays est égal à l'une des valeurs de la liste
DIl conserve les lignes dont la valeur de country contient les trois codes à la fois
2.Facile
Dans le modèle relationnel, comment appelle-t-on une ligne d'une table ?
AUn tuple (n-uplet)
BUn schéma
CUn domaine
DUn attribut
3.Facile
Que représente NULL en SQL ?
AUn booléen faux
BUne chaîne vide
CLe nombre zéro dans les colonnes numériques
DUne valeur manquante ou inconnue
4.Moyen
En algèbre relationnelle, l'opérateur de sélection (σ) correspond à quelle clause SQL ?
AGROUP BY
BLa liste du SELECT
CORDER BY
DWHERE
5.Moyen
Qu'apporte une expression de table commune (WITH name AS (...)) ?
AUn nouvel utilisateur de la base de données
BUne table permanente qui reste stockée sur disque jusqu'à sa suppression
CUn résultat temporaire nommé, utilisable au sein d'une seule instruction
DUn index sur une colonne
6.Moyen
Quelle propriété ACID signifie que des transactions concurrentes ne voient pas les modifications inachevées les unes des autres ?
AL'isolation
BLa disponibilité
CLa durabilité
DL'atomicité
7.Difficile
La table employee(emp_id, dept_id, dept_name) a pour clé emp_id, et dept_id → dept_name. Quelle affirmation est correcte ?
AElle est en 2NF mais pas en 3NF
BElle n'est pas en 1NF
CElle est en BCNF et donc en 3NF
DElle n'est pas en 2NF
8.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 ?
AOn ne peut pas créer d'index sur des colonnes booléennes
BL'index traite TRUE comme NULL
CL'optimiseur n'utilise jamais d'index dans les clauses WHERE
DLa plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index
Corrigé
1. C · Il conserve les lignes dont le pays est égal à l'une des valeurs de la liste
2. A · Un tuple (n-uplet)
3. D · Une valeur manquante ou inconnue
4. D · WHERE
5. C · Un résultat temporaire nommé, utilisable au sein d'une seule instruction
6. A · L'isolation
7. A · Elle est en 2NF mais pas en 3NF
8. D · La plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.