Skip to main content

数据库表设计文档

1. 数据库概述​

1.1 数据库信息​

属性值
数据库名称wm
字符集utf8mb4
排序规则utf8mb4_bin
存储引擎InnoDB
字符集支持支持Unicode,包括Emoji等特殊字符

1.2 数据库表总览​

序号表名中文名称说明
1user用户表存储系统用户信息
2file_info文件信息表存储上传文件信息
3app_configAPP配置表存储APP版本和配置信息
4login_log登录日志表记录用户登录行为
5user_warehouse_location用户仓库位置关联表用户与仓库位置的权限映射
6item_sn商品SN关联表商品序列号主表
7item_sn_import_log商品SN导入日志表记录SN导入操作
8item_sn_scan_log商品SN扫描日志表记录SN扫描操作
9item_fulfillment_ship_status_log发货状态更新日志表记录出库单发货状态变更
10item_receipt_log商品接收日志表记录入库操作日志
11item_fulfillment_log商品发货日志表记录出库操作日志
12item_sn_upsert_log商品SN更新日志表记录SN新增/更新操作

1.3 表关系图​


2. 表详细设计​

2.1 用户表 (user)​

表说明:存储系统用户基础信息,支持用户登录、权限管理等功能。

字段列表:

字段名类型约束默认值说明
idbigint unsignedPRIMARY KEY, AUTO_INCREMENT-用户ID,主键自增
usernamevarchar(32)NOT NULL, UNIQUE-用户名,唯一标识
passwordvarchar(128)NOT NULL-密码(BCrypt加密)
nicknamevarchar(32)NULLNULL用户昵称
avatarvarchar(128)NULLNULL用户头像URL
create_timedatetimeNOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetimeNOT NULLCURRENT_TIMESTAMP ON UPDATE更新时间
validtinyint(1)NOT NULL1是否有效:1-有效,0-无效
versionbigint unsignedNOT NULL0乐观锁版本号

索引列表:

索引名类型字段说明
PRIMARYPRIMARY KEYid主键索引
usernameUNIQUE KEYusername用户名唯一索引
nicknameKEYnickname昵称普通索引
create_timeKEYcreate_time创建时间索引

初始化数据:

usernamepassword
admin{bcrypt}$2a$10$oH3U9NjVVtNIWbofevCqXOUk6VynxgMkdLE89UQxI1wxPQLVNJNA.

说明:默认管理员账号 admin,密码为 admin(已BCrypt加密)。


2.2 文件信息表 (file_info)​

表说明:存储系统上传文件的元数据信息。

字段列表:

字段名类型约束默认值说明
idvarchar(32)PRIMARY KEY-文件ID
codevarchar(32)NOT NULL, UNIQUE-文件编码
namevarchar(64)NOT NULL-存储文件名
originvarchar(128)NOT NULL-原始文件名
typevarchar(128)NOT NULL-文件类型(MIME Type)
sizebigint unsignedNOT NULL-文件大小(字节)
pathvarchar(16)NOT NULL-文件存储路径
create_timedatetimeNOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetimeNOT NULLCURRENT_TIMESTAMP ON UPDATE更新时间
validtinyint(1)NOT NULL1是否有效
versionbigint unsignedNOT NULL0版本号

索引列表:

索引名类型字段
PRIMARYPRIMARY KEYid
codeUNIQUE KEYcode
create_timeKEYcreate_time

2.3 APP配置表 (app_config)​

表说明:存储移动APP的版本信息和配置参数。

字段列表:

字段名类型约束默认值说明
idbigint unsignedPRIMARY KEY, AUTO_INCREMENT-配置ID
app_idvarchar(32)NOT NULL-APP唯一标识
app_namevarchar(64)NOT NULL-APP名称
app_versionvarchar(64)NOT NULL-版本号
app_urlvarchar(128)NOT NULL-下载链接
force_updatetinyint(1)NOT NULL1是否强制更新
config_mapjsonNOT NULL-配置参数(JSON格式)
create_timedatetimeNOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetimeNOT NULLCURRENT_TIMESTAMP ON UPDATE更新时间
validtinyint(1)NOT NULL1是否有效
versionbigint unsignedNOT NULL0版本号

