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-à-un
- BUn-à-plusieurs
- CPlusieurs-à-plusieurs
- DZéro-à-zéro
2.Facile
Quelle instruction supprime une table entière, structure comprise ?
- ADELETE FROM
- BREMOVE TABLE
- CTRUNCATE ROWS
- DDROP TABLE
3.Facile
Quel opérateur sert à une recherche simple par motif de texte dans une clause WHERE ?
- ASIMILAR
- BMATCH
- CCONTAINS
- DLIKE
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 ?
- A8
- B15
- C3
- D5
5.Moyen
Quelle requête liste les clients qui n'ont jamais passé de commande ?
- ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- CSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
6.Moyen
Pourquoi crée-t-on des index sur des colonnes ?
- APour rendre les insertions et les mises à jour plus rapides sur ces colonnes
- BPour économiser de l'espace disque
- CPour accélérer les recherches et les jointures sur ces colonnes
- DPour empêcher les valeurs NULL
7.Difficile
La table enrolment(student_id, course_id, student_name, grade) a pour clé (student_id, course_id). Quelle forme normale viole-t-elle ?
- AAucune, elle est en BCNF
- BLa deuxième forme normale, car student_name ne dépend que de student_id
- CUniquement la troisième forme normale, car grade dépend de student_name
- DLa première forme normale, car la colonne grade ne contient pas de valeurs atomiques
8.Difficile
Que renvoie SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp ?
- AUniquement les employés qui gagnent plus que la moyenne de leur service
- BUne ligne par service avec son salaire moyen
- CUne erreur, car name ne figure pas dans un GROUP BY
- DChaque ligne d'employé accompagnée du salaire moyen de son service