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à ?

  1. AUPDATE
  2. BMODIFY
  3. CINSERT
  4. DREPLACE COLUMN
2.Facile

Que fait WHERE country IN ('NL', 'BE', 'DE') ?

  1. AIl conserve les lignes dont le pays est égal à l'une des valeurs de la liste
  2. BIl conserve les lignes dont la valeur de country contient les trois codes à la fois
  3. CIl trie les lignes dans l'ordre de la liste
  4. DIl conserve les lignes dont le pays n'est pas dans la liste
3.Facile

Que renvoie un CROSS JOIN ?

  1. AUniquement les lignes qui ne correspondent pas
  2. BUniquement les lignes de la première table
  3. CToutes les combinaisons de lignes des deux tables
  4. DUniquement les lignes qui correspondent sur une colonne clé commune
4.Moyen

Que signifie la dépendance fonctionnelle A → B ?

  1. AChaque valeur de B est associée à exactement une valeur de A
  2. BA et B sont toutes deux des clés primaires
  3. CChaque valeur de A est associée à exactement une valeur de B
  4. DA est une clé étrangère qui fait référence à B
5.Moyen

Qu'est-ce qu'une injection SQL ?

  1. AUne technique pour insérer rapidement de nombreuses lignes avec une seule instruction INSERT
  2. BUn moyen d'ajouter des index
  3. CUne technique de sauvegarde de base de données
  4. 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 ?

  1. AQuand la sous-requête renvoie exactement une ligne
  2. BQuand la sous-requête renvoie un nombre supérieur à zéro
  3. CQuand la sous-requête renvoie au moins une ligne
  4. 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 ?

  1. ARANK()
  2. BCOUNT()
  3. CROW_NUMBER()
  4. 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 ?

  1. ALa plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index
  2. BL'optimiseur n'utilise jamais d'index dans les clauses WHERE
  3. COn ne peut pas créer d'index sur des colonnes booléennes
  4. DL'index traite TRUE comme NULL

Corrigé

  1. 1. A · UPDATE
  2. 2. A · Il conserve les lignes dont le pays est égal à l'une des valeurs de la liste
  3. 3. C · Toutes les combinaisons de lignes des deux tables
  4. 4. C · Chaque valeur de A est associée à exactement une valeur de B
  5. 5. D · Une attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
  6. 6. C · Quand la sous-requête renvoie au moins une ligne
  7. 7. C · ROW_NUMBER()
  8. 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.