索引列表:

索引名类型字段
PRIMARYPRIMARY KEYid
app_id_app_versionUNIQUE KEYapp_id, app_version
app_idKEYapp_id
app_nameKEYapp_name
create_timeKEYcreate_time
app_versionKEYapp_version

初始化数据:

app_idapp_nameapp_versionapp_urlconfig_map
bsg-wmBSG - Warehouse Management1.0.0``{}

2.4 登录日志表 (login_log)​

表说明:记录用户登录行为,用于安全审计和追溯。

字段列表:

字段名类型约束默认值说明
idbigint unsignedPRIMARY KEY, AUTO_INCREMENT-日志ID
user_idbigint unsignedNOT NULL-用户ID
usernamevarchar(64)NOT NULL-用户名
login_typevarchar(16)NOT NULL-登录类型:password
login_timedatetimeNOT NULL-登录时间
client_ipvarchar(32)NOT NULL-客户端IP地址
user_agentvarchar(255)NULLNULL用户代理(浏览器信息)
login_resultvarchar(16)NOT NULL-登录结果:success/fail
fail_reasonvarchar(1024)NULLNULL失败原因
trace_idvarchar(100)NULLNULL链路追踪ID
app_idvarchar(20)NULLNULL应用ID
app_versionvarchar(20)NULLNULL应用版本
platformvarchar(20)NULLNULL平台:iOS/Android/Web
create_timedatetimeNOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetimeNOT NULLCURRENT_TIMESTAMP ON UPDATE更新时间
validtinyint(1)NOT NULL1是否有效
versionbigint unsignedNOT NULL0版本号

索引列表:

索引名类型字段
PRIMARYPRIMARY KEYid
user_idKEYuser_id
usernameKEYusername
login_timeKEYlogin_time
client_ipKEYclient_ip
trace_idKEYtrace_id
create_timeKEYcreate_time

2.5 用户仓库位置关联表 (user_warehouse_location)​

表说明:建立用户与仓库位置的关联关系,实现仓库权限隔离。

字段列表:

字段名类型约束默认值说明
idbigint unsignedPRIMARY KEY, AUTO_INCREMENT-关联ID
user_idbigint unsignedNOT NULL-用户ID
warehouse_location_idvarchar(32)NOT NULL-仓库位置ID
create_timedatetimeNOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetimeNOT NULLCURRENT_TIMESTAMP ON UPDATE更新时间
validtinyint(1)NOT NULL1是否有效
versionbigint unsignedNOT NULL0版本号

索引列表:

索引名类型字段
PRIMARYPRIMARY KEYid
user_id_warehouse_locationUNIQUE KEYuser_id, warehouse_location_id
user_idKEYuser_id
warehouse_location_idKEYwarehouse_location_id
create_timeKEYcreate_time

2.6 商品SN关联表 (item_sn)​

表说明:核心业务表,存储商品序列号的全生命周期信息。

字段列表:

