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é donne à une colonne ou à une table un autre nom temporaire dans une requête ?
AAS
BNAME
CALIAS
DRENAME
2.Facile
Dans le modèle relationnel, comment appelle-t-on une ligne d'une table ?
AUn attribut
BUn domaine
CUn tuple (n-uplet)
DUn schéma
3.Facile
Que fait WHERE country IN ('NL', 'BE', 'DE') ?
AIl trie les lignes dans l'ordre de la liste
BIl conserve les lignes dont le pays n'est pas dans la liste
CIl conserve les lignes dont la valeur de country contient les trois codes à la fois
DIl conserve les lignes dont le pays est égal à l'une des valeurs de la liste
4.Moyen
Une table stocke l'adresse du client sur chaque ligne de commande. Modifier l'adresse dans une ligne mais pas dans les autres est un exemple :
AD'anomalie de suppression
BDe lecture fantôme
CD'anomalie d'insertion
DD'anomalie de mise à jour
5.Moyen
Une table employees possède une colonne manager_id qui fait référence à un autre employé. Comment lister chaque employé à côté du nom de son responsable ?
AJoindre la table employees à elle-même avec deux alias
BCréer une seconde copie de la table sur disque
CCombiner la table avec elle-même au moyen de UNION ALL et d'un filtre WHERE
DUtiliser uniquement GROUP BY manager_id
6.Moyen
Quelle requête renvoie le nombre de villes différentes dans la table customers ?
ASELECT DISTINCT COUNT(city) FROM customers
BSELECT COUNT(DISTINCT city) FROM customers
CSELECT COUNT(city) FROM customers GROUP BY city
DSELECT SUM(DISTINCT city) FROM customers
7.Difficile
Que montre EXPLAIN (ou EXPLAIN ANALYZE dans PostgreSQL) pour une requête ?
AUniquement une réécriture de la requête en notation d'algèbre relationnelle
BLa signification de chaque mot-clé SQL de la requête
CLe plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure
DLa liste des utilisateurs qui ont exécuté la requête
8.Difficile
Qu'exige la règle de la journalisation anticipée (write-ahead logging, WAL) ?
AChaque requête doit être journalisée avant d'être analysée
BLes pages de données doivent être écrites avant le journal
CLe journal n'est écrit qu'après une panne
DL'enregistrement de journal d'une modification doit atteindre le support stable avant la page de données modifiée
Corrigé
1. A · AS
2. C · Un tuple (n-uplet)
3. D · Il conserve les lignes dont le pays est égal à l'une des valeurs de la liste
4. D · D'anomalie de mise à jour
5. A · Joindre la table employees à elle-même avec deux alias
6. B · SELECT COUNT(DISTINCT city) FROM customers
7. C · Le plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure
8. D · L'enregistrement de journal d'une modification doit atteindre le support stable avant la page de données modifiée
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.