数据库设计说明书V10解析.docx
《数据库设计说明书V10解析.docx》由会员分享,可在线阅读,更多相关《数据库设计说明书V10解析.docx(25页珍藏版)》请在冰豆网上搜索。
数据库设计说明书V10解析
文档状态
[√]草稿[]已发布[]修改中
文档编号
数据库设计说明书
编撰
编撰日期
2016-10-9
保密级别
机密
文档版本
V1.0.0
部门/组
技术部
{项目名称}
数据库设计说明书
班级:
成员一:
成员二:
浙江树人大学信息科技学院
修订控制页
次序
版本
修订人
修订日期
修订摘要
1
V1.0.0
陈涛
2016-10-9
创建
目录
第一章引言1
1.1编写目的1
1.2背景1
1.3术语定义1
1.4参考资料2
第二章外部设计3
2.1标识符和状态3
2.2使用它的程序3
2.3命名约定3
2.4设计约定3
第三章结构设计4
3.1概念结构设计4
3.1.1实体和属性的定义4
3.1.2设计局部ER模式10
3.1.3设计全局ER模式15
3.2逻辑结构设计16
3.1.4模式16
3.3物理结构设计20
第四章安全保密设计21
4.1防止用户直接操作数据库的方法21
4.2用户帐号密码的加密方法21
4.3角色与权限21
第五章数据库管理与维护说明21
第一章引言
1.1编写目的
本数据库设计说明书是对某超市进销存管理系统数据库设计的定义,包括本系统数据逻辑结构设计、数据字典以及运行环境、安全保密设计等。
本数据库设计说明书适合以下读者:
◆用户
◆系统设计人员
◆质量控制人员
◆系统确认测试人员
◆系统维护人员
本数据库设计说明书是以下开发活动的依据之一:
◆系统详细设计
◆用户验收
1.2背景
伴随着企业对信息化需求的增长,计算机、网络技术已渗透到企业的日常工作中。
传统的企业内信息的交流方式已逐渐不能满足企业对大量信息的快速传递与处理的需求。
在各大中小企业中,用计算机管理企业的信息已经越来越普遍了。
用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了企业资料的安全性。
提高了企业的管理能力,为此,用计算机来管理企业的信息,是非常必要的。
1.3术语定义
本文用到的术语符合国家标准《软件工程术语(GB/T11475-1995)》。
与本文直接相关的国家标准包括:
⏹GB8566-1995软件生存期过程
⏹GB8567-88计算机软件产品开发文件编制指南
⏹GB8567-88计算机软件数据库设计说明编制指南
⏹GB/T11457-1995软件工程术语
1.4参考资料
⏹《超市进销存管理系统需求规格说明书》
⏹《超市进销存管理系统概要设计说明书》
⏹《超市进销存管理系统详细设计说明书》
⏹《实用软件工程》,郑人杰,殷人昆,陶永雷,清华大学出版社,1997.4
⏹《软件工程实践者之路》,美,清华大学出版社,1997.4
⏹《计算机软件产品开发文件编制指南,GB8567-88》
⏹《电子政务试点示范工程技术规范》
第二章
外部设计
2.1标识符和状态
数据库软件的名称:
SQLServer2008
数据库的名称为:
Supermarket
2.2使用它的程序
本数据库使用于“某超市进销存管理系统”V1.0
2.3命名约定
所有的数据库命名都是以模块的缩写加上具体表的英文词汇组成,这样能够统一数据库表的命名,也能够更好的规范数据库表命名。
2.4设计约定
在本系统中,数据库的设计采用Visio进行,并且采用面向对象的设计方法,首先进行对象实体的设计,最后将对象持久化到数据库中,所有的表和表之间的关联(ER图)都采用标准的Visio设计工具进行,这样能够将整个系统的设计和数据库设计有机的结合起来。
第三章
结构设计
系统按照某超市进销存管理系统的统一规划,运行在某NIIT软件开发公司的统一数据库中,采用了数据库的热备份技术,实现数据的有效和安全。
3.1概念结构设计
三.1.1实体和属性的定义
⏹公共模块
员工信息(员工ID、姓名、密码、家庭地址、员工生日、所属部门、手机号、家庭电话、性别、职位、是否发布等)
图3-1员工信息
仓库信息(仓库编号、仓库名称、员工编号)
图3-2仓库信息
供应商信息表
3-3供应商信息
部门表(部门标识、部门名称)
图3-4部门信息
职位表(职位编号、职位名称、职位部门)
图3-5职位信息
⏹消息面板模块
进货信息(商品编号、商品数量、商品计量单位、进货单价、备注、货物名称、实付金额、进货时间、仓库ID、删除标记、销售单价、进货公司ID、应付金额、操作员编号等)
图3-6仓库信息
公告状态(状态标识、状态名称)
其中属性约束如下:
状态名称:
普通,重要,紧急
站内短信(发送人、接收人、留言标题、内容、发送时间、是否回复、是否读取、是否公开、消息状态、是否被发送者删除、是否被接收者删除)
其中属性约束如下:
是否回复:
0=未回复,1=已回复;是否读取:
0=未读,1=已读;是否公开:
0=不公开,1=公开;
消息状态:
普通,重要,紧急,重要紧急;是否被发送者(接收者)删除:
0=否,1=是
⏹商品退货管理模块
商品退货(事务具体信息、事务提交人、事务处理人、事务计划开始时间、事务计划结束时间、事务添加时间、事务类型、事务原由、备注)
图3-7商品退货信息
⏹库存管理模块
库存(库存编号、仓库名称、进货人编号、销售价格、备注、库存数量、进货时间、警报数量、商品名称、进货价格、商品编号、供应商编号、商品计量单位等)
图3-8库存信息
⏹商品销售信息模块
商品销售信息表(商品编号、商品名称、员工编号、货物名称、实付金额、备注、删除标记、销售单价、销售数量、销售时间、库存编号、销售编号等)
其中属性约束如下:
请假形式:
0=事前请假,1=事后请假;审批状态:
0=未回复,1=不通过,2=通过
图3-9商品销售信息
三.1.2设计局部ER模式
员工局部E-R图:
公告信息局部E-R图:
站内短信局部E-R图:
事务管理局部E-R图:
计划局部E-R图:
客户信息局部E-R图:
跟踪信息局部E-R图:
三.1.3设计全局ER模式
3.2逻辑结构设计
三.1.4模式
员工信息表记录员工登陆账号和联系方式等基本信息。
表tb_EmpInfo的结构:
表3-1员工信息表
字段名
数据类型
长度
主键
非空
描述
EmpID
nvarchar
20
是
否
员工编号
EmpName
nvarchar
20
否
员工姓名
EmpLoginPwd
nvarchar
20
登录密码
LoginName
nvarchar
20
用户登录名
EmpSex
nvarchar
4
性别
EmpBirthday
datetime
50
员工生日
EmpDeptID
nvarchar
20
部门编号
EmpPostID
nvarchar
20
邮箱,有多个(以|隔开)
EmpPhone
nvarchar
20
手机号
EmpPhoneM
nvarchar
20
家庭电话
EmpAddress
nvarchar
200
家庭地址
EmpFalg
Char
10
是否离职(发布)
职位表存储职位名称。
表tb_Post的结构:
表3-2职位表
字段名
数据类型
长度
主键
非空
描述
PostID
nvarchar
20
是
否
职位编号自增ID
DepID
nvarchar
20
否
部门编号
PosName
nvarchar
20
职位名称
部门表存储部门名称。
表tb_Department的结构:
表3-3部门表
字段名
数据类型
长度
主键
非空
描述
DepID
nvarchar
20
是
否
部门编号自增ID
DepName
nvarchar
50
否
部门名称
EmpID
nvarchar
20
员工编号
进货信息表。
表tb_JhGoodsInfo的结构:
表3-4进货信息表
字段名
数据类型
长度
主键
非空
描述
GoodsID
nvarchar
50
是
否
商品编号ID
EmpID
nvarchar
20
否
(员工)操作员编号
JhCompanyID
Int
50
供货ID
CID
Varchar
20
仓库编号
GoodsName
nvarchar
50
商品名称
GoodsNum
Int
商品数量
GoodsUnit
nvarchar
20
商品的计量单位
GoodsJhPrice
nvarchar
8
进货单价
GoodsSellPrice
nvarchar
8
销售单价
GoodsNeedPrice
nvarchar
8
应付金额
GoodsNotPrice
nvarchar
8
实付金额
GoodsRemark
nvarchar
200
备注
GoodsTime
datetime
进货时间
Falg
Char
10
删除标记
商品销售信息表。
表tb_SellGoods的结构:
表3-5商品销售信息表
字段名
数据类型
长度
主键
非空
描述
SellID
Int
15
是
否
自增ID
KcID
Int
8
是否删除(0=否,1=是)
GoodsID
Varchar
500
公告栏标题
EmpID
Text
2000
公告栏内容
GoodsName
Varchar
100
发布者ID(外关联UserInfo表)
SellGoodsNum
smalldatetime
20
发布时间
SellGoodsTime
Varchar
100
SellPrice
SellNeedPay
SellHasPay
SellRemark
SellFalg
仓库表。
表tb_CStorage的结构:
表3-6仓库表
字段名
数据类型
长度
主键
非空
描述
CID
Int
15
是
否
自增ID
CName
Varchar
100
类别ID
EmpID
Varchar
100
类别名称(普通,重要,紧急等)
库存基本信息表。
表tb_KcGoods的结构:
表3-7库存基本信息表
字段名
数据类型
长度
主键
非空
描述
KcID
nvarchar
50
是
否
自增ID
GoodsID
nvarchar
50
唯一标示ID
JhCompID
nvarchar
50
发送人ID
KcDeptName
nvarchar
20
接收人ID
KcGoodsName
nvarchar
20
留言标题
KcNum
Int
内容
KcAlarmNum
Int
发送时间
KcUnit
nvarchar
20
KcTime
Datetime
2
KcGoodsPrice
Nvarchar
8
KcSellPrice
nvarchar
8
EmpID
nvarchar
20
KcRemark
nvarchar
200
供应商信息表。
表tb_Company的结构:
表3-8供应商信息表
字段名
数据类型
长度
主键
非空
描述
CompanyID
Varchar
50
是
否
CompanyName
nvarchar
100
否
CompanyDirrector
nvarchar
50
CompanyPhone
nvarchar
20
CompanyFax
nvarchar
20
CompanyAddress
nvarchar
200
CompanyRemark
nvarchar
400
ReDateTime
datetime
Falg
Varchar
10
商品退货信息。
表tb_ThGoodsInfo的结构:
表3-9商品退货信息表
字段名
数据类型
长度
主键
非空
描述
ThGoodsID
nvarchar
50
是
否
KcID
nvarchar
50
否
GoodsID
nvarchar
50
SellID
nvarchar
20
否
EmpID
nvarchar
20
ThGoodsName
nvarchar
50
ThGoodsNum
Int
ThGoodsTime
datetime
ThGoodsPrice
nvarchar
8
ThNeedPay
nvarchar
8
ThHasPay
nvarchar
8
ThGoodsResult
nvarchar
400
3.3物理结构设计
数据库名称为:
Supermarket
存储位置:
默认位置
建立系统程序员视图,包括:
a.数据在内存中的安排,包括对索引区、缓冲区的设计;
b.所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;
c.访问数据的方式方法。
第四章
安全保密设计
通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密设计考虑。
对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷、模式、子模式等一般要建立起数据保护措施,以说明它的标识符、同义名及有关信息。
数据库由专门数据库管理员对数据库操作,需要注意以下几项安全问题:
4.1防止用户直接操作数据库的方法
提示:
用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其他途径操作数据库。
4.2用户帐号密码的加密方法
提示:
对用户帐号的密码进行加密处理,确保在任何地方都不会出现密码的明文。
4.3角色与权限
提示:
确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。
每个角色拥有刚好能够
完成任务的权限,不多也不少。
在应用时再为用户分配角色,则每个用户的权限等于他所兼角色的权限之和。
第五章数据库管理与维护说明
提示:
在设计数据库的时候,及时给出管理与维护本数据库的方法,有助于将来撰写出正确完备的用户手册。