字段名类型约束默认值说明
idbigint unsignedPRIMARY KEY, AUTO_INCREMENT-主键ID
item_snvarchar(32)NOT NULL, UNIQUE-商品序列号
item_idvarchar(32)NULLNULL商品ID(NetSuite)
item_statusvarchar(16)NOT NULLinactive状态:inactive/receipt/fulfill
item_namevarchar(64)NULLNULL商品名称
warehouse_location_idvarchar(32)NULLNULL仓库位置ID
warehouse_location_namevarchar(32)NULLNULL仓库位置名称
purchase_order_idvarchar(32)NULLNULL采购订单ID
purchase_order_novarchar(32)NULLNULL采购订单编号
item_receipt_idvarchar(32)NULLNULL入库单ID
item_receipt_novarchar(32)NULLNULL入库单编号
sales_order_idvarchar(32)NULLNULL销售订单ID
sales_order_novarchar(32)NULLNULL销售订单编号
item_fulfillment_idvarchar(32)NULLNULL出库单ID
item_fulfillment_novarchar(32)NULLNULL出库单编号
data_file_idvarchar(32)NULLNULL数据文件ID(导入来源)
container_novarchar(32)NULLNULL货柜编号
pallet_snvarchar(32)NULLNULL托盘编号
create_timedatetimeNOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetimeNOT NULLCURRENT_TIMESTAMP ON UPDATE更新时间
validtinyint(1)NOT NULL1是否有效
versionbigint unsignedNOT NULL0版本号

状态枚举:

状态值说明
inactive未激活(初始状态)
receipt已收货(入库完成)
fulfill已发货(出库完成)

索引列表:

索引名类型字段
PRIMARYPRIMARY KEYid
item_snUNIQUE KEYitem_sn
purchase_order_idKEYpurchase_order_id
warehouse_location_idKEYwarehouse_location_id
data_file_idKEYdata_file_id
container_noKEYcontainer_no
pallet_snKEYpallet_sn
create_timeKEYcreate_time
purchase_order_noKEYpurchase_order_no
item_idKEYitem_id
item_fulfillment_idKEYitem_fulfillment_id
item_fulfillment_noKEYitem_fulfillment_no
item_receipt_idKEYitem_receipt_id
item_receipt_noKEYitem_receipt_no
sales_order_idKEYsales_order_id
sales_order_noKEYsales_order_no

2.7 商品SN导入日志表 (item_sn_import_log)​

表说明:记录序列号批量导入操作的日志。

字段列表:

字段名类型约束默认值说明
idbigint unsignedPRIMARY KEY, AUTO_INCREMENT-日志ID
data_file_idvarchar(32)NOT NULL-数据文件ID
import_statusvarchar(16)NOT NULL-导入状态:success/fail
import_timedatetimeNOT NULL-导入时间
import_countintNOT NULL0导入SN数量
fail_reasonvarchar(1024)NULLNULL失败原因
user_idbigint unsignedNOT NULL-操作用户ID
usernamevarchar(64)NOT NULL-操作用户名
trace_idvarchar(100)NULLNULL链路追踪ID
create_timedatetimeNOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetimeNOT NULLCURRENT_TIMESTAMP ON UPDATE更新时间
validtinyint(1)NOT NULL1是否有效
versionbigint unsignedNOT NULL0版本号

索引列表:

索引名类型字段
PRIMARYPRIMARY KEYid
user_idKEYuser_id
usernameKEYusername
data_file_idKEYdata_file_id
import_statusKEYimport_status
import_timeKEYimport_time
trace_idKEYtrace_id
create_timeKEYcreate_time

2.8 商品SN扫描日志表 (item_sn_scan_log)​

表说明:记录移动端扫描序列号的操作日志。

字段列表:

字段名类型约束默认值说明
idbigint unsignedPRIMARY KEY, AUTO_INCREMENT-日志ID
item_snvarchar(32)NOT NULL-扫描的序列号
item_idvarchar(32)NULLNULL商品ID
item_namevarchar(255)NULLNULL商品名称
scan_relatedvarchar(16)NOT NULL-关联类型:IR/IF
related_fr_idvarchar(32)NOT NULL-关联单据ID(IR/IF)
related_fr_novarchar(32)NULLNULL关联单据编号
related_order_idvarchar(32)NULLNULL关联订单ID
related_order_novarchar(32)NULLNULL关联订单编号
container_novarchar(32)NULLNULL货柜编号
pallet_snvarchar(32)NULLNULL托盘编号
scan_timedatetimeNOT NULL-扫描时间
submit_resultvarchar(16)NOT NULLsuccess提交结果
fail_reasonvarchar(1024)NULLNULL失败原因
user_idbigint unsignedNOT NULL-操作用户ID
usernamevarchar(64)NOT NULL-操作用户名
trace_idvarchar(100)NULLNULL链路追踪ID
create_timedatetimeNOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetimeNOT NULLCURRENT_TIMESTAMP ON UPDATE更新时间
validtinyint(1)NOT NULL1是否有效
versionbigint unsignedNOT NULL0版本号

