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 instruction SQL modifie les valeurs de lignes qui existent déjà ?
AUPDATE
BMODIFY
CINSERT
DREPLACE COLUMN
2.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 conserve les lignes dont la valeur de country contient les trois codes à la fois
CIl trie les lignes dans l'ordre de la liste
DIl conserve les lignes dont le pays n'est pas dans la liste
3.Facile
Que renvoie un CROSS JOIN ?
AUniquement les lignes qui ne correspondent pas
BUniquement les lignes de la première table
CToutes les combinaisons de lignes des deux tables
DUniquement les lignes qui correspondent sur une colonne clé commune
4.Moyen
Que signifie la dépendance fonctionnelle A → B ?
AChaque valeur de B est associée à exactement une valeur de A
BA et B sont toutes deux des clés primaires
CChaque valeur de A est associée à exactement une valeur de B
DA est une clé étrangère qui fait référence à B
5.Moyen
Qu'est-ce qu'une injection SQL ?
AUne technique pour insérer rapidement de nombreuses lignes avec une seule instruction INSERT
BUn moyen d'ajouter des index
CUne technique de sauvegarde de base de données
DUne attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
6.Moyen
Quand WHERE EXISTS (sous-requête) est-il vrai pour une ligne ?
AQuand la sous-requête renvoie exactement une ligne
BQuand la sous-requête renvoie un nombre supérieur à zéro
CQuand la sous-requête renvoie au moins une ligne
DQuand la sous-requête ne renvoie aucune valeur NULL
7.Difficile
Quelle fonction de fenêtrage attribue 1, 2, 3, ... aux lignes de chaque partition, sans ex æquo ?
ARANK()
BCOUNT()
CROW_NUMBER()
DDENSE_RANK()
8.Difficile
Une table a un million de lignes et une colonne booléenne is_active vraie pour 95% d'entre elles. Pourquoi l'optimiseur pourrait-il ignorer un index sur is_active pour WHERE is_active = TRUE ?
ALa plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index
BL'optimiseur n'utilise jamais d'index dans les clauses WHERE
COn ne peut pas créer d'index sur des colonnes booléennes
DL'index traite TRUE comme NULL
Corrigé
1. A · UPDATE
2. A · Il conserve les lignes dont le pays est égal à l'une des valeurs de la liste
3. C · Toutes les combinaisons de lignes des deux tables
4. C · Chaque valeur de A est associée à exactement une valeur de B
5. D · Une attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
6. C · Quand la sous-requête renvoie au moins une ligne
7. C · ROW_NUMBER()
8. A · La plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.