Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
sio2:exercices_d_applications [2025/03/17 10:21] – dthevenot | sio2:exercices_d_applications [2025/03/17 19:09] (Version actuelle) – [Quelle solution possible ?] dthevenot | ||
---|---|---|---|
Ligne 52: | Ligne 52: | ||
< | < | ||
- | -- Table des produits | ||
CREATE TABLE produit ( | CREATE TABLE produit ( | ||
idProduit INT AUTO_INCREMENT PRIMARY KEY, | idProduit INT AUTO_INCREMENT PRIMARY KEY, | ||
Ligne 58: | Ligne 57: | ||
prixHt DECIMAL(10, 2), -- Prix hors taxe | prixHt DECIMAL(10, 2), -- Prix hors taxe | ||
tauxTva DECIMAL(5, 2), -- Taux de TVA en pourcentage | tauxTva DECIMAL(5, 2), -- Taux de TVA en pourcentage | ||
- | typeProduit ENUM(' | + | typeProduit ENUM(' |
- | dateLimiteConsommation DATE, -- Date limite pour produits alimentaires | + | |
- | classeEnergetique VARCHAR(5), | + | |
- | | + | |
(typeProduit = ' | (typeProduit = ' | ||
(typeProduit = ' | (typeProduit = ' | ||
- | ) | + | ), |
- | );</ | + | dateLimiteConsommation DATE, -- Date limite |
+ | | ||
+ | | ||
+ | </ | ||
< | < | ||
- réimporter le script de création de la bd de gestion des commandes en changeant le nom de la base de données(gestionCommandeExo2) et changer la table produit pour la remplacer avec celle ci-dessus | - réimporter le script de création de la bd de gestion des commandes en changeant le nom de la base de données(gestionCommandeExo2) et changer la table produit pour la remplacer avec celle ci-dessus | ||
Ligne 91: | Ligne 90: | ||
====== 3) Vérifier une contrainte d’associations | ====== 3) Vérifier une contrainte d’associations | ||
===== Trigger pour vérifier une contrainte d' | ===== Trigger pour vérifier une contrainte d' | ||
- | On ajoute à notre gestion commerciale la gestion des livraisons des commandes : un produit ne doit pouvoir être livré que si il a été commandé et sa quantité livrée ne doit pas dépasser la quantité commandée bien sûr. On simplifie le cas en autorisant les livraisons des produits | + | On ajoute à notre gestion commerciale la gestion des livraisons des commandes : un produit ne doit pouvoir être livré que si il a été commandé et sa quantité livrée ne doit pas dépasser la quantité commandée bien sûr. On simplifie le cas en définissant qu'une livraison ne concerne qu'une seule commande à la fois et un produit est livré |
===== Quels problèmes ? ===== | ===== Quels problèmes ? ===== | ||
- | * Rien ne nous assure que les livraisons portent sur des produits commandés ; | + | * Rien ne nous assure que les livraisons portent sur les produits commandés |
- | * Rien ne nous assure que les quantités livrées ne soient pas supérieures à celles commandées. | + | * Rien ne nous assure que les quantités livrées ne soient pas supérieures à celles commandées(si la quantité est inférieure il y aura un avoir non géré ici donc la quantité livrée inférieure ne pose pas de problème ici). |
===== Quelle solution possible ? ===== | ===== Quelle solution possible ? ===== | ||
- A l’insertion comme à la modification d’une livraison, on vérifie à la livraison que le produit livré figure bien dans la commande qui concerne la livraison; | - A l’insertion comme à la modification d’une livraison, on vérifie à la livraison que le produit livré figure bien dans la commande qui concerne la livraison; | ||
- | - Toujours à l’insertion et à la modification d’une livraison, on vérifie que la quantité | + | - Toujours à l’insertion et à la modification d’une livraison, on vérifie que la quantité livrée du produit soit au plus égale |
Le 1er cas est réalisable avec des contraintes d' | Le 1er cas est réalisable avec des contraintes d' |