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

Quelle contrainte garantit qu'une colonne ne peut jamais rester vide (NULL) ?

  1. ANOT NULL
  2. BDEFAULT
  3. CUNIQUE
  4. DCHECK NULL
3.Facile

Dans PostgreSQL et MySQL, quelle clause renvoie uniquement les 10 premières lignes d'un résultat ?

  1. AMAX 10
  2. BFIRST 10 ONLY
  3. CTOP ROWS 10
  4. DLIMIT 10
4.Moyen

En algèbre relationnelle, l'opérateur de projection (π) correspond :

  1. AÀ la combinaison de deux tables sur une clé
  2. BAu choix des lignes qui satisfont une condition donnée
  3. CAu choix des colonnes qui apparaissent dans le résultat
  4. DAu tri du résultat
5.Moyen

Quelle requête renvoie le nombre de commandes par client ?

  1. ASELECT DISTINCT COUNT(*) FROM orders
  2. BSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
  3. CSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  4. DSELECT customer_id FROM orders WHERE COUNT(*) > 0
6.Moyen

Que signifie la dépendance fonctionnelle A → B ?

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

Que calcule SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales ?

  1. AUne ligne par jour avec uniquement le total de ce jour
  2. BUn total cumulé de amount, ordonné par day
  3. CLe total de tous les montants sur chaque ligne
  4. DLe montant moyen par jour
8.Difficile

Il existe un index composé sur (last_name, first_name). Quelle condition peut l'utiliser le plus efficacement ?

  1. AWHERE UPPER(first_name) = 'EVA'
  2. BWHERE first_name LIKE '%a'
  3. CWHERE first_name = 'Eva'
  4. DWHERE last_name = 'Jansen'

Corrigé

  1. 1. C · Une colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
  2. 2. A · NOT NULL
  3. 3. D · LIMIT 10
  4. 4. C · Au choix des colonnes qui apparaissent dans le résultat
  5. 5. C · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  6. 6. B · Chaque valeur de A est associée à exactement une valeur de B
  7. 7. B · Un total cumulé de amount, ordonné par day
  8. 8. D · WHERE last_name = 'Jansen'

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