实验5 组长0107
仓库库存管理系统数据库设计
1. 仓库表 (Warehouses)
用于存储仓库的信息。
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| warehouse_id | INT | 仓库唯一标识 |
| warehouse_name | VARCHAR(100) | 仓库名称 |
| warehouse_location | VARCHAR(255) | 仓库地址 |
| user_id | INT | 所有用户ID(外键) |
| created_at | TIMESTAMP | 创建时间 |
| updated_at | TIMESTAMP | 更新时间 |
2. 商品表 (Products)
用于存储商品的信息。
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| product_id | INT | 商品唯一标识 |
| product_name | VARCHAR(100) | 商品名称 |
| product_code | VARCHAR(50) | 商品代码/条码 |
| product_description | TEXT | 商品描述 |
| created_at | TIMESTAMP | 创建时间 |
| updated_at | TIMESTAMP | 更新时间 |
3. 库存表 (Inventory)
用于存储每个仓库中商品的库存信息。
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| inventory_id | INT | 库存唯一标识 |
| warehouse_id | INT | 仓库ID(外键) |
| product_id | INT | 商品ID(外键) |
| quantity | INT | 库存数量 |
| threshold | INT | 库存阈值 |
| created_at | TIMESTAMP | 创建时间 |
| updated_at | TIMESTAMP | 更新时间 |
4. 出入库记录表 (StockMovements)
用于记录每次商品的出库和入库情况。
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| movement_id | INT | 出入库记录唯一标识 |
| warehouse_id | INT | 仓库ID(外键) |
| product_id | INT | 商品ID(外键) |
| movement_type | ENUM(‘IN’, ‘OUT’) | 出入库类型 |
| quantity | INT | 数量 |
| operator | VARCHAR(100) | 操作员 |
| movement_date | TIMESTAMP | 出入库时间 |
| created_at | TIMESTAMP | 创建时间 |
| updated_at | TIMESTAMP | 更新时间 |
5. 条码扫描记录表 (BarcodeScans)
用于记录每次条码扫描的情况。
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| scan_id | INT | 扫描记录唯一标识 |
| warehouse_id | INT | 仓库ID(外键) |
| product_id | INT | 商品ID(外键) |
| scan_type | ENUM(‘ADD’, ‘CHECK’) | 扫描类型 |
| operator | VARCHAR(100) | 操作员 |
| scan_date | TIMESTAMP | 扫描时间 |
| created_at | TIMESTAMP | 创建时间 |
| updated_at | TIMESTAMP | 更新时间 |
6. 库存预警表 (InventoryAlerts)
用于存储库存预警信息。
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| alert_id | INT | 预警唯一标识 |
| inventory_id | INT | 库存ID(外键) |
| alert_message | VARCHAR(255) | 预警信息 |
| alert_date | TIMESTAMP | 预警时间 |
| created_at | TIMESTAMP | 创建时间 |
| updated_at | TIMESTAMP | 更新时间 |
7. 用户表 (Users)
用于存储系统用户信息(如店长、操作员)。
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| user_id | INT | 用户唯一标识 |
| username | VARCHAR(100) | 用户名 |
| password_hash | VARCHAR(255) | 密码哈希 |
| VARCHAR(100) | 用户邮箱 | |
| phone | VARCHAR(100) | 用户手机 |
| role | ENUM(‘manager’, ‘operator’) | 用户角色 |
| warehouse_id | INT | 仓库ID(外键) |
| created_at | TIMESTAMP | 创建时间 |
| updated_at | TIMESTAMP | 更新时间 |
数据库E-R图

主要功能流程描述
以下是系统各模块的主要功能流程描述,以便更好地理解和实现系统的功能。
1. 用户模块
用于用户管理,包括用户注册、登录、更新信息等。
| 功能 | 描述 |
|---|---|
| 用户注册 | 用户可以注册新账户,成为系统用户 |
| 用户登录 | 已注册用户可以登录系统 |
| 更新用户信息 | 用户可以更新个人信息,如邮箱、手机等 |
| 用户注销 | 用户可以注销账户 |
2. 仓库模块
用于仓库管理,包括创建、更新和删除仓库等。
| 功能 | 描述 |
|---|---|
| 创建仓库 | 用户可以创建新的仓库 |
| 更新仓库信息 | 用户可以更新仓库信息 |
| 删除仓库 | 用户可以删除仓库 |
| 查看仓库列表 | 用户可以查看所有仓库列表 |
3. 商品模块
用于商品管理,包括添加、更新和删除商品等。
| 功能 | 描述 |
|---|---|
| 添加商品 | 用户可以添加新的商品 |
| 更新商品信息 | 用户可以更新商品信息 |
| 删除商品 | 用户可以删除商品 |
| 查看商品列表 | 用户可以查看所有商品列表 |
4. 库存模块
用于管理每个仓库中的商品库存,包括库存记录和阈值设置等。
| 功能 | 描述 |
|---|---|
| 添加库存记录 | 用户可以为指定仓库添加商品库存记录 |
| 更新库存记录 | 用户可以更新指定仓库的商品库存记录 |
| 删除库存记录 | 用户可以删除指定仓库的商品库存记录 |
| 查看库存列表 | 用户可以查看指定仓库的所有库存记录 |
| 设置库存阈值 | 用户可以为指定商品设置库存预警阈值 |
| 查看库存预警 | 用户可以查看所有库存预警信息 |
5. 出入库记录模块
用于记录商品的出库和入库信息,包括操作员、时间和数量等。
| 功能 | 描述 |
|---|---|
| 添加出入库记录 | 用户可以为指定仓库添加商品的出库或入库记录 |
| 查看出入库记录 | 用户可以查看指定仓库的所有出入库记录 |
6. 条码扫描记录模块
用于记录每次条码扫描的信息,包括扫描类型和操作员等。
| 功能 | 描述 |
|---|---|
| 添加条码扫描记录 | 用户可以记录每次条码扫描的信息 |
| 查看条码扫描记录 | 用户可以查看指定仓库的所有条码扫描记录 |
7. 库存预警模块
用于管理和查看库存预警信息,确保及时补货或调整策略。
| 功能 | 描述 |
|---|---|
| 添加库存预警 | 系统根据库存阈值自动生成预警信息 |
| 查看库存预警 | 用户可以查看所有库存预警信息 |
| 清除库存预警 | 用户可以清除已解决的库存预警信息 |