数据库原理及应用-书店管理系统数据库设计

上传人:ni****g 文档编号:563423966 上传时间:2023-01-22 格式:DOC 页数:11 大小:233.50KB
返回 下载 相关 举报
数据库原理及应用-书店管理系统数据库设计_第1页
第1页 / 共11页
数据库原理及应用-书店管理系统数据库设计_第2页
第2页 / 共11页
数据库原理及应用-书店管理系统数据库设计_第3页
第3页 / 共11页
数据库原理及应用-书店管理系统数据库设计_第4页
第4页 / 共11页
数据库原理及应用-书店管理系统数据库设计_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《数据库原理及应用-书店管理系统数据库设计》由会员分享,可在线阅读,更多相关《数据库原理及应用-书店管理系统数据库设计(11页珍藏版)》请在金锄头文库上搜索。

1、目 录1数据库需求分析 21.1调查对象基本情况说明 21.2数据库系统设计目标及具体功能 22数据库概念结构设计 22.1实体及属性说明 22.2 E-R图设计 33数据库逻辑结构设计 33.1数据库逻辑结构设计 33.2主要表的作用说明及内容图示 44主要视图设计 65安全体系设计 86典型需求的处理过程及命令 97总结 107.1设计中遇到的主要问题及解决方法 107.2设计方案的主要优点及不足 117.3收获及建议 11参考文献 11书店管理系统数据库设计1数据库需求分析1.1调查对象基本情况说明 书店正常经营所涉及的的基础信息,如:库存如:仓、图书、进销书、业务员信息等是一个书店最基

2、本、最重要的信息,需要有完整的图书信息及价格定位,详细的进书及销售情况的统计,图书库存情况以及工作人员的基本资料,具备这些资料,书店才能正常经营,一个最基本的书店管理系统应具备功能来存储并管理这些资料。各子系统应能根据实际情况来录入、更改、删除相关数据。不同的工作人员应拥有有对不同子模块数据的修改、管理职能。1.2数据库系统设计目标及具体功能该系统通过相关子模块功能来实现对书店基本信息的存储和管理。实现对各个领域的数据查询、统计、更新。相关子模块的功能为:入库信息进新书时,对具体书目的入库工作做详细记录,管理书店的进书业务;书目信息当书店进新书后,存储这些书目的基本信息,以便维护书目信息,查阅

3、并管理书目;业务员信息存储书店工作人员的基本情况资料和职能,以便多书店人力资源的方便有效管理;库存情况对书店现有书籍的库存情况进行记录,并随销售业务的进行而实现数据变更,为书目的进销提供参考依据;价格信息为方便的分析不同书目的盈利情况和总利润及书店后期经营的价格安排提供参考;销售信息提供经营做记录,以了解分析经营情况;权限设置该项设置是针对书店工作人员而设,对不同工作性质的业务员赋予对系统分模块的更新管理权利,以实现书店的顺利经营。2数据库概念结构设计2.1实体及属性说明本系统的数据库设计主要建立了六个表,每个表对应的实体及属性列举如下:书目信息(书目编号,书目名称,作者,出版社,上架类型)业

4、务员信息(姓名,性别,年龄,联系电话,职责)入库信息(书目编号,入库数量,供应商,入库时间,受理员)库存情况(书目编号,入库量,当前库存量,管理员)价格信息(书目编号,进书价格,出售价格)销售信息(书目编号,售出册数,受理员,销售时间)2.2 ER图设计根据各项信息实体之间的联系,将实体及其部分主要属性设计成E-R图如下1111nnn1n书目信息书目编号书目名称作者出版社上架类型进书入库信息库存情况销售信息销售存放入库数量供应商入库时间受理员价格进书价格售出价格入库量当前库存量书目编号售出册数书目编号业务业务员信息姓名性别年龄联系电话13数据库逻辑结构设计3.1数据库逻辑结构设计该书店管理数据

5、库系统中,所设计的联系及参照为:入库、库存、销售的受理员必须为已存在的业务员,销售的书目必须为有库存的书目,库存书目应对应入库书目,同时价格信息、书目信息、入库信息中的书目编号必须相对应。逻辑关系图表示如下:3.2主要表的作用说明及内容图示 (注:信息数据仅供参考)存储书店所有工作人员的基本信息记录进书情况,可插入新数据进书后,存储书目信息,可插入,更改数据所有书目的价格定位,可更改记录所有库存情况,随进书和销售业务而变更数据将每次销售业务进行记录,可插入新数据4主要视图设计(1)销售利润视图作用:先分析单本书目的盈利视图,在此视图的基础上建立所有书目的销售及利润情况,以供查询,为总结前期经营

