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

Que fait WHERE country IN ('NL', 'BE', 'DE') ?

  1. AIl conserve les lignes dont le pays n'est pas dans la liste
  2. BIl trie les lignes dans l'ordre de la liste
  3. CIl conserve les lignes dont le pays est égal à l'une des valeurs de la liste
  4. DIl conserve les lignes dont la valeur de country contient les trois codes à la fois
2.Facile

Dans le modèle relationnel, comment appelle-t-on une ligne d'une table ?

  1. AUn tuple (n-uplet)
  2. BUn schéma
  3. CUn domaine
  4. DUn attribut
3.Facile

Que représente NULL en SQL ?

  1. AUn booléen faux
  2. BUne chaîne vide
  3. CLe nombre zéro dans les colonnes numériques
  4. DUne valeur manquante ou inconnue
4.Moyen

En algèbre relationnelle, l'opérateur de sélection (σ) correspond à quelle clause SQL ?

  1. AGROUP BY
  2. BLa liste du SELECT
  3. CORDER BY
  4. DWHERE
5.Moyen

Qu'apporte une expression de table commune (WITH name AS (...)) ?

  1. AUn nouvel utilisateur de la base de données
  2. BUne table permanente qui reste stockée sur disque jusqu'à sa suppression
  3. CUn résultat temporaire nommé, utilisable au sein d'une seule instruction
  4. DUn index sur une colonne
6.Moyen

Quelle propriété ACID signifie que des transactions concurrentes ne voient pas les modifications inachevées les unes des autres ?

  1. AL'isolation
  2. BLa disponibilité
  3. CLa durabilité
  4. DL'atomicité
7.Difficile

La table employee(emp_id, dept_id, dept_name) a pour clé emp_id, et dept_id → dept_name. Quelle affirmation est correcte ?

  1. AElle est en 2NF mais pas en 3NF
  2. BElle n'est pas en 1NF
  3. CElle est en BCNF et donc en 3NF
  4. DElle n'est pas en 2NF
8.Difficile

Une table a un million de lignes et une colonne booléenne is_active vraie pour 95% d'entre elles. Pourquoi l'optimiseur pourrait-il ignorer un index sur is_active pour WHERE is_active = TRUE ?

  1. AOn ne peut pas créer d'index sur des colonnes booléennes
  2. BL'index traite TRUE comme NULL
  3. CL'optimiseur n'utilise jamais d'index dans les clauses WHERE
  4. DLa plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index

Corrigé

  1. 1. C · Il conserve les lignes dont le pays est égal à l'une des valeurs de la liste
  2. 2. A · Un tuple (n-uplet)
  3. 3. D · Une valeur manquante ou inconnue
  4. 4. D · WHERE
  5. 5. C · Un résultat temporaire nommé, utilisable au sein d'une seule instruction
  6. 6. A · L'isolation
  7. 7. A · Elle est en 2NF mais pas en 3NF
  8. 8. D · La plupart des lignes correspondent, donc un parcours complet de la table coûte moins cher que de nombreux accès par l'index

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