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);
select * from jeu;
Question 9#
Écris la requête SQL qui insère un nouveau jeu de ton choix dans la table
jeu.
1
Solution
insert into jeu values (6, 'Splatoon 3', 'Action', 54.90, 4);
Question 10#
Écris la requête SQL qui affiche uniquement le titre et le prix de tous
les jeux.
1
Solution
select titre, prix from jeu;
Question 11#
Écris la requête SQL qui affiche tous les jeux du genre 'Aventure'.
1
Solution
select * from jeu where genre = 'Aventure';
Question 12#
Écris la requête SQL qui affiche tous les jeux dont le prix est strictement inférieur à 30 CHF.
1
Solution
select * from jeu where prix < 30;
Question 13#
Écris la requête SQL qui affiche tous les jeux triés du moins cher au plus cher.
1
Solution
select * from jeu order by prix asc;
Question 14#
Écris la requête SQL qui affiche tous les jeux dont le titre commence par
Super.
1
Solution
select * from jeu where titre like 'Super%';
Question 15#
Écris la requête SQL qui affiche tous les jeux dont le prix est compris entre 20 et 50 CHF.
1
Solution
select * from jeu where prix between 20 and 50;
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
Solution
update jeu set stock = 0 where id = 3;
Question 17#
Écris la requête SQL qui supprime tous les jeux en rupture de stock (stock
à 0).
1
Solution
delete from jeu where stock = 0;
Question 18#
Recrée la table jeu en ajoutant :
idcomme clé primaire ;titreobligatoire (not null) ;stockavec une valeur par défaut de 0, si elle n'est pas précisée.
1
Solution
create table jeu (
id int primary key not null,
titre text not null,
genre text,
prix decimal(5,2),
stock int default 0
);