图书销售管理系统数据库设计.docx
- 文档编号:12698535
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:27
- 大小:233.38KB
图书销售管理系统数据库设计.docx
《图书销售管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《图书销售管理系统数据库设计.docx(27页珍藏版)》请在冰豆网上搜索。
图书销售管理系统数据库设计
数据库系统概论课程设计报告
2011年05月28日
引言1
第一章系统分析1
功能需求2
待开发系统功能2
第二章系统功能概要设计2
系统主要功能模块设计2
系统处理流程分析3
系统接口设计4
外部接口4
内部接口5
第三章系统数据库设计5
系统数据库分析5
系统关系表6
数据字典6
数据项6
数据结构7
数据流表8
数据存储8
处理过程9
第四章概念结构设计9
用户管理模块9
图书管理模块10
图书销售管理模块11
查询管理模块12
报表查询管理模块13
数据管理模块14
图书销售管理系统E-R图15
第五章逻辑结构设计16
与系统E-R图对应的关系模式16
试题所对应的关系模式16
联系所对应的关系模式16
关系模式优化处理17
第六章物理结构设计18
系统数据处理特点18
系统数据存储选择18
第七章数据库的实施和维护18
数据库的实施19
致谢20
引言
随着计算机的普及书店规模的不断扩大,传统的图书销售管理方法,都是通过人工统计和计算的管理方式进行的。
这样的管理方法不但费时费力,也容易产生计算上的错误和疏漏;计算机技术的全面普及,打破了书店管理的传统管理方法,提高了管理效率的同时,克服了传统管理方法中易产生的问题,使管理员能够有序的、全面的对图书销售和库存进行管理。
通过图书销售管理系统可以解决书店管理中遇到的各种问题,该图书销售管理系统分析了市场需求和实际需要,利用MicrosoftVisualStudio2008连接SQL数据库的方式,实现了书店的图书销售等一系列管理,该系统具有处理图书录入、图书销售及管理、图书查询、报表查询等功能。
第一章系统分析
功能需求:
本系统是根据书店的实际需求而开发的,要求稳定、可靠的实现图书销售的自动化管理,通过本系统可以达到以下目标:
a、用户管理:
对系统所有用户的相关信息进行管理。
b、图书管理:
对图书信息进行添加以及编辑,对图书基本信息的录入及编辑包括图书类别、图书进价、图书售价、图书出版社、图书折扣、图书作者等。
c、图书销售管理:
对图书的销售信息进行动态添加并实现对图书库存量的动态修改等,所添加的图书销售信息包括图书的售价、折扣、销售日期。
d、查询管理:
用户根据实际需要对图书、图书销售、图书库存等信息分类查询。
e、报表查询:
系统用户可以通过对时间段的选择来查看该段时间内图书的销售情况,以便于做出更为合理的销售计划、提高效益。
f、数据管理:
为了防止系统用户的误操作,用户可以根据自己的需要对图书信息、销售数据等进行备份等操作。
待开发软件功能:
通过以上的系统目标分析,根据以上系统所要满足的功能,设计出了图书销售管理系统的主要功能模块图,如图所示。
图图书销售管理系统的系统功能图
第二章系统功能概要设计
该图书销售管理系统是根据书店的情况结合实际需求而开发的,完全能够帮助书店实现高效、准确的图书销售自动化管理。
系统主要功能模块设计:
结合前面对系统功能的分析,以及MicrosoftVisualStudio2008开发环境的特点,得到如下图所示的系统功能模块图:
图图书销售管理系统主要功能模块图
系统各个模块功能分配如下:
(1)用户管理模块:
系统用户根据权限进行系统登录并对相关用户信息进行管理;
(2)图书管理模块:
对图书的各种信息、类别进行录入、管理;
(3)图书销售管理模块:
对图书的各种销售信息进行录入、管理;
(4)查询管理模块:
对各种信息进行统计、查询;
(5)报表查询管理模块:
对销售完的图书进行统计、查询;
(6)数据管理功能模块:
对系统相关数据进行操作。
系统处理流程分析:
(1)系统启动,用户根据自己的身份选择登录用户类型并进行身份验证(根据用户输入的登录信息与数据库中的信息进行比对);
(2)登录成功后,进入系统主界面;
(3)系统初始化,导入数据库;
(4)登录成功的用户根据自己的权限级别进行相应的功能选择并进行操作;
(5)退出系统。
系统具体处理流程如图所示:
系统接口设计:
外部接口
(1)用户界面:
采用GUI图形用户界面,含菜单、图片控件、Button按钮、文本框等元素。
(2)软件接口:
系统运行于MicrosoftVisualStudio2008开发环境下。
(3)硬件接口:
运行于PC机上。
内部接口
(1)用户管理模块(M1):
由相应事件驱动消息激活,完成用户登陆功能,之后进入消息循环状态,对相关用户信息进行操作。
(2)图书管理模块:
由相应事件驱动消息激活,完成图书信息管理,之后进入消息循环状态。
(3)图书销售管理模块(M3):
由相应事件驱动消息激活,完成图书销售以及销售信息管理,之后进入消息循环状态。
(4)查询管理模块(M4):
由相应事件驱动消息激活,完成对图书相关信息的查询功能,之后进入消息循环状态。
(5)报表查询管理模块(M5):
由相应事件驱动消息激活,完成图书销售报表查询,之后进入消息循环状态。
(6)数据管理模块(M6):
由相应事件驱动消息激活,对系统相关数据进行操作,之后进入消息循环状态。
第三章系统数据库设计
系统数据库分析:
通过对图书销售管理系统的功能分析我们已知道,图书销售管理系统具有处理图书录入、图书销售、销售统计、查询库存等功能,通过该系统能够帮助用户迅速准确的对已销售图书和剩余库存图书进行统计和销售数据的汇总工作,以此来提高书店的管理效率以及实际操作过程中的准确性。
因此,在该系统的后台就必须得有一个强大的数据库作为其功能的支持。
SQL(StructuredQueryLanguage)作为一门结构化查询语言,是关系数据库的标准语言,也是一个通用的、功能极强的关系数据库语言。
当前,几乎所有关系数据库管理系统软件都支持SQL,而许多的软件厂商也对SQL的基本命令集进行了不同程度的扩充和修改,使用户在对其功能的使用上更加的容易。
所以,在图书销售管理系统的数据库使用上就选择SQL数据库。
系统关系表:
在对图书销售管理系统的功能模块进行了设计的基础上,要使其能够稳定、可靠的实现图书销售的自动化管理,就必须建立关系型数据表,具体关系表如下:
(1)用户信息(Users):
UserID(用户账号)、Password(用户密码)、Quanxian(用户权限);
(2)图书信息(BookInfo):
BookID(图书编号)、BookName(图书名称)、CategoryID(图书类别编号)、Author(图书作者)、Publisher(图书出版社)、PublisherDate(图书出版日期)、Purchase(图书进价)、Price(图书售价)、StockNumber(图书库存数量)、Discount(图书折扣)、Barcode(图书条形码);
(3)图书类别信息(CategoryInfo):
CategoryID(图书类别编号)、CategoryName(图书类别名);
(4)图书销售信息(SakeDetails):
SaleID(销售编号)、BookID(图书编号)、RealSalePrice(销售价格)、SaleNuber(销售数量)、SaleDate(销售日期)。
在系统的实际运行中,使用系统的有三个权限级别的用户,分别是顾客、一般用户(员工)、数据库管理员(DBA),作为游客仅能进入系统查看有限的图书信息。
因此,作为顾客在数据库中没有相关信息记录。
数据库管理员对图书销售管理系统拥有绝对的控制权,而一般用户对系统的控制权有限。
数据库管理员能够动态的添加、删除一般用户且能够根据实际情况对一般用户的信息进行修改。
在数据库管理员登录的系统的同时,一般用户不能进入到系统;相反,在一般用户进入系统后,数据库管理员也不能进入系统。
数据字典:
根据系统需求分析,利用表格方式设计出了以下数据字典:
数据项
数据字典的数据项如下表所示:
编号
数据项名称
数据类型
备注
1
UserID
Nvarchar
用户账号、有唯一值、不能为空、长度为20个字符
2
Password
Nvarchar
用户密码、长度为20个字符
3
Quanxian
Nvarchar
用户权限的划分(管理员、用户)
4
BookID
Int
图书编号、有唯一值、不能为空
5
BookName
Nvarchar
图书名称、
6
CategoryID
Int
图书类别、不能为空
7
Author
Nvarchar
图书作者
8
Publisher
Nvarchar
图书出版社
9
PublishDate
Datetime
图书出版日期
10
Purchase
Money
图书进价
11
Price
Money
图书售价
12
StockNumber
Int
图书库存
13
Discount
Int
图书折扣
14
Barcode
Nvarchar
图书条形码
15
CaigiryName
Nvarchar
图书类别名称
16
SaleID
Int
图书销售日期
17
RealSaleNuber
Money
销售价格
18
SaleDate
Datetime
销售日期
数据结构
数据字典的数据结构如下表:
编号
数据结构名
存储名
别名
属性
备注
1
用户信息表
Users
U
UserID、Password、Quanxian
永久存储
2
图书信息表
BookInfo
B
BookID、BookName、CategoryID、Author、Publisher、PublishDate、Purchase、Price、StockNumber、Discount、Barcode
永久存储
3
图书类别表
CategoryInfo
C
CategoryID、CategoryName
永久存储
4
销售信息表
SaleDetails
S
SaleID、BookID、RealSalePrice、SaleNuber、SaleDate
永久存储
5
图书查询表
虚拟
X
BookID、BookName、CategoryID、Author、Publisher、PublishDate、Price、StockNumber、Discount、Barcode;(均来自B表)
联系
6
分类查询表
虚拟
Y
BookName、CategoryName;(分别来自B、C表)
联系
7
库存查询表
虚拟
Z
BookID、BookName、StockNumber;(均来自B表)
联系
数据流表
数据字典的数据流如下表所示:
数据流名称
数据流来源
数据流去向
组成
备注
添加用户信息
用户输入
U
UserID、Password、Quanxian
删除用户
U
U
UserID、Password、Quanxian
修改密码
U
U
UserID、Password
图书入库信息
用户输入、C
B
BookID、BookName、CategoryID、Author、Publisher、PublishDate、Purchase、Price、StockNumber、Discount、Barcode
图书编辑
B
B
BookID、BookName、CategoryID、Author、Publisher、Publisher、PublishDate、Purchase、Price、StockNumber、Discount、Barcode
图书类别信息添加
用户输入、C
C
CategoryID、CategoryName
图书类别信息修改
C
C
CategoryID、CategoryName
图书信息查询
B
B
BookID、BookName、CategoryID、Author、Publisher、PublishDate、Price、StockNumber、Discount、Barcode
图书分类信息查询
C、B
C
CategoryID、CategoryName、
BookID、BookName
库存信息查询
B
B
BookID、BookName、CategoryID
StockNumber
查询日度报表
S
S
SaleID、BookID、RealSalePrice、SaleNuber、SaleDate
查询月度报表
S
S
SaleID、BookID、RealSalePrice、SaleNuber、SaleDate
查询年度报表
S
S
SaleID、BookID、RealSalePrice、SaleNuber、SaleDate
数据存储
数据字典的数据存储如下表所示:
数据存储名称
物理存储名称
组成
备注
用户表
Users
UserID、Password、Quanxian
实体
图书信息表
BookInfo
BookID、BookName、CategoryID、Author、Publisher、Publisher、PublishDate、Purchase、Price、StockNumber、Discount、Barcode
实体
销售信息表
SaleDetails
SaleID、BookID、RealSalePrice、SaleNuber、SaleDate
实体
图书类别表
CategoryInfo
CategoryID、CategoryName
联系
处理过程
数据字典的处理过程如下表所示:
处理过程名称
输入数据流
处理类容
输出数据流
备注
销售统计
终端输入
已销售的图书编号、名称、价格以及图书类别
S
图书分类统计
C
图书类别编号、图书类别名称
C
图书库存统计
B、C
图书编号、名称、类别以及图书库存数量
C
DBA编辑
U、B、C
用户、图书等常规信息
U、B、C
第四章概念结构设计
经过前面的系统功能需求分析,确定了该图书销售管理系统由用户管理、图书管理、图书类别、查询管理以及销售报表等几大功能模块组成。
下面给出各个功能模块的分析及分E-R图的设计及对其进行的各项调整。
用户管理模块:
经过小组成员对图书销售管理系统的功能分析得出,该系统对用户的设置类型为两种,一种是系统管理员(也即数据库管理员DBA),另一种用户即图书销售管理系统的一般用户(操作员),该图书销售系统的管理员为一个,一般用户(操作员)为多个。
2种用户对系统的功能控制权限不同,具体如下:
A、管理员:
对系统的一般用户进行信息添加、删除,一个系统管理员可以对多个一般用户的信息进行管理;对图书信息进行登记、修改,对图书类别信息进行添加、修改,对图书的各种信息进行查询以及销售报表的查询。
B、操作员:
对自己的用户信息进行修改、对图书的销售进行管理、登记,对图书肚饿各种信息进行查询。
图书管理模块:
图书管理模块的设计是对图书的各种相关信息以及图书的类别信息进行添加、修改等操作,图书信息的添加有系统管理员操作。
A、图书信息:
每一种图书对应着一个图书类别,图书与图书类别之间是多对一的关系。
B、图书类别信息:
一种图书类别由多种不同的图书,图书类别与图书之间是一对多的关系。
C、一个管理员可以添加多种图书,图书与管理员之间是多对一的关系,;一个管理员可以添加多种图书类别信息,图书类别与管理员之间是多对一的关系。
图书销售管理模块:
图书销售管理模块的功能比较单一,其主要功能是让一般用户(操作员)实现对图书销售信息的动态添加,以便于系统用户根据图书的销售情况对图书的销售进行预测,更好的做好图书销售的调整计划。
A、图书销售信息:
每本图书的销售只能由一个操作员来完成,不同图书的销售可以由不同的操作员来完成添加,图书的销售与操作员之间是多对多的关系。
B、一般用户(操作员):
每个操作员可以销售多本不同的图书,操作员与图书销售之间是多对多的关系。
查询管理模块:
查询管理模块的设计使得系统管理员能够动态的根据需要查询各类图书信息以及图书库存信息,能够更好的方便用户对图书做出管理,提高工作效率。
该管理模块分为三个部分即:
图书查询、分类查询、库存查询。
图书查询是根据用户输入的图书名或者图书条形码查找图书的相关信息;分类查询是根据用户输入的图书类别名查找该类别下的所有图书;图书库存查询是根据用户输入的图书编号查找该编号对应的图书名以及图书数量。
A、图书查询:
该查询涉及到的关系表为X表,该查询操作只能同时由一个用户来完成(管理员、操作员),每个系统用户都可以进行查询,该查询与用户之间是多对多的关系。
B、分类查询:
该查询涉及到的关系表位Y表,该查询操作只能同时由一个用户来完成(管理员、操作员),每个系统用户都可以进行查询,该查询与用户之间是多对一的关系。
C、库存查询:
该查询涉及到的关系表位Z表,该查询操作只能同时由一个用户来完成(管理员、操作员),每个系统用户都可以进行查询,该查询与用户之间是多对一的关系。
D、用户:
这里的用户包括管理员和一般用户(操作员),涉及到用户表U,用户可以一次根据查询种类进行多种图书的查询,用户与这三种查询之间是多对多的关系。
图查询管理模块E-R图
报表查询管理模块:
报表查询管理模块的设计使得管理员能够更为方便的查看、打印各类图书的销售统计情况。
该查询模块分为三个查询部分,系统管理员可以根据自己的实际需要选择相应的报表查询种类查看图书销售的统计信息,具体即为:
日度报表查询、月度报表查询、年度报表查询三类。
三类报表查询都是根据系统管理员输入的相关销售时间段来查看在该时间段内所有的图书销售统计情况。
报表查询涉及到的关系表为S表,所涉及到的属性为S表的所有属性,即为:
SaleID、BookID、RealSalePrice、SaleNuber、SaleDate。
再者系统管理员可以对销售报表按日度、月度、年度三类来查询,而销售报表只能够被系统管理员所查询。
所以,系统管理员与报表之间是一对多的关系。
数据管理模块:
图书销售管理系统设计中数据管理模块的设计是为了便于系统用户能够备份系统中的图书信息、图书类别信息、图书销售信息、用户信息等数据以及恢复被系统用户误操作所删除的相关信息,该模块功能的实现主要依靠U、B、S、C四个关系数据表。
图书销售管理系统E-R图:
管理员(UserID、Password、Quanxian);
操作员(UserID、Password、Quanxian);
图书(BookID、CategoryID、BookName、Author、Publisher、PublishDate、Purchase、Price、StockNumber、Discount、Barcode);
图书类别(CategoryID、CategoryName);
图书销售(SaleID、BookID、RealSalePrice、SaleNuber、SaleDate;)
图书查询(BookID、CategoryID、BookName、Author、Publisher、PublishDate、Price、StockNumber、Discount、Barcode);
分类查询(CategoryName、BookName);
库存查询(BookID、BookName、StockNumber);
销售报表(SaleID、BookID、RealSalePrice、SaleNuber、SaleDate)。
第五章逻辑结构设计
与系统E-R图对应的关系模式:
实体所对应的关系模式
管理员(UserID、Password、Quanxian);
操作员(UserID、Password、Quanxian);
图书(BookID、CategoryID、BookName、Author、Publisher、PublishDate、Purchase、Price、StockNumber、Discount、Barcode);
图书类别(CategoryID、CategoryName);
图书销售(SaleID、BookID、RealSalePrice、SaleNuber、SaleDate);
图书查询(BookID、CategoryID、BookName、Author、Publisher、PublishDate、Price、StockNumber、Discount、Barcode);
分类查询(CategoryName、BookName);
库存查询(BookID、BookName、StockNumber);
销售报表(SaleID、BookID、RealSalePrice、SaleNuber、SaleDate)。
说明:
1、下加横线部分表示关系的码;
2、以上关系的详细内容说明请参照概念结构设计中的具体内容;
3、上面的各个关系对概念结构设计中的部分相关内容了作了修改,主要加了各个实体之间的联系。
联系所对应的关系模式:
1)把操作员与图书销售之间的n:
m的销售联系转化为相应的关系模式如下:
销售(SaleID、BookID、RealSalePrice、SaleNuber、SaleDate);
2)把用户与图书查询之间的n:
m的查询联系转化为相应的关系模式如下:
查询(BookID、CategoryID、BookName、Author、Publisher、PublishDate、Price、StockNumber、Discount、Barcode);
3)把用户与分类查询之间的n:
m的查询联系转化为相应的关系模式如下:
查询(CategoryName、BookName);
4)把用户与库存查询之间的n:
m的查询联系转化为相应的关系模式如下:
查询(BookID、BookName、StockNumber);
5)其他联系处理说明如下:
管理员与操作员之间的1:
n联系与用户关系合并;
管理员与图书之间的1:
n联系与图书关系合并;
管理员与图书类别之间的1:
n联系与图书类别关系合并;
管理员与销售报表之间的1:
n联系与销售关系合并。
关系模式优化处理:
按照数据依赖对关系模式进行逐一分析,并进行极小化处理:
管理员(UserID、Password、Quanxian)BCNF;
操作员(UserID、Password、Quanxian)BCNF;
图书(BookID、CategoryID、BookName、Author、Publisher、PublishDate、Purchase、Price、StockNumber、Discount、Barcode)BCNF;
图书类别(CategoryID、CategoryName)BCNF;
图书销售(SaleID、BookID、RealSalePrice、SaleNuber、SaleDate)BCNF;
图书查询(BookID、CategoryID、BookName、Author、Pub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 销售 管理 系统 数据库 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)