扫描关联类型:

类型值说明
IRItem Receipt(入库扫描)
IFItem Fulfillment(出库扫描)

索引列表:

索引名类型字段
PRIMARYPRIMARY KEYid
item_snKEYitem_sn
item_idKEYitem_id
item_nameKEYitem_name
related_fr_idKEYrelated_fr_id
related_fr_noKEYrelated_fr_no
container_noKEYcontainer_no
pallet_snKEYpallet_sn
scan_timeKEYscan_time
user_idKEYuser_id
usernameKEYusername
trace_idKEYtrace_id
create_timeKEYcreate_time
related_order_idKEYrelated_order_id
related_order_noKEYrelated_order_no

2.9 商品发货状态更新日志表 (item_fulfillment_ship_status_log)​

表说明:记录出库单发货状态变更操作。

字段列表:

字段名类型约束默认值说明
idbigint unsignedPRIMARY KEY, AUTO_INCREMENT-日志ID
item_fulfillment_idvarchar(32)NOT NULL-出库单ID
item_fulfillment_novarchar(32)NULLNULL出库单编号
sales_order_idvarchar(32)NULLNULL销售订单ID
sales_order_novarchar(32)NULLNULL销售订单编号
ship_status_idvarchar(16)NOT NULL-发货状态ID
ship_status_namevarchar(16)NOT NULL-发货状态名称
warehouse_location_idvarchar(32)NULLNULL仓库位置ID
warehouse_location_namevarchar(32)NULLNULL仓库位置名称
submit_timedatetimeNOT NULL-提交时间
submit_resultvarchar(16)NOT NULL-提交结果
fail_reasonvarchar(1024)NULLNULL失败原因
user_idbigint unsignedNOT NULL-操作用户ID
usernamevarchar(64)NOT NULL-操作用户名
trace_idvarchar(100)NULLNULL链路追踪ID
create_timedatetimeNOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetimeNOT NULLCURRENT_TIMESTAMP ON UPDATE更新时间
validtinyint(1)NOT NULL1是否有效
versionbigint unsignedNOT NULL0版本号

发货状态枚举:

状态ID状态名称说明
APicked已拣货
BPacked已打包
CShipped已发货

索引列表:

索引名类型字段
PRIMARYPRIMARY KEYid
item_fulfillment_idKEYitem_fulfillment_id
item_fulfillment_noKEYitem_fulfillment_no
sales_order_idKEYsales_order_id
sales_order_noKEYsales_order_no
ship_status_idKEYship_status_id
ship_status_nameKEYship_status_name
warehouse_location_idKEYwarehouse_location_id
warehouse_location_nameKEYwarehouse_location_name
submit_timeKEYsubmit_time
user_idKEYuser_id
usernameKEYusername
trace_idKEYtrace_id
create_timeKEYcreate_time

2.10 商品接收日志表 (item_receipt_log)​

表说明:记录采购订单转入库单的操作日志。

字段列表:

