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
Qu'est-ce qu'une clé candidate ?
AUne colonne en attente de devenir une clé étrangère
BUn ensemble minimal de colonnes qui identifie de manière unique chaque ligne
CToute colonne contenant des valeurs NULL
DUn ensemble de colonnes partagé entre deux tables pour relier leurs lignes
2.Facile
En quoi UNION ALL diffère-t-il de UNION ?
AUNION ALL ne fonctionne que sur une seule table
BUNION ALL conserve les lignes en double
CUNION ALL supprime les lignes en double
DUNION ALL trie le résultat
3.Facile
Quelle instruction SQL modifie les valeurs de lignes qui existent déjà ?
AUPDATE
BREPLACE COLUMN
CMODIFY
DINSERT
4.Moyen
Une table contient des lignes où col est NULL. Quelles lignes WHERE col = NULL renvoie-t-il ?
AUniquement les lignes où col est NULL, comme avec IS NULL
BUne erreur dans toutes les bases de données
CToutes les lignes de la table
DAucune ligne, car la comparaison est inconnue
5.Moyen
En algèbre relationnelle, l'opérateur de sélection (σ) correspond à quelle clause SQL ?
AORDER BY
BGROUP BY
CWHERE
DLa liste du SELECT
6.Moyen
Pourquoi une table ne peut-elle avoir qu'un seul index clustérisé (clustered index) ?
ALes index clustérisés ne peuvent porter que sur la clé primaire
BLa norme SQL interdit d'avoir plus d'un index sur une table
CLes index clustérisés utilisent trop de mémoire
DLes lignes ne peuvent être stockées physiquement que dans un seul ordre
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
BLe plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure
CLa liste des utilisateurs qui ont exécuté la requête
DLa signification de chaque mot-clé SQL de la requête
8.Difficile
Pour une équijointure entre deux grandes tables sans index utile, quel algorithme de jointure un optimiseur choisit-il souvent ?
ALa jointure par boucles imbriquées avec accès par index
BLa jointure par hachage (hash join)
CLa jointure croisée
DLa jointure bitmap sur la clé primaire
Corrigé
1. B · Un ensemble minimal de colonnes qui identifie de manière unique chaque ligne
2. B · UNION ALL conserve les lignes en double
3. A · UPDATE
4. D · Aucune ligne, car la comparaison est inconnue
5. C · WHERE
6. D · Les lignes ne peuvent être stockées physiquement que dans un seul ordre
7. B · Le plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure
8. B · La jointure par hachage (hash join)
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.