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 fonction d'agrégation renvoie la moyenne d'une colonne numérique ?

  1. AAVG
  2. BMEDIAN
  3. CSUM
  4. DMEAN
2.Facile

Que fait GROUP BY dans une requête ?

  1. AIl regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
  2. BIl trie les lignes du résultat par ordre alphabétique
  3. CIl joint deux tables sur leurs colonnes communes
  4. DIl supprime les lignes contenant des valeurs NULL
3.Facile

Que représente NULL en SQL ?

  1. AUn booléen faux
  2. BUne valeur manquante ou inconnue
  3. CUne chaîne vide
  4. DLe nombre zéro dans les colonnes numériques
4.Moyen

Que renvoie SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results ?

  1. AUniquement les étudiants reçus
  2. BChaque nom avec l'étiquette 'pass' ou 'fail' selon la note
  3. CLe nombre d'étudiants reçus et recalés
  4. DUne erreur, car CASE n'est pas autorisé dans SELECT
5.Moyen

Quelle requête liste les clients qui n'ont jamais passé de commande ?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  4. DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
6.Moyen

Que fait GRANT SELECT ON employees TO alice ?

  1. AIl copie la table employees pour alice
  2. BIl autorise l'utilisatrice alice à lire la table employees
  3. CIl autorise alice à modifier et à supprimer des lignes de la table employees
  4. DIl fait d'alice la propriétaire de la base de données
7.Difficile

La forme normale de Boyce-Codd (BCNF) exige que, pour toute dépendance fonctionnelle non triviale X → Y :

  1. AX soit une super-clé
  2. BY soit atomique
  3. CY soit une clé primaire
  4. DX contienne NULL
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'index traite TRUE comme NULL
  3. COn ne peut pas créer d'index sur des colonnes booléennes
  4. DL'optimiseur n'utilise jamais d'index dans les clauses WHERE

Corrigé

  1. 1. A · AVG
  2. 2. A · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
  3. 3. B · Une valeur manquante ou inconnue
  4. 4. B · Chaque nom avec l'étiquette 'pass' ou 'fail' selon la note
  5. 5. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  6. 6. B · Il autorise l'utilisatrice alice à lire la table employees
  7. 7. A · X soit une super-clé
  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.