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
Quelle clause filtre les lignes avant le regroupement ?
AHAVING
BORDER BY
CGROUP BY
DWHERE
2.Facile
Dans le modèle relationnel, comment appelle-t-on une ligne d'une table ?
AUn attribut
BUn schéma
CUn domaine
DUn tuple (n-uplet)
3.Facile
Que fait GROUP BY dans une requête ?
AIl regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
BIl supprime les lignes contenant des valeurs NULL
CIl joint deux tables sur leurs colonnes communes
DIl trie les lignes du résultat par ordre alphabétique
4.Moyen
Quelle affirmation sur HAVING est correcte ?
AElle doit figurer avant WHERE dans l'instruction SELECT
BElle ne peut pas être utilisée avec GROUP BY
CElle peut utiliser des fonctions d'agrégation pour filtrer les groupes
DElle trie les résultats
5.Moyen
Quelle propriété ACID signifie que des transactions concurrentes ne voient pas les modifications inachevées les unes des autres ?
ALa durabilité
BL'atomicité
CL'isolation
DLa disponibilité
6.Moyen
Quelle requête renvoie le salaire le plus élevé de chaque service ?
ASELECT dept, salary FROM emp WHERE salary = MAX(salary)
BSELECT dept, MAX(salary) FROM emp GROUP BY dept
CSELECT dept, MAX(salary) FROM emp ORDER BY dept
DSELECT MAX(dept), salary FROM emp GROUP BY salary
7.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 ?
Astatus est un mot réservé
BLa jointure devrait utiliser USING au lieu de ON
CLa condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne
DLEFT JOIN ne conserve jamais les lignes sans correspondance
8.Difficile
Deux médecins de garde vérifient chacun que l'autre est encore de garde, puis se désinscrivent tous les deux en même temps. Quelle anomalie l'isolation par instantané (snapshot isolation) peut-elle encore permettre ici ?
ALa lecture sale
BL'écriture sale
CLe write skew (écriture biaisée)
DLa lecture non reproductible au sein d'une transaction
Corrigé
1. D · WHERE
2. D · Un tuple (n-uplet)
3. A · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
4. C · Elle peut utiliser des fonctions d'agrégation pour filtrer les groupes
5. C · L'isolation
6. B · SELECT dept, MAX(salary) FROM emp GROUP BY dept
7. C · La condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne
8. C · Le write skew (écriture biaisée)
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.