Objectif : Cet exercice vous permettra de mettre en pratique vos connaissances sur les SGBDR, l'algèbre relationnelle, l'interrogation de bases de données, la mise à jour des données et la gestion des transactions.
Vous travaillez pour une boutique de jeux vidéo qui souhaite améliorer la gestion de ses données. Vous allez créer une base de données complète pour gérer les informations sur les jeux, les développeurs, les transactions de vente et les clients.
Créez une base de données appelée game_store. Dans cette base de données, vous devez créer les tables suivantes :
games : Stocke les informations sur les jeux vidéo.developers : Stocke les informations sur les développeurs.game_developers : Relie les jeux aux développeurs.customers : Stocke les informations sur les clients.sales : Enregistre les transactions de vente.sale_items : Enregistre les détails des articles vendus dans chaque transaction.foreign keys. Voici les champs :-- Utiliser la base de données game_store
USE game_store;
-- Création de la table games
game_id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
release_year YEAR NOT NULL,
price DECIMAL(10, 2) NOT NULL
-- Création de la table developers
developer_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
established_year YEAR
-- Création de la table game_developers
id INT AUTO_INCREMENT PRIMARY KEY,
game_id INT,
developer_id INT,
-- Création de la table customers
customer_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE,
phone VARCHAR(20),
address TEXT
-- Création de la table sales
sale_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
sale_date DATE NOT NULL,
-- Création de la table sale_items
sale_item_id INT AUTO_INCREMENT PRIMARY KEY,
sale_id INT,
game_id INT,
quantity INT NOT NULL,
Insérez des données fictives pour peupler vos tables :
-- Insertion des jeux vidéo
INSERT INTO games (title, release_year, price) VALUES
('Adventure Quest', 2021, 59.99),
('Battle Arena', 2020, 49.99),
('Mystery Island', 2019, 39.99);
-- Insertion des développeurs
INSERT INTO developers (name, established_year) VALUES
('Alpha Studios', 2005),
('Beta Games', 2010),
('Gamma Developers', 2015);
-- Insertion des relations game_developers
INSERT INTO game_developers (game_id, developer_id) VALUES
(1, 1), -- Alpha Studios a développé "Adventure Quest"
(2, 2), -- Beta Games a développé "Battle Arena"
(3, 3); -- Gamma Developers a développé "Mystery Island"
-- Insertion des clients
INSERT INTO customers (name, email, phone, address) VALUES
('Alice Johnson', '[email protected]', '123-456-7890', '123 Main St, Anytown'),
('Bob Williams', '[email protected]', '098-765-4321', '456 Elm St, Othertown');
-- Insertion des ventes
INSERT INTO sales (customer_id, sale_date) VALUES
(1, '2024-06-01'),
(2, '2024-06-02');
-- Insertion des articles vendus
INSERT INTO sale_items (sale_id, game_id, quantity) VALUES
(1, 1, 2), -- Alice a acheté 2 exemplaires de "Adventure Quest"
(1, 3, 1), -- Alice a acheté 1 exemplaire de "Mystery Island"
(2, 2, 1); -- Bob a acheté 1 exemplaire de "Battle Arena"