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

Des instructions comme CREATE, ALTER et DROP appartiennent à quelle partie de SQL ?

  1. ALe langage de manipulation de données (DML)
  2. BLe langage de définition de données (DDL)
  3. CLe langage de contrôle des transactions (TCL)
  4. DLe langage de contrôle de données (DCL)
3.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. CUne lettre quelconque, mais pas un chiffre
  4. DUn caractère espace
4.Moyen

La première forme normale (1NF) exige que :

  1. AIl n'y ait pas de clés étrangères
  2. BChaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
  3. CChaque colonne non clé dépende de toute la clé et de rien d'autre que la clé
  4. DChaque table ait exactement une colonne
5.Moyen

Que signifie la dépendance fonctionnelle A → B ?

  1. AChaque valeur de A est associée à exactement une valeur de B
  2. BChaque valeur de B est associée à exactement une valeur de A
  3. CA est une clé étrangère qui fait référence à B
  4. DA et B sont toutes deux des clés primaires
6.Moyen

Quelle requête renvoie le salaire le plus élevé de chaque service ?

  1. ASELECT dept, salary FROM emp WHERE salary = MAX(salary)
  2. BSELECT dept, MAX(salary) FROM emp ORDER BY dept
  3. CSELECT dept, MAX(salary) FROM emp GROUP BY dept
  4. DSELECT MAX(dept), salary FROM emp GROUP BY salary
7.Difficile

Qu'est-ce qu'une lecture fantôme (phantom read) ?

  1. AUne requête qui ne renvoie aucune ligne
  2. BLa lecture de données qui n'ont jamais été écrites
  3. CUne requête répétée renvoie de nouvelles lignes insérées par une autre transaction validée
  4. DLa lecture de modifications non validées
8.Difficile

Pourquoi SELECT dept, name, COUNT(*) FROM emp GROUP BY dept est-il invalide en SQL standard ?

  1. AGROUP BY doit lister toutes les colonnes de la table
  2. BCOUNT(*) ne peut pas être utilisé avec GROUP BY
  3. Cdept doit figurer dans une fonction d'agrégation
  4. Dname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe

Corrigé

  1. 1. B · Une colonne qui fait référence à la clé primaire d'une autre table
  2. 2. B · Le langage de définition de données (DDL)
  3. 3. A · Exactement un caractère
  4. 4. B · Chaque colonne contienne des valeurs atomiques et qu'il n'y ait pas de groupes répétitifs
  5. 5. A · Chaque valeur de A est associée à exactement une valeur de B
  6. 6. C · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  7. 7. C · Une requête répétée renvoie de nouvelles lignes insérées par une autre transaction validée
  8. 8. D · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe

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