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

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

  1. AAS
  2. BRENAME
  3. CALIAS
  4. DNAME
2.Facile

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

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

Quelle instruction supprime une table entière, structure comprise ?

  1. AREMOVE TABLE
  2. BTRUNCATE ROWS
  3. CDROP TABLE
  4. DDELETE FROM
4.Moyen

Des étudiants peuvent suivre plusieurs cours et chaque cours a plusieurs étudiants. Comment modélise-t-on cela en tables ?

  1. AAvec une liste d'identifiants de cours stockée dans une seule colonne
  2. BAvec une table d'association contenant des clés étrangères vers les étudiants et vers les cours
  3. CAvec une colonne de clé étrangère course_id dans la table des étudiants qui pointe vers les cours
  4. DEn fusionnant étudiants et cours dans une seule table
5.Moyen

La table orders compte 5 lignes, chacune faisant référence à un client existant. La table customers compte 3 lignes. Combien de lignes un INNER JOIN sur customer_id renvoie-t-il ?

  1. A3
  2. B5
  3. C15
  4. D8
6.Moyen

Que fait GRANT SELECT ON employees TO alice ?

  1. AIl autorise l'utilisatrice alice à lire la table employees
  2. BIl autorise alice à modifier et à supprimer des lignes de la table employees
  3. CIl copie la table employees pour alice
  4. DIl fait d'alice la propriétaire de la base de données
7.Difficile

Pour une équijointure entre deux grandes tables sans index utile, quel algorithme de jointure un optimiseur choisit-il souvent ?

  1. ALa jointure par hachage (hash join)
  2. BLa jointure bitmap sur la clé primaire
  3. CLa jointure par boucles imbriquées avec accès par index
  4. DLa jointure croisée
8.Difficile

Après customers LEFT JOIN orders, pourquoi utiliser COUNT(o.id) plutôt que COUNT(*) pour compter les commandes par client ?

  1. ACOUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
  2. BCOUNT(*) ignore les lignes contenant des valeurs NULL
  3. CCOUNT(*) n'est pas autorisé après une jointure
  4. DCOUNT(o.id) ne compte que les clients distincts

Corrigé

  1. 1. A · AS
  2. 2. A · Il conserve les lignes dont le pays est égal à l'une des valeurs de la liste
  3. 3. C · DROP TABLE
  4. 4. B · Avec une table d'association contenant des clés étrangères vers les étudiants et vers les cours
  5. 5. B · 5
  6. 6. A · Il autorise l'utilisatrice alice à lire la table employees
  7. 7. A · La jointure par hachage (hash join)
  8. 8. A · COUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande

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