Bonjour,
1) D'après ce qu'on sait déjà, si le produit P1 a une QuantiteDeCommande de 1728, ça veut dire qu'une palette de P1 contient 1728 boîtes de P1. Donc :
- QuantiteDeCommande dans PRODUIT = 1728
- QuantiteProduit dans EMPLACEMENT = 1728
Si tu reçois 5 palettes de P1 que tu stockes à 5 emplacements, dans chacun de ceux-ci tu auras QuantiteProduit = 1728. 6 fois la même information, c'est 5 redondances à éliminer !
QuantiteDeCommande et QuantiteProduit représentent la même quantité ; inutile de les avoir en double. On peut donc bien supprimer QuantiteProduit de l'entité Emplacement.
2) Pour les picking, le début de l'histoire est le même : je descends ma palette de P1 en picking, j'ai donc 1728 boîtes de P1 dans cet emplacement picking : information redondante. Sauf que la suite du scénario est différente : un magasin me commande 576 boîtes de P1 que je prends dans mon stock picking ; il m'en reste donc 1152. Il me faut bien une donnée pour conserver cette information. Et cette donnée doit être dans l'entité PICKING. Voila pourquoi j'ai dit qu'il faut mettre QuantiteProduit dans PICKING.
En résumé : 1) je supprime la donnée QuantiteProduit de EMPLACEMENT 2) j'ajoute la donnée QuantiteProduit dans PICKING.
C'était un raccourci de ma part de dire qu'il faut déplacer QuantiteProduit de EMPLACEMENT vers PICKING. Maintenant tu as l'explication détaillée des raisons pour lesquelles il faudrait le faire.
Si tu regardes attentivement le MCD, tu verras :
[ EMPLACEMENT ]--0,1----( Contient )----0,n--[ PRODUIT ]
exprimant le fait qu'un emplacement contient 1 type de produit au maximum et peut ne pas en contenir.
En cochant la case "Appliquer l'intégrité référentielle" tu obliges Access à vérifier que, dans chaque ligne de la table EMPLACEMENT, il y a une valeur de "#CodeProduit" existante dans la table PRODUIT.
Décoche cette case et tu pourras créer des emplacements non liés à un produit.
JPhi33
Partager