字段名类型约束默认值说明
idbigint unsignedPRIMARY KEY, AUTO_INCREMENT-日志ID
item_receipt_idvarchar(32)NULLNULL入库单ID
item_receipt_novarchar(32)NULLNULL入库单编号
purchase_order_idvarchar(32)NULLNULL采购订单ID
purchase_order_novarchar(32)NULLNULL采购订单编号
receipt_quantityintNOT NULL-接收数量
submit_timedatetimeNOT NULL-提交时间
submit_resultvarchar(16)NOT NULL-提交结果
fail_reasonvarchar(1024)NULLNULL失败原因
user_idbigint unsignedNOT NULL-操作用户ID
usernamevarchar(64)NOT NULL-操作用户名
trace_idvarchar(64)NULLNULL链路追踪ID
request_bodyjsonNULLNULL请求参数(JSON)
create_timedatetimeNOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetimeNOT NULLCURRENT_TIMESTAMP ON UPDATE更新时间
validtinyint(1)NOT NULL1是否有效
versionbigint unsignedNOT NULL0版本号

索引列表:

索引名类型字段
PRIMARYPRIMARY KEYid
item_receipt_idKEYitem_receipt_id
item_receipt_noKEYitem_receipt_no
sales_order_idKEYpurchase_order_id
sales_order_noKEYpurchase_order_no
submit_timeKEYsubmit_time
user_idKEYuser_id
usernameKEYusername
trace_idKEYtrace_id
create_timeKEYcreate_time

2.11 商品发货日志表 (item_fulfillment_log)​

表说明:记录销售订单转出库单的操作日志。

字段列表:

字段名类型约束默认值说明
idbigint unsignedPRIMARY KEY, AUTO_INCREMENT-日志ID
item_fulfillment_idvarchar(32)NULLNULL出库单ID
item_fulfillment_novarchar(32)NULLNULL出库单编号
sales_order_idvarchar(32)NULLNULL销售订单ID
sales_order_novarchar(32)NULLNULL销售订单编号
fulfillment_quantityintNOT NULL-发货数量
submit_timedatetimeNOT NULL-提交时间
submit_resultvarchar(16)NOT NULL-提交结果
fail_reasonvarchar(1024)NULLNULL失败原因
user_idbigint unsignedNOT NULL-操作用户ID
usernamevarchar(64)NOT NULL-操作用户名
trace_idvarchar(64)NULLNULL链路追踪ID
request_bodyjsonNULLNULL请求参数(JSON)
create_timedatetimeNOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetimeNOT NULLCURRENT_TIMESTAMP ON UPDATE更新时间
validtinyint(1)NOT NULL1是否有效
versionbigint unsignedNOT NULL0版本号

索引列表:

索引名类型字段
PRIMARYPRIMARY KEYid
item_fulfillment_idKEYitem_fulfillment_id
item_fulfillment_noKEYitem_fulfillment_no
sales_order_idKEYsales_order_id
sales_order_noKEYsales_order_no
submit_timeKEYsubmit_time
user_idKEYuser_id
usernameKEYusername
trace_idKEYtrace_id
create_timeKEYcreate_time

2.12 商品SN更新日志表 (item_sn_upsert_log)​

表说明:记录序列号新增和更新操作的完整历史。

字段列表:

字段名类型约束默认值说明
idbigint unsignedPRIMARY KEY, AUTO_INCREMENT-日志ID
item_snvarchar(32)NOT NULL-商品序列号
item_idvarchar(32)NULLNULL商品ID
item_statusvarchar(16)NOT NULLinactive商品状态
item_namevarchar(64)NULLNULL商品名称
warehouse_location_idvarchar(32)NULLNULL仓库位置ID
warehouse_location_namevarchar(32)NULLNULL仓库位置名称
purchase_order_idvarchar(32)NULLNULL采购订单ID
purchase_order_novarchar(32)NULLNULL采购订单编号
item_receipt_idvarchar(32)NULLNULL入库单ID
item_receipt_novarchar(32)NULLNULL入库单编号
sales_order_idvarchar(32)NULLNULL销售订单ID
sales_order_novarchar(32)NULLNULL销售订单编号
item_fulfillment_idvarchar(32)NULLNULL出库单ID
item_fulfillment_novarchar(32)NULLNULL出库单编号
data_file_idvarchar(32)NULLNULL数据文件ID
container_novarchar(32)NULLNULL货柜编号
pallet_snvarchar(32)NULLNULL托盘编号
upsert_timedatetimeNOT NULL-操作时间
upsert_resultvarchar(16)NOT NULL-操作结果
fail_reasonvarchar(255)NULLNULL失败原因
user_idbigint unsignedNOT NULL-操作用户ID
usernamevarchar(64)NOT NULL-操作用户名
trace_idvarchar(64)NULLNULL链路追踪ID
request_bodyjsonNULLNULL请求参数(JSON)
create_timedatetimeNOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetimeNOT NULLCURRENT_TIMESTAMP ON UPDATE更新时间
validtinyint(1)NOT NULL1是否有效
versionbigint unsignedNOT NULL0版本号

