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
Dans le modèle relationnel, comment appelle-t-on une ligne d'une table ?
AUn schéma
BUn attribut
CUn domaine
DUn tuple (n-uplet)
2.Facile
Une clé étrangère (foreign key) est :
AUne colonne dont les valeurs doivent être uniques sur toutes les lignes de la table
BUne colonne qui fait référence à la clé primaire d'une autre table
CUne clé toujours chiffrée
DUne clé utilisée par des utilisateurs étrangers
3.Facile
Que fait WHERE country IN ('NL', 'BE', 'DE') ?
AIl conserve les lignes dont le pays est égal à l'une des valeurs de la liste
BIl trie les lignes dans l'ordre de la liste
CIl conserve les lignes dont la valeur de country contient les trois codes à la fois
DIl conserve les lignes dont le pays n'est pas dans la liste
4.Moyen
Quelle instruction supprime toutes les lignes d'une table, conserve sa structure et n'accepte pas de clause WHERE ?
ATRUNCATE TABLE
BALTER TABLE
CDELETE FROM avec une clause WHERE
DDROP TABLE
5.Moyen
Que renvoie INTERSECT utilisé entre deux requêtes SELECT ?
AToutes les lignes des deux résultats
BLes lignes du premier résultat absentes du second
CLes lignes présentes dans les deux résultats
DLe produit cartésien des résultats
6.Moyen
Une vue (view) en SQL est :
AUn type d'index
BUne requête enregistrée qui se comporte comme une table virtuelle
CUn écran du client de base de données pour parcourir les tables
DUne copie d'une table sur le disque
7.Difficile
Qu'est-ce qu'une lecture fantôme (phantom read) ?
AUne requête qui ne renvoie aucune ligne
BUne requête répétée renvoie de nouvelles lignes insérées par une autre transaction validée
CLa lecture de données qui n'ont jamais été écrites
DLa lecture de modifications non validées
8.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
Bstatus est un mot réservé
CLa jointure devrait utiliser USING au lieu de ON
DLa condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne
Corrigé
1. D · Un tuple (n-uplet)
2. B · Une colonne qui fait référence à la clé primaire d'une autre table
3. A · Il conserve les lignes dont le pays est égal à l'une des valeurs de la liste
4. A · TRUNCATE TABLE
5. C · Les lignes présentes dans les deux résultats
6. B · Une requête enregistrée qui se comporte comme une table virtuelle
7. B · Une requête répétée renvoie de nouvelles lignes insérées par une autre transaction validée
8. D · La condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.