进销存系统数据库设计与 ER 图解析
核心实体
进销存系统的核心实体包括:商品、供应商、客户、采购订单、销售订单、库存记录。
商品表设计
CREATE TABLE goods (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
code VARCHAR(50) NOT NULL COMMENT '商品编码',
name VARCHAR(200) NOT NULL COMMENT '商品名称',
category_id BIGINT COMMENT '分类ID',
spec VARCHAR(100) COMMENT '规格型号',
unit VARCHAR(20) COMMENT '单位',
purchase_price DECIMAL(10,2) COMMENT '参考进价',
sale_price DECIMAL(10,2) COMMENT '参考售价',
status TINYINT DEFAULT 1 COMMENT '状态',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
库存表设计
CREATE TABLE inventory (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
goods_id BIGINT NOT NULL,
warehouse_id BIGINT NOT NULL,
quantity DECIMAL(18,4) DEFAULT 0 COMMENT '库存数量',
locked_quantity DECIMAL(18,4) DEFAULT 0 COMMENT '锁定数量',
available_quantity DECIMAL(18,4) DEFAULT 0 COMMENT '可用数量',
UNIQUE KEY uk_goods_warehouse (goods_id, warehouse_id)
);
采购订单表
CREATE TABLE purchase_order (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
order_no VARCHAR(50) NOT NULL COMMENT '订单编号',
supplier_id BIGINT NOT NULL,
total_amount DECIMAL(18,2) DEFAULT 0,
status TINYINT DEFAULT 0 COMMENT '0草稿 1待审核 2已审核 3部分入库 4已完成',
order_date DATE NOT NULL,
created_by BIGINT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
ER 图关系
供应商 → 采购订单 → 采购明细 → 入库单 → 库存变动
客户 → 销售订单 → 销售明细 → 出库单 → 库存变动