索引列表:

索引名类型字段
PRIMARYPRIMARY KEYid
item_snKEYitem_sn
purchase_order_idKEYpurchase_order_id
warehouse_location_idKEYwarehouse_location_id
data_file_idKEYdata_file_id
container_noKEYcontainer_no
pallet_snKEYpallet_sn
purchase_order_noKEYpurchase_order_no
item_idKEYitem_id
item_fulfillment_idKEYitem_fulfillment_id
item_fulfillment_noKEYitem_fulfillment_no
item_receipt_idKEYitem_receipt_id
item_receipt_noKEYitem_receipt_no
sales_order_idKEYsales_order_id
sales_order_noKEYsales_order_no
upsert_timeKEYupsert_time
user_idKEYuser_id
usernameKEYusername
trace_idKEYtrace_id
create_timeKEYcreate_time

3. 数据库设计规范​

3.1 命名规范​

类型规范示例
数据库名小写英文,下划线分隔wm
表名小写英文,下划线分隔,复数形式item_sn, login_log
字段名小写英文,下划线分隔item_sn, create_time
索引名小写英文,下划线分隔idx_item_sn, uk_username

3.2 数据类型规范​

数据类型使用场景说明
bigint unsigned主键ID、计数字段范围:0 ~ 18446744073709551615
int数量、状态码范围:-2147483648 ~ 2147483647
tinyint(1)布尔值0/1,用于表示真假
varchar(n)字符串n根据实际业务定义,最大1024
datetime时间字段格式:YYYY-MM-DD HH:MM:SS
jsonJSON数据存储结构化配置数据

3.3 字段设计规范​

字段名类型说明
idbigint unsigned主键,自增
create_timedatetime创建时间,默认CURRENT_TIMESTAMP
update_timedatetime更新时间,自动更新
validtinyint(1)是否有效,默认1
versionbigint unsigned乐观锁版本号,默认0

3.4 索引设计规范​

  1. 主键索引:每个表必须有主键,使用 id 字段
  2. 唯一索引:唯一标识字段必须加唯一索引(如 username, item_sn)
  3. 普通索引:查询频繁的字段需要加索引
  4. 联合索引:多条件查询时使用联合索引
  5. 索引命名:idx_字段名 或 uk_字段名(唯一索引)

4. 数据库关系总结​

4.1 实体关系​

关系类型实体1实体2说明
一对多userlogin_log用户产生多条登录日志
一对多useritem_sn_import_log用户执行多次导入操作
一对多useritem_sn_scan_log用户执行多次扫描操作
一对多useritem_receipt_log用户执行多次入库操作
一对多useritem_fulfillment_log用户执行多次出库操作
一对多useritem_sn_upsert_log用户执行多次SN更新操作
一对多useruser_warehouse_location用户可关联多个仓库
一对多file_infoitem_sn文件可包含多个SN
一对多item_snitem_sn_scan_logSN可被多次扫描
一对多item_snitem_sn_upsert_logSN可被多次更新

4.2 核心业务流程数据流向​


文档版本: v1.0
创建日期: 2026-06-04
适用项目: BSG-WM 仓库管理系统