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

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

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

Un client peut passer de nombreuses commandes, mais chaque commande appartient à exactement un client. De quel type d'association s'agit-il ?

  1. APlusieurs-à-plusieurs
  2. BZéro-à-zéro
  3. CUn-à-un
  4. DUn-à-plusieurs
3.Facile

En quoi UNION ALL diffère-t-il de UNION ?

  1. AUNION ALL ne fonctionne que sur une seule table
  2. BUNION ALL trie le résultat
  3. CUNION ALL conserve les lignes en double
  4. DUNION ALL supprime les lignes en double
4.Moyen

Pourquoi une table ne peut-elle avoir qu'un seul index clustérisé (clustered index) ?

  1. ALa norme SQL interdit d'avoir plus d'un index sur une table
  2. BLes index clustérisés ne peuvent porter que sur la clé primaire
  3. CLes lignes ne peuvent être stockées physiquement que dans un seul ordre
  4. DLes index clustérisés utilisent trop de mémoire
5.Moyen

Une vue (view) en SQL est :

  1. AUne requête enregistrée qui se comporte comme une table virtuelle
  2. BUn type d'index
  3. CUn écran du client de base de données pour parcourir les tables
  4. DUne copie d'une table sur le disque
6.Moyen

Qu'est-ce qu'une lecture sale (dirty read) ?

  1. ALa lecture de données sur un disque corrompu
  2. BLa lecture de données écrites par une autre transaction qui n'a pas encore été validée
  3. CLa lecture d'une même ligne deux fois avec la même valeur
  4. DLa lecture de données sans clause WHERE
7.Difficile

Pourquoi NATURAL JOIN est-il considéré comme risqué dans les requêtes de production ?

  1. AIl renvoie toujours un produit cartésien
  2. BIl ignore les clés primaires et étrangères et ne garde que les lignes NULL
  3. CIl joint sur toutes les colonnes de même nom, si bien qu'une nouvelle colonne peut modifier le résultat sans prévenir
  4. DIl n'est pris en charge par aucune base de données
8.Difficile

La requête FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' élimine de façon inattendue les clients sans commande. Pourquoi ?

  1. Astatus est un mot réservé
  2. BLEFT JOIN ne conserve jamais les lignes sans correspondance
  3. CLa jointure devrait utiliser USING au lieu de ON
  4. DLa condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne

Corrigé

  1. 1. D · Un ensemble minimal de colonnes qui identifie de manière unique chaque ligne
  2. 2. D · Un-à-plusieurs
  3. 3. C · UNION ALL conserve les lignes en double
  4. 4. C · Les lignes ne peuvent être stockées physiquement que dans un seul ordre
  5. 5. A · Une requête enregistrée qui se comporte comme une table virtuelle
  6. 6. B · La lecture de données écrites par une autre transaction qui n'a pas encore été validée
  7. 7. C · Il joint sur toutes les colonnes de même nom, si bien qu'une nouvelle colonne peut modifier le résultat sans prévenir
  8. 8. D · La condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne

Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.