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é primaire (primary key) ?

  1. AUn mot de passe pour la base de données
  2. BLa première colonne de chaque table
  3. CUne colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
  4. DUne colonne qui peut contenir des doublons mais ne doit jamais contenir NULL
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. AZéro-à-zéro
  2. BPlusieurs-à-plusieurs
  3. CUn-à-plusieurs
  4. DUn-à-un
3.Facile

Que fait GROUP BY dans une requête ?

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

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

  1. ALa lecture de données sans clause WHERE
  2. BLa lecture de données sur un disque corrompu
  3. CLa lecture d'une même ligne deux fois avec la même valeur
  4. DLa lecture de données écrites par une autre transaction qui n'a pas encore été validée
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 présentes dans les deux résultats
  4. DLes lignes du premier résultat absentes du second
6.Moyen

Une table employees possède une colonne manager_id qui fait référence à un autre employé. Comment lister chaque employé à côté du nom de son responsable ?

  1. AUtiliser uniquement GROUP BY manager_id
  2. BJoindre la table employees à elle-même avec deux alias
  3. CCréer une seconde copie de la table sur disque
  4. DCombiner la table avec elle-même au moyen de UNION ALL et d'un filtre WHERE
7.Difficile

Les scores sont 90, 90 et 80. Quelles valeurs RANK() OVER (ORDER BY score DESC) donne-t-il ?

  1. A1, 1, 3
  2. B2, 2, 3
  3. C1, 2, 3
  4. D1, 1, 2
8.Difficile

La transaction T1 verrouille la ligne A et attend la ligne B, tandis que T2 verrouille la ligne B et attend la ligne A. Que fait un SGBD typique ?

  1. AIl laisse les deux transactions attendre jusqu'à ce que l'une d'elles se termine normalement par un COMMIT
  2. BIl fusionne les deux transactions en une seule
  3. CIl détecte l'interblocage et annule l'une des transactions, désignée comme victime
  4. DIl valide les deux transactions en même temps

Corrigé

  1. 1. C · Une colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
  2. 2. C · Un-à-plusieurs
  3. 3. B · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
  4. 4. D · La lecture de données écrites par une autre transaction qui n'a pas encore été validée
  5. 5. C · Les lignes présentes dans les deux résultats
  6. 6. B · Joindre la table employees à elle-même avec deux alias
  7. 7. A · 1, 1, 3
  8. 8. C · Il détecte l'interblocage et annule l'une des transactions, désignée comme victime

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