Comment concevoir la structure des tables du système de gestion d'entrepôt dans MySQL pour gérer les entrées et sorties de stocks ?
Avec le développement rapide du commerce électronique, les systèmes de gestion d'entrepôt sont devenus un élément indispensable pour de nombreuses entreprises. Dans le système de gestion d’entrepôt, l’entrée et la sortie des stocks sont deux maillons très importants. Il est donc crucial de concevoir une structure de table adaptée pour gérer les entrées et sorties de stock. Cet article présentera en détail comment concevoir la structure de table du système de gestion d'entrepôt dans MySQL pour gérer l'entrée et la sortie de l'inventaire, et fournira des exemples de code correspondants.
Voici l'exemple de code MySQL correspondant :
CREATE TABLE goods ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, price DECIMAL(10, 2) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE inbound ( id INT(11) NOT NULL AUTO_INCREMENT, goods_id INT(11) NOT NULL, quantity INT(11) NOT NULL, inbound_time DATETIME NOT NULL, PRIMARY KEY (id), FOREIGN KEY (goods_id) REFERENCES goods(id) ); CREATE TABLE outbound ( id INT(11) NOT NULL AUTO_INCREMENT, goods_id INT(11) NOT NULL, quantity INT(11) NOT NULL, outbound_time DATETIME NOT NULL, PRIMARY KEY (id), FOREIGN KEY (goods_id) REFERENCES goods(id) );
Interroger l'inventaire
Afin de réaliser la gestion des stocks, nous devons fréquemment interroger la quantité d'inventaire. Pour ce faire, nous pouvons utiliser l'instruction de requête SQL suivante :
SELECT g.name, SUM(i.quantity) - SUM(o.quantity) AS stock FROM goods g LEFT JOIN inbound i ON g.id = i.goods_id LEFT JOIN outbound o ON g.id = o.goods_id GROUP BY g.id;
Cette instruction SQL renverra le nom de chaque produit et la quantité de stock correspondante.
Opération d'entreposage
Lorsque les marchandises sont placées dans l'entrepôt, nous devons insérer un enregistrement dans la table d'entreposage. Voici un exemple d'instruction SQL pour insérer un enregistrement d'entrepôt :
INSERT INTO inbound (goods_id, quantity, inbound_time) VALUES (1, 10, NOW());
L'instruction SQL ci-dessus placera 10 marchandises portant le numéro de marchandise 1 dans l'entrepôt et enregistrera l'heure actuelle comme heure d'entreposage.
Opération sortante
Lorsque les marchandises sont expédiées hors de l'entrepôt, nous devons insérer un enregistrement dans le tableau des sorties et mettre à jour la quantité d'inventaire en même temps. Voici un exemple d'instruction SQL pour insérer des enregistrements sortants et mettre à jour la quantité d'inventaire :
INSERT INTO outbound (goods_id, quantity, outbound_time) VALUES (1, 5, NOW()); UPDATE goods SET quantity = quantity - 5 WHERE id = 1;
L'instruction SQL ci-dessus fera sortir 5 marchandises avec le numéro de marchandise 1 et enregistrera l'heure actuelle comme heure de sortie. Dans le même temps, la quantité en stock sera réduite de 5 pièces en conséquence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!