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

GRANT et REVOKE appartiennent à quelle partie de SQL ?

  1. ALe langage de contrôle de données (DCL)
  2. BLe langage de manipulation de données (DML)
  3. CLe langage d'interrogation de données (DQL)
  4. DLe langage de définition de données (DDL)
2.Facile

Dans un motif LIKE, que représente le caractère générique _ (tiret bas) ?

  1. AExactement un caractère
  2. BZéro caractère ou plus
  3. CUn caractère espace
  4. DUne lettre quelconque, mais pas un chiffre
3.Facile

Quelle fonction d'agrégation compte les lignes ?

  1. AAVG
  2. BSUM
  3. CMAX
  4. DCOUNT
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 est une clé étrangère qui fait référence à B
  3. CA et B sont toutes deux des clés primaires
  4. DChaque valeur de A est associée à exactement une valeur de B
5.Moyen

Que renvoie INTERSECT utilisé entre deux requêtes SELECT ?

  1. ALe produit cartésien des résultats
  2. BToutes les lignes des deux résultats
  3. CLes lignes du premier résultat absentes du second
  4. DLes lignes présentes dans les deux résultats
6.Moyen

Qu'est-ce qu'un déclencheur (trigger) de base de données ?

  1. ADu code exécuté automatiquement lorsqu'un événement précis, comme INSERT, UPDATE ou DELETE, se produit sur une table
  2. BUne requête qu'un utilisateur lance à la main
  3. CUn type d'index qui accélère les recherches
  4. DUne sauvegarde planifiée de la base de données
7.Difficile

Qu'est-ce qu'un index couvrant pour une requête ?

  1. AUn index qui couvre toutes les colonnes de toutes les tables
  2. BUn index portant uniquement sur la clé primaire
  3. CUn index qui contient toutes les colonnes nécessaires à la requête, si bien que la table elle-même n'a pas besoin d'être lue
  4. DUn index reconstruit chaque nuit
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. AOn ne peut pas créer d'index sur des colonnes booléennes
  2. BLa plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index
  3. CL'index traite TRUE comme NULL
  4. DL'optimiseur n'utilise jamais d'index dans les clauses WHERE

Corrigé

  1. 1. A · Le langage de contrôle de données (DCL)
  2. 2. A · Exactement un caractère
  3. 3. D · COUNT
  4. 4. D · Chaque valeur de A est associée à exactement une valeur de B
  5. 5. D · Les lignes présentes dans les deux résultats
  6. 6. A · Du code exécuté automatiquement lorsqu'un événement précis, comme INSERT, UPDATE ou DELETE, se produit sur une table
  7. 7. C · Un index qui contient toutes les colonnes nécessaires à la requête, si bien que la table elle-même n'a pas besoin d'être lue
  8. 8. B · 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.