数据库课程设计书店管理系统.docx
《数据库课程设计书店管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计书店管理系统.docx(14页珍藏版)》请在冰点文库上搜索。
![数据库课程设计书店管理系统.docx](https://file1.bingdoc.com/fileroot1/2023-6/19/85d44cb5-0421-4e5a-a883-032b3e7dab6a/85d44cb5-0421-4e5a-a883-032b3e7dab6a1.gif)
数据库课程设计书店管理系统
《数据库原理及应用》
课程设计报告
设计题目:
书店管理系统数据库设计
1数据库需求分析………………………………………………………………………2
1.1调查对象基本情况说明…………………………………………………………2
1.2数据库系统设计目标及具体功能………………………………………………2
2数据库概念结构设计…………………………………………………………………2
2.1实体及属性说明…………………………………………………………………2
2.2E-R图设计………………………………………………………………………3
3数据库逻辑结构设计…………………………………………………………………3
3.1数据库逻辑结构设计……………………………………………………………3
3.2主要表的作用说明及内容图示…………………………………………………4
4主要视图设计…………………………………………………………………………6
5安全体系设计…………………………………………………………………………8
6典型需求的处理过程及命令…………………………………………………………9
7总结……………………………………………………………………………………10
7.1设计中遇到的主要问题及解决方法……………………………………………10
7.2设计方案的主要优点及不足……………………………………………………11
7.3收获及建议………………………………………………………………………11
参考文献…………………………………………………………………………………11
书店管理系统数据库设计
1数据库需求分析
1.1调查对象基本情况说明
书店正常经营所涉及的的基础信息,如:
库存如:
仓____________________________________________________________________________________________________________________________、图书、进销书、业务员信息等是一个书店最基本、最重要的信息,需要有完整的图书信息及价格定位,详细的进书及销售情况的统计,图书库存情况以及工作人员的基本资料,具备这些资料,书店才能正常经营,一个最基本的书店管理系统应具备功能来存储并管理这些资料。
各子系统应能根据实际情况来录入、更改、删除相关数据。
不同的工作人员应拥有有对不同子模块数据的修改、管理职能。
1.2数据库系统设计目标及具体功能
该系统通过相关子模块功能来实现对书店基本信息的存储和管理。
实现对各个领域的数据查询、统计、更新。
相关子模块的功能为:
入库信息——进新书时,对具体书目的入库工作做详细记录,管理书店的进书业务;
书目信息——当书店进新书后,存储这些书目的基本信息,以便维护书目信息,查阅并管理书目;
业务员信息——存储书店工作人员的基本情况资料和职能,以便多书店人力资源的方便有效管理;
库存情况——对书店现有书籍的库存情况进行记录,并随销售业务的进行而实现数据变更,为书目的进销提供参考依据;
价格信息——为方便的分析不同书目的盈利情况和总利润及书店后期经营的价格安排提供参考;
销售信息——提供经营做记录,以了解分析经营情况;
权限设置——该项设置是针对书店工作人员而设,对不同工作性质的业务员赋予对系统分模块的更新管理权利,以实现书店的顺利经营。
2数据库概念结构设计
2.1实体及属性说明
本系统的数据库设计主要建立了六个表,每个表对应的实体及属性列举如下:
书目信息(书目编号,书目名称,作者,出版社,上架类型)
业务员信息(姓名,性别,年龄,联系电话,职责)
入库信息(书目编号,入库数量,供应商,入库时间,受理员)
库存情况(书目编号,入库量,当前库存量,管理员)
价格信息(书目编号,进书价格,出售价格)
销售信息(书目编号,售出册数,受理员,销售时间)
2.2E-R图设计
根据各项信息实体之间的联系,将实体及其部分主要属性设计成E-R图如下
3数据库逻辑结构设计
3.1数据库逻辑结构设计
该书店管理数据库系统中,所设计的联系及参照为:
入库、库存、销售的受理员必须为已存在的业务员,销售的书目必须为有库存的书目,库存书目应对应入库书目,同时价格信息、书目信息、入库信息中的书目编号必须相对应。
逻辑关系图表示如下:
3.2主要表的作用说明及内容图示
(注:
信息数据仅供参考)
存储书店所有工作人员的基本信息
记录进书情况,可插入新数据
进书后,存储书目信息,可插入,更改数据
所有书目的价格定位,可更改
记录所有库存情况,随进书和销售业务而变更数据
将每次销售业务进行记录,可插入新数据
4主要视图设计
(1)销售利润视图
作用:
先分析单本书目的盈利视图,在此视图的基础上建立所有书目的销售及利润情况,以供查询,为总结前期经营和后期经营调整提供参考依据
CREATEVIEW单本盈利(书号,书名,单本盈利)
AS
SELECT书目信息.书目编号,书目名称,出售价格-进书价格
from书目信息,价格信息
where书目信息.书目编号=价格信息.书目编号
CREATEVIEW销售利润(书号,书名,售出册数,利润,销售时间)AS
SELECT书号,书名,售出册数,单本盈利*售出册数,销售时间
FROM单本盈利,销售信息
WHERE销售信息.书目编号=单本盈利.书号
(2)书目管理视图
作用:
提供书目的进单到库存的所有受理情况,以方便的管理所有书目
CREATEVIEW书本管理(书号,书名,进单时间,进单量,进单员,库存管理员)
ASSELECT书目信息.书目编号,书目名称,入库时间,入库数量,入库信息.受理员,库存情况.管理员
FROM书目信息,库存情况,入库信息
WHERE书目信息.书目编号=库存情况.书目编号
AND书目信息.书目编号=入库信息.书目编号
(3)部门工作绩效视图
作用:
提供某部门所有工作人员的工作情况及绩效,以便实现对人力资源的有效管理,本视图以销售部门为例
CREATEVIEW销售员工作绩效AS
SELECT销售信息.受理员AS姓名,销售利润.书名AS售出书目,销售利润.售出册数,
销售利润.利润,销售利润.销售时间
FROM销售利润INNERJOIN
销售信息ON销售利润.书号=销售信息.书目编号AND
销售利润.销售时间=销售信息.销售时间
5安全体系设计
(1)先对书店的工作人员建立权限,使工作人员能按密码登陆数据库系统,并在用户中建立信息
(2)对可访问数据库的登陆用户(书店工作人员)针对其不同工作领域,对不同的子系统进行授权,使其只能在自己可管理的表项内更新、管理数据。
①GRANTINSERTONTABLE入库信息TO刘云山,李杨,周敏
2GRANTSELECT,__________________________________________________________________________________________________________________________INSERTONTABLE销售信息TO陈宇林,张芸京,李杨
3GRANTINSERT,UPDATEONTABLE库存信息TO石康,汪林跃
4……
(3)建立视图机制,以供查询和保密,见:
主要视图设计
6典型功能处理过程设计
(1)业绩查询
A、查询月份销售总利润
SELECT书名,售出册数,利润
FROM销售利润
WHERE(YEAR(销售时间)>2010)
SELECTSUM(利润)AS元月销售总利润
FROM销售利润
WHERE(YEAR(销售时间)>2010)
B、查询某天销售情况
SELECT售出书目,售出册数,姓名AS受理员,销售时间
FROM销售员工作绩效
WHERE(销售时间='2011/1/3')
(2)书目管理
查询某本书的进单、库存管理、销售情况
SELECT*
FROM书本管理
where书名='射雕英雄传'
(3)人力管理
A、查询某工作领域的业务员的工作绩效
SELECT入库信息.受理员AS姓名,书目信息.书目名称,入库信息.入库数量,
入库信息.入库时间
FROM入库信息INNERJOIN
书目信息ON入库信息.书目编号=书目信息.书目编号
ORDERBY姓名,入库时间
B、员工不再工作,回收权限,并清除员工信息
REVOKEINSERTONTABLE入库信息FROM李杨
DELETEFROM业务员信息WHERE姓名=’李杨’
7总结
7.1设计中遇到的主要问题及解决方法
在本次书店管理系统数据库设计中,我遇到的最主要的问题在于数据库结构设计构部分,在设计逻辑结构时,由于对参照和关系约束的掌握不太好,所以往往产生冲突。
例如,由于书目信息要参照入库信息,所有业务的属性项受理员要参照业务员信息表中的数据,有时被参照关系(入库信息、业务员信息)数据没有完全输入,在输入参照关系(书目信息、销售、库存)时就会产生错误,这时就会麻烦的多。
我采取的解决方法是打开关系图界面,详细检查某两个表之间主键与外键约束是否正确,然后再按照参照完整性来输入数据,这样就避免了错误。
还有的困难在于对相关操作的命令有所遗忘,建立视图时,命令中往往出现语法错误,这时我就会查询课件和书本,按正确格式来输入操作命令。
7.2设计方案的主要优点及不足
整体来看,本书店管理数据库系统能完整的保存相关书目信息、工作人员信息、和业务登记,能从中清晰地提取数据,反映和管理书店经营,但由于我的数据库设计能力、SQL的运用能力还很有限,所以在系统的细节方面,还存在有许多漏洞和不足,例如,在统计销售信息时存在数据冗余的情况,另外,当实现了一项销售业务时,库存信息并不能自动更新,需要人工来更新数据,这样增大了人工需求,有点繁琐,还需要改进系统来简化操作。
7.3收获及建议
在老师、同学们的悉心指导和帮助之下,我完成了本次课程设计。
通过书店信息管理系统课题的开发,我学习到了很多的东西,在系统设计能力上得到了很大的提高,对SQLserver的了解和掌握更加深入,而且对数据库设计有了更深刻的认识。
从本次设计中我得到了许多经验,对于具体的设计工作:
首先,设计的思路必需清晰,必须要尽可能详细的了解到用户需求,要对系统各个子模块之间的关系非常清楚。
其次,操作命令要规整,结构清晰,要有良好的可读性,以便产生错误时检查和纠正。
再者,对于数据库课程设计,我还有自己的建议,由于时间仓促,加之自己要单独完成任务,设计中针对错误的解决往往感到力不从心。
所以我提议应该扩充课设的时间,或者可以让同学成立两人组成的设计小组,在短时间内完成任务时可以合作进行,这样,也能很好的解决错误,减少系统漏洞,使开发的数据库系统更具健壮性、实用性。
参考文献
[1]王珊,萨师宣.数据库系统概论(第四版).北京:
高等教育出版社,2006.
[2]王建仁.数据库系统概论课件,2010.
[3]肖慎勇.SQLServer数据库管理与开发.北京:
清华大学出版社.2006