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

GRANT et REVOKE appartiennent à quelle partie de SQL ?

  1. ALe langage de définition de données (DDL)
  2. BLe langage de manipulation de données (DML)
  3. CLe langage d'interrogation de données (DQL)
  4. DLe langage de contrôle de données (DCL)
2.Facile

Quelle instruction SQL modifie les valeurs de lignes qui existent déjà ?

  1. AINSERT
  2. BMODIFY
  3. CREPLACE COLUMN
  4. DUPDATE
3.Facile

Quel mot-clé donne à une colonne ou à une table un autre nom temporaire dans une requête ?

  1. ANAME
  2. BALIAS
  3. CRENAME
  4. DAS
4.Moyen

Une table stocke l'adresse du client sur chaque ligne de commande. Modifier l'adresse dans une ligne mais pas dans les autres est un exemple :

  1. AD'anomalie de suppression
  2. BD'anomalie de mise à jour
  3. CDe lecture fantôme
  4. DD'anomalie d'insertion
5.Moyen

Pourquoi SELECT price * 2 AS double_price FROM t WHERE double_price > 10 échoue-t-il dans la plupart des bases de données ?

  1. ALes alias ne peuvent pas contenir de tiret bas
  2. BL'arithmétique n'est pas autorisée dans la liste du SELECT
  3. CWHERE ne peut comparer que des colonnes de texte
  4. DWHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
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 MAX(dept), salary FROM emp GROUP BY salary
  3. CSELECT dept, MAX(salary) FROM emp ORDER BY dept
  4. DSELECT dept, MAX(salary) FROM emp GROUP BY dept
7.Difficile

Une application exécute UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7 et signale un conflit si aucune ligne n'a été mise à jour. De quelle technique s'agit-il ?

  1. ALe partitionnement (sharding) de la base de données
  2. BLa journalisation anticipée (WAL)
  3. CLe verrouillage à deux phases strict avec des verrous de ligne
  4. DLe contrôle de concurrence optimiste
8.Difficile

Que montre EXPLAIN (ou EXPLAIN ANALYZE dans PostgreSQL) pour une requête ?

  1. ALa signification de chaque mot-clé SQL de la requête
  2. BUniquement une réécriture de la requête en notation d'algèbre relationnelle
  3. CLe plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure
  4. DLa liste des utilisateurs qui ont exécuté la requête

Corrigé

  1. 1. D · Le langage de contrôle de données (DCL)
  2. 2. D · UPDATE
  3. 3. D · AS
  4. 4. B · D'anomalie de mise à jour
  5. 5. D · WHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
  6. 6. D · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  7. 7. D · Le contrôle de concurrence optimiste
  8. 8. C · Le plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure

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