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 garantit une contrainte UNIQUE sur une colonne ?
ALa colonne devient automatiquement la clé primaire de la table
BLes valeurs de la colonne sont triées
CLa colonne ne peut plus être modifiée après l'insertion
DDeux lignes ne peuvent pas avoir la même valeur non NULL dans cette colonne
2.Facile
Quel opérateur sert à une recherche simple par motif de texte dans une clause WHERE ?
ALIKE
BSIMILAR
CMATCH
DCONTAINS
3.Facile
Quelles lignes WHERE price BETWEEN 10 AND 20 sélectionne-t-il ?
AUniquement les lignes dont le prix est égal à 10 ou à 20
BLes lignes dont le prix va de 10 à 20, bornes 10 et 20 incluses
CLes lignes dont le prix est supérieur à 10 et inférieur à 20, 10 et 20 exclus
DLes lignes dont le prix est en dehors de l'intervalle de 10 à 20
4.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 ?
AUtiliser uniquement GROUP BY manager_id
BCombiner la table avec elle-même au moyen de UNION ALL et d'un filtre WHERE
CCréer une seconde copie de la table sur disque
DJoindre la table employees à elle-même avec deux alias
5.Moyen
Quelle affirmation sur HAVING est correcte ?
AElle ne peut pas être utilisée avec GROUP BY
BElle doit figurer avant WHERE dans l'instruction SELECT
CElle peut utiliser des fonctions d'agrégation pour filtrer les groupes
DElle trie les résultats
6.Moyen
Quand WHERE EXISTS (sous-requête) est-il vrai pour une ligne ?
AQuand la sous-requête renvoie un nombre supérieur à zéro
BQuand la sous-requête ne renvoie aucune valeur NULL
CQuand la sous-requête renvoie exactement une ligne
DQuand la sous-requête renvoie au moins une ligne
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
La table b contient les valeurs 1, 2 et NULL dans la colonne y. Que renvoie SELECT * FROM a WHERE x NOT IN (SELECT y FROM b) ?
AToutes les lignes de a
BLes lignes de a où x ne vaut ni 1 ni 2
CUniquement les lignes de a où x est NULL
DAucune ligne
Corrigé
1. D · Deux lignes ne peuvent pas avoir la même valeur non NULL dans cette colonne
2. A · LIKE
3. B · Les lignes dont le prix va de 10 à 20, bornes 10 et 20 incluses
4. D · Joindre la table employees à elle-même avec deux alias
5. C · Elle peut utiliser des fonctions d'agrégation pour filtrer les groupes
6. D · Quand la sous-requête renvoie au moins une ligne
7. B · La deuxième forme normale, car student_name ne dépend que de student_id
8. D · Aucune ligne
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.