一、数据库设计
1.数据库模型设计概览
2.数据库表设计
①depository
描述: 该表存储仓库的信息,比如仓库名称,仓库地址和仓库介绍
表结构:
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | ||
2 | dname | VARCHAR(255) | 否 | 是 | 仓库名称 | |
3 | address | VARCHAR(255) | 否 | 是 | 仓库地址 | |
4 | introduce | VARCHAR(255) | 否 | 是 | 仓库介绍 |
②仓库调度记录(depository_record)
描述: 该表记录仓库调度的记录,同时该表也是数据也可以看做一条条申请信息。
表结构:
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | 记录id | |
2 | application_id | INT(10) | 否 | 否 | 申请编号(暂时无用) | |
3 | mname | VARCHAR(255) | 否 | 是 | 产品名称 | |
4 | depository_id | INT(10) | 否 | 是 | 调度的仓库id | |
5 | type | INT(10) | 否 | 是 | 0 | 调度记录类型(0出库,1入库) |
6 | quantity | DOUBLE(22) | 否 | 否 | 数量 | |
7 | price | DOUBLE(22) | 否 | 否 | 价格 | |
8 | state | VARCHAR(255) | 否 | 否 | 状态(待审核/审核未通过,未入库/出库/检验不通过,待验收/已入库/已出库) | |
9 | applicant_id | INT(10) | 否 | 否 | 申请人id | |
10 | apply_remark | VARCHAR(255) | 否 | 否 | 申请备注 | |
11 | apply_time | DATETIME | 否 | 否 | 申请时间 | |
12 | reviewer_id | INT(10) | 否 | 否 | 审核人id | |
13 | review_remark | VARCHAR(255) | 否 | 否 | 审核结果备注 | |
14 | review_time | DATETIME | 否 | 否 | 审核时间 | |
15 | review_pass | INT(10) | 否 | 否 | 审核是否通过,0表示未通过,1表示通过 | |
16 | checker_id | INT(10) | 否 | 否 | 验货人id | |
17 | check_remark | VARCHAR(255) | 否 | 否 | 验收备注 | |
18 | check_time | DATETIME | 否 | 否 | 出入库时间(验货时间) | |
19 | check_pass | INT(10) | 否 | 否 | 验收是否通过 |
3、产品信息记录(库存)(material)
描述: 产品信息记录(库存信息)
表结构:
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | 存储id | |
2 | depository_id | INT(10) | 否 | 否 | 仓库名称 | |
3 | mname | VARCHAR(255) | 否 | 否 | 材料名称 | |
4 | quantity | DOUBLE(22) | 否 | 否 | 数量 | |
5 | price | DOUBLE(22) | 否 | 否 | 总金额 | |
6 | type_id | INT(10) | 否 | 否 | 材料种类id |
4、material_type
描述: 材料种类,我对材料进行了分类,这样统计起来也方便很多,另外建一个表是为了防止以后可能会对材料类型做的补充,同时节省存储空间。
表结构:
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | 类型id | |
2 | tname | VARCHAR(255) | 否 | 是 | 类型名称 | |
3 | introduce | VARCHAR(255) | 否 | 否 | 类型介绍 |
5、notice
描述: 公告表,用于存储公告信息
表结构
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | 公告主键 | |
2 | title | VARCHAR(255) | 否 | 是 | 公告标题 | |
3 | content | VARCHAR(255) | 否 | 否 | 公告内容 | |
4 | time | DATETIME | 否 | 是 | 发布时间 |
6、standing_book
描述: 台账表。
表结构:
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | 台账记录id | |
2 | type | INT(10) | 否 | 是 | 0表示调入,1表示调出(外部);2表示调入(退料),3表示调出(领料)(内部调用) | |
3 | quantity | INT(10) | 否 | 是 | 0 | 数量 |
4 | price | INT(10) | 否 | 是 | 0 | 总价 |
5 | material_name | VARCHAR(255) | 否 | 是 | 材料名称 |
7、transfer_record
描述: 转移表,这个是用来关联转移操作的。
表结构:
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | 转移记录id | |
2 | from_id | INT(10) | 否 | 是 | 转出仓库id | |
3 | to_id | INT(10) | 否 | 是 | 转入仓库id |
8、 user
描述: 用户表,这里的密码是经过加密存储的。
表结构:
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | 用户id | |
2 | uname | VARCHAR(255) | 否 | 是 | 用户名称 | |
3 | authority | VARCHAR(255) | 否 | 否 | 表示权限等级(游客/员工/审核员/仓管员/系统管理员) | |
4 | pwd | VARCHAR(255) | 否 | 否 | 用户登录密码(数据库存储的是加密后的) | |
5 | sex | VARCHAR(255) | 否 | 是 | 性别 | |
6 | depository_id | INT(10) | 否 | 否 | 负责仓库,序号表示仓库id,0表示全部仓库 | |
7 | entry_date | DATE | 否 | 是 | 入职日期 | |
8 | | VARCHAR(255) | 否 | 否 | 邮箱 | |
9 | phone | VARCHAR(255) | 否 | 否 | 手机号 |