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

Une clé étrangère (foreign key) est :

  1. AUne clé toujours chiffrée
  2. BUne colonne dont les valeurs doivent être uniques sur toutes les lignes de la table
  3. CUne clé utilisée par des utilisateurs étrangers
  4. DUne colonne qui fait référence à la clé primaire d'une autre table
2.Facile

Qu'est-ce qu'une clé candidate ?

  1. AUn ensemble de colonnes partagé entre deux tables pour relier leurs lignes
  2. BUn ensemble minimal de colonnes qui identifie de manière unique chaque ligne
  3. CUne colonne en attente de devenir une clé étrangère
  4. DToute colonne contenant des valeurs NULL
3.Facile

À quoi sert un diagramme entité-association (ER) ?

  1. AÀ modéliser les entités, leurs attributs et leurs associations lors de la conception d'une base de données
  2. BÀ lister les utilisateurs d'une base de données
  3. CÀ mesurer les performances d'une base de données
  4. DÀ montrer comment une requête est exécutée
4.Moyen

Que fait ROLLBACK TO SAVEPOINT s1 ?

  1. AIl termine la transaction et valide tout
  2. BIl annule toute la transaction depuis le début
  3. CIl annule les modifications effectuées après le point de sauvegarde s1, en gardant la transaction ouverte
  4. DIl supprime le point de sauvegarde et toutes les tables modifiées depuis
5.Moyen

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

  1. ASELECT c.name FROM customers c INNER 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 NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  4. DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
6.Moyen

La troisième forme normale (3NF) élimine :

  1. ALes index redondants sur des colonnes qui ne font pas partie d'une clé
  2. BLes valeurs atomiques
  3. CLes clés composées
  4. DLes dépendances transitives entre attributs non clés
7.Difficile

Après customers LEFT JOIN orders, pourquoi utiliser COUNT(o.id) plutôt que COUNT(*) pour compter les commandes par client ?

  1. ACOUNT(*) n'est pas autorisé après une jointure
  2. BCOUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
  3. CCOUNT(*) ignore les lignes contenant des valeurs NULL
  4. DCOUNT(o.id) ne compte que les clients distincts
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. AL'optimiseur n'utilise jamais d'index dans les clauses WHERE
  2. BL'index traite TRUE comme NULL
  3. CLa plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index
  4. DOn ne peut pas créer d'index sur des colonnes booléennes

Corrigé

  1. 1. D · Une colonne qui fait référence à la clé primaire d'une autre table
  2. 2. B · Un ensemble minimal de colonnes qui identifie de manière unique chaque ligne
  3. 3. A · À modéliser les entités, leurs attributs et leurs associations lors de la conception d'une base de données
  4. 4. C · Il annule les modifications effectuées après le point de sauvegarde s1, en gardant la transaction ouverte
  5. 5. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  6. 6. D · Les dépendances transitives entre attributs non clés
  7. 7. B · COUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
  8. 8. C · 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.