sql书店管理系统设计.docx
《sql书店管理系统设计.docx》由会员分享,可在线阅读,更多相关《sql书店管理系统设计.docx(45页珍藏版)》请在冰豆网上搜索。
sql书店管理系统设计
(此文档为word格式,下载后您可任意编辑修改!
)
摘要
随着办公自动化的日益发展,越来越多的企事业单位都实现了无纸化办公。
作为一个现代化的书店,需要一个拥有自动化,全方位的办公系统,方便处理日益复杂化的管理经营项目。
书店管理系统就是能满足书店日常经营及后台统计电算化的系统。
具有方便,人性化的系统可以帮助营业员和管理人员处理一般的管理项目。
并且各项权限分明。
使书店能够满足快速发展的现代化会的需要,书店管理系统对书店图书日常销售中的手工操作繁琐、易出错的问题进行研究,利用计算机管理繁琐的日常图书销售管理工作,避免手工操作过程中繁琐且易出错的现象,提高工作的质量和效率。
本报告根据书店的管理过程中所要遇到的各类情况,在系统中都做了详细而又正确的处理结果,本系统不仅对书店管理进行了统计和查询,而且对书店的日常管理、信息检索等进行了分析,解决了用手工方法带来的困难,和数据出错的概率。
关键字:
书店、销售管理、图书管理
1.引言1
2.需求分析阶段2
2.1引言2
2.2需求分析阶段的目标与任务2
2.2.1处理对象2
2.3需求分析阶段成果3
3概念设计阶段9
3.1引言9
3.2任务与目标9
3.3阶段结果10
4.逻辑设计阶段12
4.1逻辑设计的任务和目标12
4.2数据组织12
4.2.1将E-R图转换为关系模型13
4.2.2模型优化13
4.2.3数据库模式定义13
4.2.4用户子模式定义16
4.3数据处理19
5.物理设计阶段19
5.1物理设计阶段的目标与任务19
5.2数据存储方面19
5.3系统功能模块20
6.数据库实施阶段22
6.1建立数据库、数据表、视图、索引22
6.1.1建立数据库22
6.1.2建立数据表22
6.2数据入库29
6.3创建各个功能的存储过程29
7.系统调试和测试29
8.实习心得29
9.存在的问题及建议30
致谢30
参考文献30
附录1存储过程定义30
附录2数据查看和存储过程功能的验证34
附录3所有的SQL运行语句40
1.引言
信息在社会和经济的发展中所起的作用越来越为人们所重视。
信息资源的开发利用水平成为衡量一个国家综合国力的重要标志之一。
计算机作为信息处理的工具,为适应数据处理需求的迅速发展。
随着办公自动化的日益发展,越来越多的企事业单位都实现了无纸化办公。
作为一个现代化的书店,需要一个拥有自动化,全方位的办公系统,方便处理日益复杂化的管理经营项目。
书店管理系统就是能满足书店日常经营及后台统计电算化的系统。
具有方便,人性化的系统可以帮助营业员和管理人员处理一般的管理项目。
并且各项权限分明。
使书店能够满足快速发展的现代化会的需要,书店管理系统对书店图书日常销售中的手工操作繁琐、易出错的问题进行研究,利用计算机管理繁琐的日常图书销售管理工作,避免手工操作过程中繁琐且易出错的现象,提高工作的质量和效率。
本报告根据书店的管理过程中所要遇到的各类情况,在系统中都做了详细而又正确的处理结果,本系统不仅对书店管理进行了统计和查询,而且对书店的日常管理、信息检索等进行了分析,解决了用手工方法带来的困难,和数据出错的概率。
2.需求分析阶段
2.1引言
进行系统设计,首先要对系统的现状进行分析。
根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。
需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。
数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。
明确目的之后,就可以确定您需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(表中字段)。
在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。
这样,就把一个大的系统分解成了几个小系统。
这里把系统的层次划分为了四个部分:
在架图书管理、图书销售管理、图书库存管理、图书进购管理、书店员工管理及供应商信息管理。
能够实现以下功能:
进行新书入库、现有图书信息修改以及删除;
②对供应商信息表、员工信息表、顾客信息表等基本表的查询维护等。
③能够查询每月销售利润等情况。
2.2需求分析阶段的目标与任务
2.2.1处理对象
报价表:
供应商号,图书编号,进价
仓库:
仓库号,仓库地址,电话
出库书目表:
图书编号,员工号,出库数量,出库日期
订单:
订单号,员工号,日期
订单细则表:
细则编号,图书编号,供应商号,订单号,数量
供应商:
供应商号,供应商名,地址
顾客:
顾客编号,顾客名,是/否会员,折扣,地址,电话
员工:
员工号,员工姓名,工种,职称库存书目表:
图书编号,数量,仓库号
利润:
销售编号,图书编号,购买数量,利润
图书:
图书编号,图书名称,作者,出版社,图书价格
销售记录表:
销售编号,顾客编号,员工号,日期
在架图书表:
书架编号,图书编号,图书名称,图书类型,图书数量
2.2.2处理功能及要求
1.能够存储大量的图书信息,并且可以修改维护及查询相关的图书的价格、出版社等信息。
2.能够管理员工、顾客及供应商的信息,并且可以做相应的查询,修改,删等操作。
3.根据图书的销售情况,生成销售利润。
4.根据供应商的提供的订单情况、图书的出入库情况相应地更改仓库图书数量。
3.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。
4.对查询、统计的结果能够列表显示。
2.2.3.安全性和完整性要求
1)安全性要求
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。
安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。
2)完整性要求
系统完整性要求系统中数据的正确性以及相容性。
可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。
2.3需求分析阶段成果
2.3.1体会与收获
需求分析往往是让人感觉最漫长最无聊的,但它却是最重要的环节。
在系统分析阶段参考了很多书籍,在网上查了很多资料,重复了很多遍,耽搁了很多时间,在第一阶段就感觉到做一个数据库设计真的是很耗费精力的。
但是,在众多参考资料的帮助下,还是顺利地完成了该阶段的任务,得到以下看似很重要的图表。
2.3.2系统总的数据流图:
书店管理系统的数据流图,它展示了书店的主要需求,即进书、售书、库存、相关查询等等。
2.3.3图书管理系统数据流程图
1.图书订购管理数据流图:
2.上架图书管理数据流图:
3.图书销售管理数据流图:
4.图书库存管理数据流图:
2.3.4书店销售管理系统数据字典
(a)数据项:
系统涉及的数据项有39项
表1.1数据项列表
数据项编号
数据项名
存储结构
1
图书编号
char(7)
2
图书名称
nchar(20)
3
作者
nchar(20)
4
出版社
nchar(4)
5
图书价格
float
6
仓库号
char(4)
7
仓库地址
nchar(20)
8
电话
char(20)
9
类别
nvarchar(5)
10
供应商号
char(4)
11
供应商名
nchar(4)
12
地址
nchar(20)
13
联系电话
char(20)
14
顾客编号
char(5)
15
顾客名
nchar(10)
16
是否会员
nchar
(1)
17
折扣
float(8)
18
员工号
char(4)
19
员工姓名
nchar(10)
20
性别
nchar
(1)
21
工种
nvarchar(8)
22
职称
nvarchar(5)
23
联系电话
char(20)
24
进价
float
25
出库数量
int
26
出库日期
datetime
27
订单号
Char5)
28
细则编号
char(5)
29
购买数量
int
30
利润
float
31
入库数量
int
32
入库日期
datetime
33
销售编号
char(5)
34
书架编号
char(4)
35
图书类型
nvarchar(5)
36
登录名
nchar(10)
37
姓名
nchar(4)
38
密码
char(3)
39
用户身份
nchar(5)
(b)数据结构:
表1.2数据结构列表
数据结构编号
数据结构名
组成
DS-1
报价表
供应商号,图书编号,进价
DS-2
仓库表
仓库号,仓库地址,电话
DS-3
出库书目表
出库书目表:
图书编号,员工号,出库数量,出库日期
DS-4
订单表
订单号,员工号,日期
DS-5
订单细则表
细则编号,图书编号,供应商号,订单号,数量
DS-6
供应商信息表
供应商号,供应商名,地址
DS-7
顾客信息表
顾客编号,顾客名,是/否会员,折扣,地址,电话
DS-8
员工信息表
员工号,员工姓名,工种,职称
DS-9
库存书目表
图书编号数量,仓库号
DS-9
利润表
销售编号,图书编号,购买数量,利润
DS-10
入库数目表
图书编号员工号,入库数量,入库日期
DS-11
图书信息表
图书编号,图书名称,作者,出版社图书价格
DS-12
销售记录表:
销售编号,顾客编号,员工号,日期
DS-13
在架图书表
书架编号,图书编号,图书名称,图书类型,图书数量
登录信息表
登录名、姓名、密码、用户身份
2.3.5处理逻辑描述
根据供应商的供应情况,图书的出入库情况修改图书库存相关信息。
根据图书的销售情况相应地更改在架图书的图书数量,及生成相应的利润报表。
3概念设计阶段
3.1引言
概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。
3.2任务与目标
(1)选择中层数据流为切入点,通常选择实际系统中的子系统;
(2)设计分E-R图,即各子模块的E-R图;
(3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;
(4)生成全局E-R图,通过消除冲突等方面。
3.3阶段结果
1.供应商供应图书E-R图
1
QN
M
1
1
H
2顾客——在架图书“处理”联系细化E-R图
1N
M
H
3、库内图书出库入库关系
N
1
1
M
4图书销售利润关系
1M
11
N
H
5、订单与订单细则间的关系
111
6、上述E-R图中各实体的属性如下所示:
报价:
供应商号,图书编号,进价
仓库:
仓库号,仓库地址,电话
出库书目:
图书编号,员工号,出库数量,出库日期
订单:
订单号,员工号,日期
订单细则:
细则编号,图书编号,供应商号,订单号,数量
供应商:
供应商号,供应商名,地址
顾客:
顾客编号,顾客名,是/否会员,折扣,地址,电话
员工:
员工号,员工姓名,工种,职称库存书目表:
图书编号,数量,仓库号
利润表:
销售编号,图书编号,购买数量,利润
入库数目:
图书编号,员工号,入库数量,入库日期
图书:
图书编号,图书名称,作者,出版社,图书价格
销售记录:
销售编号,顾客编号,员工号,日期
在架图书:
书架编号,图书编号,图书名称,图书类型,图书数量
4.逻辑设计阶段
4.1逻辑设计的任务和目标
以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。
具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。
4.2数据组织
4.2.1将E-R图转换为关系模型
报价表:
供应商号,图书编号,进价
仓库:
仓库号,仓库地址,电话
出库书目表:
图书编号,员工号,出库数量,出库日期
订单:
订单号,员工号,日期
订单细则表:
细则编号,图书编号,供应商号,订单号,数量
供应商:
供应商号,供应商名,地址
顾客:
顾客编号,顾客名,是/否会员,折扣,地址,电话
员工:
员工号,员工姓名,工种,职称库存书目表:
图书编号,数量,仓库号
利润:
销售编号,图书编号,购买数量,利润
图书:
图书编号,图书名称,作者,出版社,图书价格
销售记录表:
销售编号,顾客编号,员工号,日期
在架图书表:
书架编号,图书编号,图书名称,图书类型,图书数量
4.2.2模型优化
以上关系模式均达到第三范式,所以无须优化。
4.2.3数据库模式定义
表1图书信息表
列名
数据类型
可否为空
图书编号
Char
notnull
图书名称
Char
notnull
作者
Char
出版社
Char
图书价格
Char
表2员工信息表
列名
数据类型
可否为空
员工号
Char
notnull
员工姓名
nchar
性别
nchar
工种
nvarchar
职称
nvarchar
地址
nchar
联系电话
Char
表3供应商信息表
列名
数据类型
可否为空
供应商号
Char
notnull
供应商名
Char
地址
nchar
联系电话
Char
表4库存书目表
列名
数据类型
可否为空
仓库号
Char
notnull
图书编号
Char
数量
int
表5顾客信息表
列名
数据类型
可否为空
顾客编号
Char
notnull
顾客名
nchar
是否会员
Nchar
折扣
float
地址
nchar
电话
Char
表6销售记录表
列名
数据类型
可否为空
ID
Int
Notnull
销售编号
Char
notnull
顾客编号
Char
Notnull
员工号
char
Notnull
日期
Datatime
表7订单表
列名
数据类型
可否为空
订单号
Char
notnull
员工号
char
Notnull
日期
Datatime
表8出库书目表
列名
数据类型
可否为空
图书编号
Char
notnull
员工号
Char
Notnull
出库数量
int
出库日期
Datatime
表9入库书目表
列名
数据类型
可否为空
图书编号
Char
notnull
员工号
char
Notnull
入库数量
Int
入库日期
Datatime
表10订单细则表
列名
数据类型
可否为空
ID
Char
notnull
细则编号
Char
notnull
图书编号
Char
供应商号
Char
订单号
Char
数量
Int
表11报价表
列名
数据类型
可否为空
ID
Char
notnull
供应商号
Char
图书编号
int
进价
Float
表12仓库表
列名
数据类型
可否为空
仓库号
Char
notnull
仓库地址
Nchar
仓库电话
Char
类别
nvarchar
表13利润表
列名
数据类型
可否为空
销售编号
Char
notnull
图书编号
char
Notnull
购买数量
Int
利润
Float
表14登录信息表
列名
数据类型
可否为空
登录名
Nchar
notnull
姓名
Nchar
Notnull
密码
char
用户身份
nchar
表10在架图书表
列名
数据类型
可否为空
ID
Char
notnull
书架编号
Char
notnull
图书编号
Char
图书名称
Nchar
图书类型
Nvarchar
图书数量
Int
4.2.4用户子模式定义
表2.7用户子模式定义
编号
用户子模式
作用(共性:
提供数据保密和安全保护机制)
V-1
图书信息视图
书店销售图书信息查询
V-2
员工信息表视图
员工信息的查询、管理
V-3
供应商信息表视图
便于查看供应商的相关信息
V-4
现有库存查询视图
用于查看当前书店能买到的图书
V-5
顾客信息表视图
用于查看顾客的相关信息
V-6
销售记录查询视图
查看顾客在本店的销售记录
V-7
订单信息表视图
查看书店与供应商的订单情况
V-8
出库信息查询视图
用于查询图书的出库情况
V-9
入库信息查询视图
用于查询图书的入库情况
表2.8图书信息视图
列名
数据类型
可否为空
图书编号
Char
notnull
图书名称
Char
notnull
作者
Char
出版社
Char
图书价格
Char
书架编号
Date
l
图书类型
nvarchar
图书数量
int
仓库号
char
表2.9员工信息表视图
列名
数据类型
可否为空
员工号
Char
notnull
员工姓名
nchar
性别
nchar
工种
nvarchar
职称
nvarchar
地址
nchar
联系电话
Char
表2.10供应商信息表视图
列名
数据类型
可否为空
供应商号
Char
notnull
供应商名
Char
地址
nchar
联系电话
Char
图书编号
Char
图书名称
nvarchar
进价
float
表2.11现有库存查询视图
列名
数据类型
可否为空
仓库号
Char
notnull
仓库地址
nchar
图书编号
Char
图书名称
nvarchar
数量
int
电话
char
表2.12顾客信息表视图
列名
数据类型
可否为空
顾客编号
Char
notnull
顾客名
nchar
是否会员
Nchar
折扣
float
地址
nchar
电话
Char
表2.13销售记录查询视图
列名
数据类型
可否为空
销售编号
Char
notnull
顾客编号
Char
Notnull
顾客名
Nchar
l
是否会员
Nchar
折扣
float
电话
Char
地址
nchar
日期
Datatime
图书名称
nchar
购买数量
Int
利润
float
员工姓名
nchar
表2.14订单信息表视图
列名
数据类型
可否为空
订单号
Char
notnull
员工号
char
Notnull
日期
Datatime
细则编号
char
供应商号
Char
数量
Int
表2.15出库信息查询视图
列名
数据类型
可否为空
图书编号
Char
notnull
图书名称
nchar
员工号
Char
Notnull
员工姓名
nchar
出库数量
int
出库日期
Datatime
表2.16入库信息查询视图
列名
数据类型
可否为空
图书编号
Char
notnull
图书名称
nchar
员工号
char
Notnull
员工姓名
nchar
入库数量
Int
入库日期
Datatime
4.3数据处理
系统功能模块图:
5.物理设计阶段
5.1物理设计阶段的目标与任务
数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:
(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
5.2数据存储方面
为数据库中各基本表建立的索引如下:
1.供应商信息表、仓库表、订单表、订单细则表上建立唯一索引。
2.由于在销售记录表中经常按日期查询某一天或某一个时间段内的销售情况,因此可以在销售记录的日期上建立聚簇索引。
3、在员工信息表的员工号及顾客信息表的顾客编号上建立聚簇索引。
4、由于顾客经常按图书名称查询图书信息,书店管理员经常修改在架图书信息,因此可在图书信息表及在架图书信息表的图书名称上建立非聚簇索引。
5.3系统功能模块
该系统分为四个模块:
在架图书管理、进购图书管理、销售图书管理、库存图书管理。
6.数据库实施阶段
6.1建立数据库、数据表、视图、索引
6.1.1建立数据库
createdatabase书店管理系统
6.1.2建立数据表
(1)图书信息表
createtable图书信息表
(图书编号char(7)primarykey,
图书名称nchar(20)notnull,
作者nchar(4),
出