6、和后期经营调整提供参考依据CREATE VIEW 单本盈利(书号,书名,单本盈利)ASSELECT 书目信息.书目编号,书目名称,出售价格-进书价格from 书目信息,价格信息where 书目信息.书目编号=价格信息.书目编号CREATE VIEW 销售利润(书号, 书名, 售出册数, 利润, 销售时间) ASSELECT 书号,书名, 售出册数,单本盈利 * 售出册数,销售时间FROM 单本盈利, 销售信息WHERE 销售信息.书目编号=单本盈利.书号(2)书目管理视图作用:提供书目的进单到库存的所有受理情况,以方便的管理所有书目CREATE VIEW 书本管理(书号, 书名, 进单时间,进

7、单量, 进单员, 库存管理员)AS SELECT 书目信息.书目编号, 书目名称, 入库时间, 入库数量,入库信息.受理员, 库存情况.管理员FROM 书目信息, 库存情况,入库信息WHERE 书目信息.书目编号 = 库存情况.书目编号 AND 书目信息.书目编号 = 入库信息.书目编号(3)部门工作绩效视图作用:提供某部门所有工作人员的工作情况及绩效,以便实现对人力资源的有效管理,本视图以销售部门为例CREATE VIEW 销售员工作绩效 ASSELECT 销售信息.受理员 AS 姓名, 销售利润.书名 AS 售出书目, 销售利润.售出册数, 销售利润.利润, 销售利润.销售时间FROM 销

8、售利润 INNER JOIN 销售信息 ON 销售利润.书号 = 销售信息.书目编号 AND 销售利润.销售时间 = 销售信息.销售时间5安全体系设计(1)先对书店的工作人员建立权限,使工作人员能按密码登陆数据库系统,并在用户中建立信息 (2)对可访问数据库的登陆用户(书店工作人员)针对其不同工作领域,对不同的子系统进行授权,使其只能在自己可管理的表项内更新、管理数据。 GRANT INSERT ON TABLE 入库信息 TO 刘云山, 李杨, 周敏 GRANT SELECT,INSERT ON TABLE 销售信息 TO 陈宇林,张芸京,李杨 GRANT INSERT,UPDATE ON

9、TABLE 库存信息 TO 石康,汪林跃 (3)建立视图机制,以供查询和保密,见:主要视图设计6典型功能处理过程设计(1) 业绩查询A、 查询月份销售总利润SELECT 书名,售出册数,利润FROM 销售利润WHERE (YEAR(销售时间) 2010)SELECT SUM(利润) AS 元月销售总利润FROM 销售利润WHERE (YEAR(销售时间) 2010) B、 查询某天销售情况SELECT 售出书目,售出册数,姓名 AS 受理员,销售时间FROM 销售员工作绩效WHERE (销售时间 = 2011/1/3)(2) 书目管理查询某本书的进单、库存管理、销售情况SELECT *FROM

10、 书本管理where 书名=射雕英雄传(3) 人力管理A、查询某工作领域的业务员的工作绩效SELECT 入库信息.受理员 AS 姓名, 书目信息.书目名称, 入库信息.入库数量, 入库信息.入库时间FROM 入库信息 INNER JOIN 书目信息 ON 入库信息.书目编号 = 书目信息.书目编号ORDER BY 姓名,入库时间 B、员工不再工作,回收权限,并清除员工信息 REVOKE INSERT ON TABLE 入库信息 FROM 李杨 DELETE FROM 业务员信息 WHERE 姓名=李杨7总结7.1 设计中遇到的主要问题及解决方法在本次书店管理系统数据库设计中,我遇到的最主要的问

11、题在于数据库结构设计构部分,在设计逻辑结构时,由于对参照和关系约束的掌握不太好,所以往往产生冲突。例如,由于书目信息要参照入库信息,所有业务的属性项受理员要参照业务员信息表中的数据,有时被参照关系(入库信息、业务员信息)数据没有完全输入,在输入参照关系(书目信息、销售、库存)时就会产生错误,这时就会麻烦的多。我采取的解决方法是打开关系图界面,详细检查某两个表之间主键与外键约束是否正确,然后再按照参照完整性来输入数据,这样就避免了错误。还有的困难在于对相关操作的命令有所遗忘,建立视图时,命令中往往出现语法错误,这时我就会查询课件和书本,按正确格式来输入操作命令。7.2 设计方案的主要优点及不足整

12、体来看,本书店管理数据库系统能完整的保存相关书目信息、工作人员信息、和业务登记,能从中清晰地提取数据,反映和管理书店经营,但由于我的数据库设计能力、SQL的运用能力还很有限,所以在系统的细节方面,还存在有许多漏洞和不足,例如,在统计销售信息时存在数据冗余的情况,另外,当实现了一项销售业务时,库存信息并不能自动更新,需要人工来更新数据,这样增大了人工需求,有点繁琐,还需要改进系统来简化操作。7.3 收获及建议在老师、同学们的悉心指导和帮助之下,我完成了本次课程设计。通过书店信息管理系统课题的开发,我学习到了很多的东西,在系统设计能力上得到了很大的提高,对SQL server的了解和掌握更加深入,而且对数据库设计有了更深刻的认识。从本次设计中我得到了许多经验,对于具体的设计工作:首先,设计的思路必需清晰,必须要尽可能详细的了解到用户需求,要对系统各个子模块之间的关系非常清楚。其次,操作命令要规整,结构清晰,要有良好的可读性,以便产生错误时检查和纠正。再者,对于数据库课程设计,我还有自己的建议,由于时间仓促,加之自己要单独完成任务,设计中针对错误的解决往往感到力不从心。所以我提议应该扩充课设的时间,或者可以让同学成立两人组成的设计小组,在短时间内完成任务时可以合作进行,这样,也能很好

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号