管家婆仓库管理数据库设计分析说明书模板.docx
《管家婆仓库管理数据库设计分析说明书模板.docx》由会员分享,可在线阅读,更多相关《管家婆仓库管理数据库设计分析说明书模板.docx(16页珍藏版)》请在冰豆网上搜索。
管家婆仓库管理数据库设计分析说明书模板
“管家婆”仓库管理系统
数据库设计说明书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系统主要业务分析
根据业务流程分析我们从中抽象出几个数据集合:
用户(包括秘书、采购员、销售员、后勤部、仓库管理员、系统管理员),商品的入库、出库情况和转借情况(入库申请、出库申请、转借申请、物品在仓库间的转移),仓库情况(仓库类别、仓库状态等相关信息),通过这几个集合实现物品在仓库间的合理分配。
按照业务及系统功能简单总结数据对象:
●用户
●仓库存放物(商品、物品)
●表单
●仓库
●系统管理员
1.1.1需求分析参考
根据系统需求分析内容进一步确定数据对象。
由于系统需求分析中考虑到仓库存放物中商品(供出货和入仓用)和货品(供出借和归还用)间有一定的区别,所以将商品和物品分开描述,并提出单独的信息维护功能。
其他数据对象没有变化。
总结数据对象:
●用户
●系统管理者
●商品
●物品
●表单
●仓库
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逻辑表结构
●系统管理员:
admin
表2-2admin表项
中文
英文
数据类型
可否空
初始值
说明
编号
A_ID
Number
否
主键,流水自增
姓名
A_Name
Variablecharacters(100)
否
联系方式
A_Conn
Variablecharacters(20)
否
账号
A_Account
Variablecharacters(100)
否
密码
end_time
Variablecharacters(50)
否
●出库入库申请(IO_Form)
表2-3IO_Form表项
中文
英文
数据类型
可否空
初始值
说明
编号
F_ID
Number
否
主键,外键
货物编号
G_ID
Number
否
主键,外键
货物数量
IO_Number
INT
否
●申请表单(Form)
表2-4申请Form表项
中文
英文
数据类型
可否空
初始值
说明
编号
F_ID
Number
否
主键,流水自增
用户编号
U_ID
Number
否
外键
提交日期
F_Date
Date&Time
否
处理状态
F_State
Variablecharacters(10)
否
值只有可能为:
未处理,允许,拒绝,推迟等候
处理结果
F_Result
Clob
否
申请内容
F_Text
Clob
否
表单类型
F_Class
Variablecharacters(20)
否
●用户(User)
表2-5user表项
中文
英文
数据类型
可否空
初始值
说明
编号
U_ID
Number
否
主键,流水自增
姓名
A_Name
Variablecharacters(100)
否
联系方式
A_Conn
Variablecharacters(20)
否
账号
A_Account
Variablecharacters(100)
否
密码
A_Pass
Variablecharacters(50)
否
●用户-用户类型(User_UserClass)
表2-6User_Class表项
中文
英文
数据类型
可否空
初始值
说明
编号
U_ID
Number
否
主键,外键
用户类型
User_Type
Variablecharacters(20)
否
主键,外键
●用户类型(User_Class)
表2-6User_Class表项
中文
英文
数据类型
可否空
初始值
说明
用户类型
User_Type
Variablecharacters(10)
否
主键
值只可能为:
供货员,出货员,后勤管理员,仓库管理员
●货物表项
表2-2货物表项
中文
英文
数据类型
可否空
说明
货物编号
G_ID
Number
否
主键,流水自增
货物名称
G_Name
VARCHAR
否
货物描述
G_Discribe
CLOB
否
货物数量
G_Number
INT
否
货物单价
G_Price
FLOAT
否
●货物—仓库表项
表2-3货品—仓库表项
中文
英文
数据类型
可否空
说明
货物编号
G_ID
Number
否
主键,外键
仓库编号
S_ID
Number
否
主键,外键
存储数量
PS_Number
INT
否
●仓库表项
表2-4仓库表项
中文
英文
数据类型
可否空
初始值
说明
仓库编号
S_ID
NUMBER
否
主键,流水自增
仓库地址
S_Add
VARCHAR
否
仓库类型
S_Type
VARCHAR
否
仓库状态
S_Style
VARCHAR
否
仓库容量
S_Size
INT
否
仓库类别
S_Class
VARCHAR
否
●物品-仓库表项
表2-5物品-仓库表项
中文
英文
数据类型
可否空
说明
物品编号
T_ID
Number
否
主键,外键
仓库编号
S_ID
Number
否
主键,外键
物品数量
TS_Number
INT
否
●物品表项
表2-6物品表项
中文
英文
数据类型
可否空
说明
物品编号
T_ID
Number
否
主键,流水自增
物品名称
T_Name
VARCHAR
否
物品描述
T_Discribe
CLOB
否
物品现有数量
T_Number
INT
否
物品的库存数
T_Total
INT
否
●借入归还表项
表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外键关联说明
描述表名
外键引用表
外键字段名
表关系
说明
出库入库申请
申请表单
编号
多对一
一个申请表单可以申请多种货物
货品
货物编号
多对一
申请表单
用户
编号2
多对一
一个用户可以签订多个申请表单,一个申请表单只能由一个用户签订。
用户-用户类型
用户
编号
多对多
一个用户可以有多个用户类型,一个用户类型可以被多个用户共有。
用户类型
用户类型
多对多
借入归还表
申请表单
编号
多对多
一个申请表单可以申请多个物品,一个物品可以被多个申请表单申请
物品
物品编号
多对多
物品仓库
物品
物品编号
多对多
一种物品可以存放至多个仓库,一个仓库可以存储多种物品。
仓库
仓库编号
多对多
货品-仓库
货品
货物编号
多对多
一种货品可以存放至多个仓库,一个仓库可以存储多种货品。
仓库
仓库编号
多对多
1.3.3.4难点说明:
不同权限申请表单时的复杂关系
●在这个系统中我们发现,由于角色过多,导致订单的种类过多。
如果细分的话,可以分出:
采购员拥有入库申请表单的填写权利,出货员拥有出库申请表单的填写权利,后勤管理员拥有填写借入和申请物品表单的权利,仓库管理员拥有填写仓库申请表单的权利…表单种类非常多,而且表面上看起来都是独立的。
所以,刚开始我们为每一种表都建立了一个单独的表。
这样虽然看起来逻辑清晰,但是,无形中为系统增加了很大的负担。
图2-3物理ER图局部1
我们在建表的过程中发现,这几个表的基本项大致类似。
所以,我们决定将所有的申请表格合成一张表,用一个字段“类别”来区分它们。
这样,在不影响系统执行效率的情况下,减少了表的数量。