倉庫管理システムのテーブル構造設計を MySQL に実装するにはどうすればよいですか?
はじめに:
電子商取引の活発な発展に伴い、企業における倉庫管理システムの重要性がますます高まっています。合理的な倉庫管理システムを通じて、企業は在庫状況をより適切に管理し、倉庫保管コストを削減し、業務効率を向上させることができます。この記事では、MySQL でシンプルで実用的な倉庫管理システムのテーブル構造を設計する方法と、具体的なコード例を紹介します。
1. 要件分析
倉庫管理システムを設計する前に、まずシステムの機能とデータ構造を明確にするために要件分析を行う必要があります。基本的な倉庫管理システムには、次のコア機能モジュールが含まれている必要があります。
2. テーブル構造の設計
上記の需要分析に基づいて、次のテーブル構造を設計できます:
CREATE TABLE product
(
id
INT PRIMARY KEY AUTO_INCREMENT, -- 製品 ID
name
VARCHAR( 100) NOT NULL, -- 製品名
price
DECIMAL(8, 2) NOT NULL, -- 製品価格
unit
VARCHAR(20) NOT NULL --商品単位
);
CREATE TABLE location
(
id
INT PRIMARY KEY AUTO_INCREMENT, -- Position ID
name
VARCHAR( 50) NOT NULL、 -- ポジション名
容量
INT DEFAULT 0 -- ポジション容量
);
CREATE TABLE inbound
(
id
INT PRIMARY KEY AUTO_INCREMENT, -- インバウンド レコード ID
product_id
INT NOT NULL、 -- 製品 ID
location_id
INT NOT NULL、- ポジション ID
quantity
INT NOT NULL、- 受信数量
inbound_time
DATETIME DEFAULT CURRENT_TIMESTAMP, -- 受信時刻
FOREIGN KEY (product_id
) REFERENCES product
(id
),
FOREIGN KEY (location_id
) 参照 location
(id
)
);
CREATE TABLE outbound
(
id
INT PRIMARY KEY AUTO_INCREMENT, -- 送信レコード ID
product_id
INT NOT NULL、--製品 ID
location_id
INT NOT NULL、-- ポジション ID
quantity
INT NOT NULL、-- 出荷数量
outbound_time
DATETIME DEFAULT CURRENT_TIMESTAMP, -- 送信時刻
FOREIGN KEY (product_id
) REFERENCES product
(id
),
FOREIGN KEY (location_id
) 参照 location
(id
)
);
CREATE TABLE stock
(
product_id
INT PRIMARY KEY, -- Product ID
quantity
INT NOT NULL , -- 現在の在庫数量
available_quantity
INT NOT NULL, -- 利用可能な在庫数量
FOREIGN KEY (product_id
) REFERENCES product
(id
)
);
CREATE TABLE inventory
(
id
INT PRIMARY KEY AUTO_INCREMENT, -- インベントリ レコード ID
product_id
INT NOT NULL、--製品 ID
location_id
INT NOT NULL、-- ポジション ID
quantity
INT NOT NULL、-- 在庫数量
inventory_time
DATETIME DEFAULT CURRENT_TIMESTAMP, -- 在庫時間
FOREIGN KEY (product_id
) REFERENCES product
(id
),
FOREIGN KEY (location_id
) 参考資料 location
(id
)
);
3. コード例
--product
INSERT INTO product
(name
, price
, unit
) VALUES ('製品 1', 10.00, '個');
-- すべての製品をクエリ
SELECT * FROM product
;
- - 製品情報の変更
UPDATE product
SET price
= 12.50 WHERE id
= 1;
-- 商品情報の削除
DELETE FROM product
WHERE id
= 1;
-- 商品インバウンド
INSERT INTO inbound
(product_id
, location_id
, quantity
) VALUES ( 1 、1、10);
--すべての受信レコードをクエリします
SELECT * FROM inbound
;
--製品 ID
に基づいて受信レコードをクエリしますSELECT * FROM inbound
WHERE product_id
= 1;
-- 製品アウトバウンド
INSERT INTO outbound
(product_id
, location_id
, quantity
) VALUES (1, 1, 5);
-- すべての送信レコードをクエリします。
SELECT * FROM outbound
;
-- 製品 ID に基づいて送信レコードをクエリします。
SELECT * FROM outbound
WHERE product_id
= 1;
-- すべての在庫情報をクエリ
SELECT * FROM stock
;
-- 製品 ID に基づいて在庫情報をクエリします
SELECT * FROM stock
WHERE product_id
= 1;
-- 製品在庫
INSERT INTO inventory
(product_id
, location_id
, quantity
) VALUES (1, 1, 15);
--すべての在庫レコードをクエリします
SELECT * FROM inventory
;
- - 製品 ID に基づいて在庫レコードをクエリする
SELECT * FROM inventory
WHERE product_id
= 1;
結論:
上記の表を通じた構造設計の場合とコード例を参照すると、シンプルで実用的な倉庫管理システムを MySQL に実装できます。このシステムを通じて、企業は商品、倉庫の場所、入出荷記録、在庫状況と在庫記録を簡単に管理でき、倉庫管理の効率と正確性が向上します。
以上が倉庫管理システムのテーブル構造設計をMySQLに実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。