Bases de données - quiz de synthèse#

Ce quiz reprend les notions vues dans ce chapitre : la gestion et la structure des données, les bases de données relationnelles, les types de données et le langage SQL de base (hors jointures et requêtes imbriquées).

Pour les premières questions, clique sur le bouton pour vérifier ta réponse. Pour les questions SQL, il faut écrire la requête toi-même, l'exécuter, puis comparer ton résultat avec celui de la solution (clique sur son titre pour l'afficher).

Gérer et structurer les données#

Question 1#

Bob copie chaque soir ses documents de travail importants sur un disque dur externe, pour pouvoir les récupérer rapidement en cas de problème avec son ordinateur. Il s'agit de :

Question 2#

Voici un extrait d'un fichier :

nom, prenom, classe
Dupont, Bob, 2F8
Martin, Amandine, 2F7

De quel format s'agit-il ?

Question 3#

Toutes les données que nous utilisons au quotidien (mails, messages, photos, etc.) sont structurées.

Bases de données relationnelles#

Question 4#

Une clé primaire doit être :

Question 5#

Une clé étrangère est :

Question 6#

Stocker toutes les informations d'une entreprise dans un seul grand tableau (comme dans un tableur) permet d'éviter la redondance des données.

Question 7#

Une bibliothèque veut enregistrer qui a emprunté quels livres. Un usager peut emprunter plusieurs livres, et un même livre peut être emprunté (à des moments différents) par plusieurs usagers.

En suivant la méthode vue en cours (une table par entité, plus une table de liaison si nécessaire), le schéma relationnel de cette base de données contiendra au minimum tables.

Types de données#

Question 8#

Pour chacune des valeurs suivantes, choisis le type SQL le plus adapté.

  • "Fribourg" :

  • 15 (un nombre d'élèves) :

  • 19.90 (un prix en CHF) :

  • 2007-03-14 (une date de naissance) :

Langage SQL#

Voici la table jeu, qui contient le catalogue de jeux vidéo d'un magasin :

create table jeu (
  id int,
  titre text,
  genre text,
  prix decimal(5,2),
  stock int
);

insert into jeu values
  (1, 'Super Mario Odyssey', 'Plateforme', 59.90, 3),
  (2, 'The Legend of Zelda', 'Aventure', 69.90, 0),
  (3, 'Mario Kart 8', 'Course', 49.90, 5),
  (4, 'Super Smash Bros', 'Combat', 39.90, 2),
  (5, 'Animal Crossing', 'Simulation', 44.90, 0);

Question 9#

Écris la requête SQL qui insère un nouveau jeu de ton choix dans la table jeu.

1

Question 10#

Écris la requête SQL qui affiche uniquement le titre et le prix de tous les jeux.

1

Question 11#

Écris la requête SQL qui affiche tous les jeux du genre 'Aventure'.

1

Question 12#

Écris la requête SQL qui affiche tous les jeux dont le prix est strictement inférieur à 30 CHF.

1

Question 13#

Écris la requête SQL qui affiche tous les jeux triés du moins cher au plus cher.

1

Question 14#

Écris la requête SQL qui affiche tous les jeux dont le titre commence par Super.

1

Question 15#

Écris la requête SQL qui affiche tous les jeux dont le prix est compris entre 20 et 50 CHF.

1

Question 16#

Le jeu Mario Kart 8 (id 3) est désormais en rupture de stock. Écris la requête SQL qui met à jour son stock à 0.

1

Question 17#

Écris la requête SQL qui supprime tous les jeux en rupture de stock (stock à 0).

1

Question 18#

Recrée la table jeu en ajoutant :

  • id comme clé primaire ;

  • titre obligatoire (not null) ;

  • stock avec une valeur par défaut de 0, si elle n'est pas précisée.

1