Activité Gestion d'un magasin
Consigne
Avant de commencer, veuillez lire une première fois le document dans son ensemble.
Le travail est individuel. Vous pouvez communiquer en respectant le code d’honneur. Si vous être bloqué, demandez de l’aide afin de ne pas prendre trop de retard.
Situation
Vous avez été chargé de gérer la base de données d’un magasin de vente au détail.
Le magasin souhaite vérifier l’intégrité des données après une récente importation.
Objectifs
À la fin de ce travail, vous devez :
- Être capable de réaliser un modèle physique à partir d’un modèle logique.
- Être capable d’insérer, de modifier et de supprimer des données.
- Être capable d’interroger la base de données.
- Être capable d’updater des champs d’un table.
- être capable de faire des transactions.
- Être capable d’insérer des données de masse.
- Être capable de faire le contrôle d’usage après l’importation de données.
Résultat attendu
Une mise à jour de votre résumé tenant, au maximum, sur une page A4 que vous devez déposer sur Moodle
Ressources
- Présentation : Contrôle des données importées dans une DB
- Présentation : Importer des données
- Présentation : Structured Query Language (SQL)
- MariaDB doc : Data Mainipulation
- Du modèle logique au modèle physique
Mise en route
-
Connectez-vous au serveur de bases de données qui vous a été attribué au module 164.
-
Effectuez les tâches demandées les une après les autres.
À vous de jouer !
Tâches
Implémentez le modèle logique
Le modèle logique contient les tables suivantes:
- Produits (id, nom, prix_unitaire, stock)
- Categories (id, nom)
- Clients (Iid, nom, prenom, adresse, email)
- Commandes (id, id_client, date_commande, montant_total)
- Lignes_Commande (id, id_commande, id_produit, quantite, prix_unitaire)
Insertion de données
Table Produits
id | nom | prix_unitaire | stock |
---|---|---|---|
1 | Chemise Homme | 29.99 | 100 |
2 | Jean Femme | 39.99 | 80 |
3 | Chaussures Sport | 49.99 | 120 |
4 | Sac à Dos | 19.99 | 150 |
5 | Montre Connectée | 99.99 | 50 |
Table Categories
id | nom |
---|---|
1 | Vêtements |
2 | Chaussures |
3 | Accessoires |
Table Clients
id | nom | prenom | adresse | |
---|---|---|---|---|
1 | Dupont | Jean | 123 Rue de la Liberté | jean.dupont@email.com |
2 | Martin | Marie | 456 Avenue des Roses | marie.martin@email.com |
3 | Dubois | Pierre | 789 Boulevard Voltaire | pierre.dubois@email.com |
Table Commandes
id | id_client | date_commande | montant_total |
---|---|---|---|
1 | 1 | 2023-05-15 | 75.98 |
2 | 2 | 2023-05-16 | 129.97 |
3 | 3 | 2023-05-17 | 49.99 |
Table Lignes_Commande
id | id_commande | id_produit | quantite | prix_unitaire |
---|---|---|---|---|
1 | 1 | 1 | 2 | 29.99 |
2 | 1 | 4 | 1 | 19.99 |
3 | 2 | 2 | 3 | 39.99 |
4 | 3 | 3 | 1 | 49.99 |
5 | 3 | 5 | 1 | 99.99 |
Vérification de l’intégrité des données
Vérifier l’intégrité des données dans les tables Produits, Categories, Clients, Commandes et Lignes_Commande.
Requête SQL
Créer une requête SQL pour récupérer les détails des clients qui ont passé des commandes d’un montant supérieur à 500.-
Insertion de données en masse
Insérer de nouveaux produits dans la table Produits à partir d’un fichier CSV contenant les données.
On vous propose les produits suivants:
id,nom,prix_unitaire,stock_disponible
11,Chemise Homme Rouge,29.99,100
12,Chemise Homme Bleue,29.99,120
13,Chemise Homme Verte,29.99,80
14,Chemise Homme Noire,29.99,150
15,Pull Femme Rouge,39.99,200
16,Pull Femme Bleu,39.99,150
17,Pull Femme Vert,39.99,120
18,Pull Femme Noir,39.99,180
19,Chaussures de Sport Homme,49.99,250
20,Chaussures de Sport Femme,49.99,180
21,Bottines Femme,59.99,120
22,Bottines Homme,59.99,100
23,Sac à Dos Sport,19.99,300
24,Sac à Dos Scolaire,19.99,250
25,Sac à Dos Randonnée,19.99,200
26,Sac à Main Cuir,29.99,150
27,Sac à Main Toile,29.99,180
28,Robe de Soirée,69.99,100
29,Robe de Cocktail,49.99,150
30,Robe de Mariée,99.99,80
31,Lunettes de Vue Homme,49.99,200
32,Lunettes de Vue Femme,49.99,180
33,Lunettes de Soleil Sport,39.99,120
34,Lunettes de Soleil Mode,29.99,150
35,Casquette Homme,14.99,250
36,Casquette Femme,14.99,200
37,Gants de Sport,9.99,300
38,Gants d'Hiver,19.99,250
39,Écharpe en Laine,14.99,200
40,Écharpe en Soie,24.99,150
41,Parapluie Compact,19.99,180
42,Parapluie Transparent,14.99,200
43,Porte-Monnaie Cuir,9.99,250
44,Porte-Cartes,9.99,200
45,Ceinture en Cuir,19.99,180
46,Ceinture en Toile,14.99,200
47,Collier Fantaisie,14.99,250
48,Bracelet Argent,29.99,200
49,Bague Diamant,99.99,150
50,Montre Sport,59.99,180
Calcul de somme
Calculez la somme totale des montants de toutes les commandes.
Mise à jour des données
Mettez à jour le stock disponible des produits après une nouvelle commande. Le socke doit être mis à jour uniquement si le stock disponible est suffisant!
Forme normale
La base de données est-elle en 3NF? Si ce n’est pas le cas, modifiez-la sans faire de DROP DATABASE ou TABLE.