资源描述
“管家婆”仓库管理系统
数据库设计说明书V1.0
姓名
学号
组长
07301160
是
07274018
否
07301161
否
07301159
否
1、 引言
1.1 预期读者
关键为本企业和承包方阅读者:
·本企业阅读者包含:设计人员、开发人员等。
·承包方阅读者包含:业务人员、系统管理人员等。
1.2 数据库说明
我们使用是目前流行企业级数据库oracle,使用版本为10g。全局数据库名称为GuanJiaPo@ORCL,开发用表空间名是GuanJiaPoSpace,操作用户明为GuanJiaPo,密码为lq。
1.3 目标和作用
将业务分析,系统设计中对信息描述深入分析并加以总计,抽象出数据集合(数据库表)。对数据集合做深入分析,确定集合之间关系并最终形成数据库物理模型,方便开发人员建立物理数据库数据库设计
2、 数据库设计
2.1 抽象数据对象
2.1.1 系统关键业务分析
依据业务步骤分析我们从中抽象出多个数据集合:用户(包含秘书、采购员、销售员、后勤部、仓库管理员、系统管理员),商品入库、出库情况和转借情况(入库申请、出库申请、转借申请、物品在仓库间转移),仓库情况(仓库类别、仓库状态等相关信息),经过这多个集合实现物品在仓库间合理分配。
根据业务及系统功效简单总结数据对象:
l 用户
l 仓库存放物(商品、物品)
l 表单
l 仓库
l 系统管理员
1.1.1 需求分析参考
依据系统需求分析内容深入确定数据对象。因为系统需求分析中考虑到仓库存放物中商品(供出货和入仓用)和货物(供出借和归还用)间有一定区分,所以将商品和物品分开描述,并提出单独信息维护功效。其它数据对象没有改变。
总结数据对象:
l 用户
l 系统管理者
l 商品
l 物品
l 表单
l 仓库
1.2 数据库物理结构设计
依据系统分布式布署设计,数据库将布署到一部独立计算机中。依据前期分析,系统将有大量数据存放入数据库。预留数据库空间500m,日增加约3m,日志空间1G,日增加5m。
1.3 数据库逻辑设计
1.3.1 数据库设计命名规范
1,表名命名规则
多对多生成关系表假如没有太多实际意义,名字是两个相关实体名字中间加入‘_’后组成。比如User_UserClass。(如有特殊意义,按其特殊意义填写)
2,表项命名规则
代表表名单词或单词简写作为字段名开头,命名中其它单词或简写间用‘_’间隔,如用户表主键字段为U_ID命名。
1.3.2 数据库表名汇总
表2-1 数据库表
数据库表名
汉字名
文字说明
Admin
系统管理员
保留系统管理员信息
IO_Form
出库入库申请
申请表单和货物关系
Form
申请表单
保留出库入库订单
User
用户
保留用户基础信息
User-Class
用户-用户类型
用户和用户类型关系
User_Class
用户类型
保留用户职位
Return_Borrow
借入归还表
申请表单和物品关系
things
物品
保留物品信息(用于转借)
Things_Store
物品-仓库
物品和仓库间关系
store
仓库
保留仓库信息
Product_Store
货物-仓库
货物和仓库关系
goods
货物
保留货物信息
1.3.3 数据库表结构设计
1.3.3.1 逻辑表结构
l 系统管理员:admin
表2-2 admin表项
汉字
英文
数据类型
可否空
初始值
说明
编号
A_ID
Number
否
主键,流水自增
姓名
A_Name
Variable characters (100)
否
联络方法
A_Conn
Variable characters (20)
否
账号
A_Account
Variable characters (100)
否
密码
end_time
Variable characters (50)
否
l 出库入库申请(IO_Form)
表2-3 IO_Form表项
汉字
英文
数据类型
可否空
初始值
说明
编号
F_ID
Number
否
主键,外键
货物编号
G_ID
Number
否
主键,外键
货物数量
IO_Number
INT
否
l 申请表单(Form)
表2-4申请 Form表项
汉字
英文
数据类型
可否空
初始值
说明
编号
F_ID
Number
否
主键,流水自增
用户编号
U_ID
Number
否
外键
提交日期
F_Date
Date & Time
否
处理状态
F_State
Variable characters (10)
否
值只有可能为:未处理,许可,拒绝,推迟等候
处理结果
F_Result
Clob
否
申请内容
F_Text
Clob
否
表单类型
F_Class
Variable characters (20)
否
l 用户(User)
表2-5 user表项
汉字
英文
数据类型
可否空
初始值
说明
编号
U_ID
Number
否
主键,流水自增
姓名
A_Name
Variable characters (100)
否
联络方法
A_Conn
Variable characters (20)
否
账号
A_Account
Variable characters (100)
否
密码
A_Pass
Variable characters (50)
否
l 用户-用户类型(User_UserClass)
表2-6 User_Class表项
汉字
英文
数据类型
可否空
初始值
说明
编号
U_ID
Number
否
主键,外键
用户类型
User_Type
Variable characters (20)
否
主键,外键
l 用户类型(User_Class)
表2-6 User_Class表项
汉字
英文
数据类型
可否空
初始值
说明
用户类型
User_Type
Variable characters (10)
否
主键
值只可能为:供货员,出货员,后勤管理员,仓库管理员
l 货物表项
表2-2 货物表项
汉字
英文
数据类型
可否空
说明
货物编号
G_ID
Number
否
主键,流水自增
货物名称
G_Name
VARCHAR
否
货物描述
G_Discribe
CLOB
否
货物数量
G_Number
INT
否
货物单价
G_Price
FLOAT
否
l 货物—仓库表项
表2-3货物—仓库表项
汉字
英文
数据类型
可否空
说明
货物编号
G_ID
Number
否
主键,外键
仓库编号
S_ID
Number
否
主键,外键
存放数量
PS_Number
INT
否
l 仓库表项
表2-4仓库表项
汉字
英文
数据类型
可否空
初始值
说明
仓库编号
S_ID
NUMBER
否
主键,流水自增
仓库地址
S_Add
VARCHAR
否
仓库类型
S_Type
VARCHAR
否
仓库状态
S_Style
VARCHAR
否
仓库容量
S_Size
INT
否
仓库类别
S_Class
VARCHAR
否
l 物品-仓库表项
表2-5物品-仓库表项
汉字
英文
数据类型
可否空
说明
物品编号
T_ID
Number
否
主键,外键
仓库编号
S_ID
Number
否
主键,外键
物品数量
TS_Number
INT
否
l 物品表项
表2-6物品表项
汉字
英文
数据类型
可否空
说明
物品编号
T_ID
Number
否
主键,流水自增
物品名称
T_Name
VARCHAR
否
物品描述
T_Discribe
CLOB
否
物品现有数量
T_Number
INT
否
物品库存数
T_Total
INT
否
l 借入归还表项
表2-6借入归还表项
汉字
英文
数据类型
可否空
说明
编号
F_ID
Number
否
主键,外键
物品编号
T_Name
VARCHAR
否
主键,外键
物品数量
RB_Number
CLOB
否
1.3.3.2 数据库表逻辑ER图
图2-1逻辑ER图
图中“ ”表示多对一关系,三叉线表示对应多方表,多对多应该为“”。
1.3.3.3 表之间关联设计
在数据库ER逻辑模型基础上确定ER物理模型,经过主外键约束明确表之间关系。该物理模型可直接映射到数据库中进行物理操作,方便据此建立数据库结构。
ER物理模型以下:
图2-2物理ER图
物理模型字段以下表:
Table
column
Code
description
系统管理员
编号
A_ID
主键索引
姓名
A_Name
联络方法
A_Conn
账号
A_Account
密码
A_Pass
出库入库申请
编号
F_ID
主键索引
货物编号
G_ID
由货物表引用外键,主键索引
货物数量
IO_Number
申请表单
编号
F_ID
主键索引
用户编号
U_ID
由用户表引用外键
提交日期
F_Date
处理状态
F_State
处理结果
F_Result
申请内容
F_Text
表单类型
F_Class
用户
编号
U_Id
主键索引
姓名
U_Name
联络方法
U_Conn
账号
U_Account
密码
U_Pass
用户-用户类型
编号
U_ID
由用户表引用外键,主键索引
用户类型
User_Type
由用户类型表引用外键,主键索引
用户类型
用户类型
User_Type
由用户类型表引用外键,主键索引
货物
货物编号
G_ID
主键索引
货物名称
G_Name
货物描述
G_Discribe
货物数量
G_Number
货物单价
G_Price
货物-仓库
货物编号
G_ID
主键索引,由货物表引用外键
仓库编号
S_ID
主键索引,由仓库表引用外键
存放数量
PS_Number
仓库
仓库编号
S_ID
主键索引
仓库地址
S_Add
仓库类型
S_Type
仓库状态
S_Style
仓库容量
S_Size
仓库类别
S_Class
物品-仓库
物品编号
T_ID
主键索引,由物品表引用外键
仓库编号
S_ID
主键索引,由仓库表引用外键
物品数量
TS_Number
物品
物品编号
T_ID
主键索引
物品名称
T_Name
物品描述
T_Discribe
物品现有数量
T_Number
物品库存数
T_Total
借入归还
编号
F_ID
主键索引,由申请表单引用外键
物品编号
T_ID
主键索引,由物品表引用外键
物品数量
RB_Number
外键关联说明:
表2-7 外键关联说明
描述表名
外键引用表
外键字段名
表关系
说明
出库入库申请
申请表单
编号<fk1>
多对一
一个申请表单能够申请多个货物
货物
货物编号<fk2>
多对一
申请表单
用户
编号2<fk>
多对一
一个用户能够签署多个申请表单,一个申请表单只能由一个用户签署。
用户-用户类型
用户
编号<fk1>
多对多
一个用户能够有多个用户类型,一个用户类型能够被多个用户共有。
用户类型
用户类型<fk2>
多对多
借入归还表
申请表单
编号<fk1>
多对多
一个申请表单能够申请多个物品,一个物品能够被多个申请表单申请
物品
物品编号<fk2>
多对多
物品仓库
物品
物品编号<fk1>
多对多
一个物品能够存放至多个仓库,一个仓库能够存放多个物品。
仓库
仓库编号<fk2>
多对多
货物-仓库
货物
货物编号<fk1>
多对多
一个货物能够存放至多个仓库,一个仓库能够存放多个货物。
仓库
仓库编号<fk2>
多对多
1.3.3.4 难点说明:
不一样权限申请表单时复杂关系
l 在这个系统中我们发觉,因为角色过多,造成订单种类过多。假如细分话,能够分出:采购员拥有入库申请表单填写权利,出货员拥有出库申请表单填写权利,后勤管理员拥有填写借入和申请物品表单权利,仓库管理员拥有填写仓库申请表单权利…表单种类很多,而且表面上看起来全部是独立。所以,刚开始我们为每一个表全部建立了一个单独表。这么即使看起来逻辑清楚,不过,无形中为系统增加了很大负担。
图2-3物理ER图局部1
我们在建表过程中发觉,这多个表基础项大致类似。所以,我们决定将全部申请表格合成一张表,用一个字段“类别”来区分它们。这么,在不影响系统实施效率情况下,降低了表数量。
展开阅读全文