资源描述
文档数据库原理课程设计 某书店图书进货、销售管理系统学校:某某大学 学院:计算机与电子信息学院 班级:网络131班 组长:何鑫1307300313 组员:方焕1307300304 指导教师:叶进22 / 22目录一需求分析.2.21.2 背景.21.3 可行性分析.31.4 系统总体的功能需求.3二概念结构设计.32.1 概念结构设计步骤.42.2 局部E-R图.42.3 整体E-R图.8 2.4 物理结构设计.9三数据库的实施和维护.113.1 建立数据库.11 3.2 根据结构设计建表.12 3.3 载入数据.15 3.4 创建存储过程.16 3.5 查询与统计功能.18 3.6 触发器脚本.18 3.7 视图脚本.19 3.8 约束.20四测试.21五总结.23数据库开发与设计在科学飞速开展的今天,人们的视野越来越广,数据量急剧增加。过去人们把数据存放在文件柜,现在人们借助计算机和数据库技术科学的保管和管理大量的复杂数据,以便方便而充分的利用这些宝贵的信息资源。本系统的设计目的就是为中小型书店提供一套运行稳定、安全可靠、操作方便的管理系统。帮助书店销售业务处理日常工作业务,规管理各项工作和操作流程。从根本上改变以前那种旧的管理模式,真正提高管理和服务水平。随着社会信息量的迅速增长,计算机处理的数据量不断增加,在我国,管理信息系统是计算机应用最广泛的领域之一。随着我国经济建设突飞猛进,管理科学化与管理手段的现代化已经提到非常重要的地位,企、事业单位为了提高自身的管理水平和竞争能力,纷纷投入人力物力,开发适合本单位需求的管理信息系统。中国的信息化沿着企业信息化和政府信息化这两根链条正在飞速的开展,在全国的各级教育单位中,都在进展管理方式的改革,由以前的人工管理方式在向现在的人工加计算机技术的过渡中,在现在的这种模式中可以很大的提高工作人员的工作效率,提高了正确性。在传统模式下利用人工进展图书销售信息管理,存在着较多的缺点,如:效率底,性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令书店管理者对图书的信息管理带来了很大困难,严重影响了书店的经营效率。随着科学技术的不断提高,计算机科学日渐成熟, 使用先进的计算机技术来代替传统的人工模式,来实现信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一局部,使用计算机对图书销售信息进展管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、性好、寿命长、本钱低、便于打印等。这些优点能够极提高图书销售信息管理的效率,也是书店的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。1.3 可行性分析可行性分析的任务是明确开发应用项目的必要性和可行性。必要性来自实现开发任务的迫切性,而可行性如此取决于实现应用系统的资源和条件。但如果领导或管理人员对信息系统的需求很不迫切,或者条件尚不具备,就是不可行。下面从系统的经济可行性、管理可行性、技术可行性等对本系统开发进展可行性分析,看可行与否。(1) 经济上的可行性科学技术的开展和人们生活水平的不断提高,计算机的价格越来越能被很多人所承受,不管是在企业还是家庭,计算机的使用已经成为普遍现象,所以从用户经济方面考虑,本系统的开发不会有很大的困难和风险,且系统本身本钱较低,不需要很多的开发费用和以后的维护费用。(2) 管理上的可行性该书店图书销售管理系统是鉴于目前书店图书信息的剧增,读者市场对图书的呈爆炸性增长的前提下,书店对图书销售管理的自动化与准确化的要求日益强烈的背景下构思出来的,操作简单、方便,便于管理,并且书店有关管理者均同意该系统的开发、使用,相应的管理制度改革的时机也已成熟,规章制度齐全,提供的原始数据也很准确,所以,从管理上来说,是可行的。14系统总体的功能需求某书店需要一套信息管理系统辅助完成图书销售业务,该图书销售系统业务主要实现:(1) 图书类别、图书、仓库信息的管理; (2) 实现进货、入库管理; 实现销售、出库管理; (3) 创建存储过程查询某段时间各种图书的进货和销售情况;(4) 创建视图查询各类图书的库存总数; (5) 创建触发器当图书入库时自动修改相应图书的总量和存放仓库中该图书 的数量; (6) 要求一单可以处理多种图书比如销售设置销售单与其明细两个表; 建立数据库相关表之间的参照完整性约束。 一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。将E-R模型转换为关系模型转换原如此:一个1:1联系可以转换为一个独立的关系,也可以与任意一段对应的关系模式合并。如果转化为一个独立的关系模式,如此与该联系相连的各个实体的码以与联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一个实体对应的关系合并,如此需要在该关系模式的属性中参加另一个关系的主码和联系本身的属性。一个m:n的联系可以转化为一个单独的关系模式,这个单独的关系模式的主码是两端实体的码,再加上联系的属性。一个1:n联系可以转化为一个独立的关系模式,也可以与n端的关系模式合并作如果与n端的关系模式合并,在n端的关系模式中加上另一端关系的码和联系属性。第一步是进展局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。因此我们们先逐一的设计分E-R图。第二步是进展视图的集成:各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,得到全局概念模型。2.2 局部E-R图进货 书店处理 库内图书“处理联系细化E-R图 书店 书店 书店销售退书处理库内图书库内图书 库内图书3. 库图书实体属性图图书ISBN码 库内图书作者图书信息图书名图书种类库存量4. 供应商实体属性图 地址名称联系人5. 供应图书报价-书店-供应商“进货联系的属性图图书ISBN编码进货数量进货日期进货价格进货编号 书店 进货6. 书店-库图书 “销售联系的属性图销售数量销售时间图书ISBN编码销售价格销售编号 库内图书销售 书店7. 书店-库图书 “退书联系的属性图退书时间退书数量退书信息图书ISBN编码退书编号 库内图书 书店退书 账户 某某 密码 管理员8.“管理员属性图2.3 整体E-R图2.4 物理结构设计信息表字段名数据类型字段大小是否允许空备注char20N主键地址char20NChar12N联系人Char10N库图书信息表字段名数据类型字段大小是否允许空备注图书ISBN编码intN主键图书种类Char10N图书名Char20NChar20N外键库图书量intY作者Char20N图书信息char200Y 销售信息表字段名数据类型字段大小是否允许空备注销售编号intN主键图书ISBN编码intY外键销售时间datatimeN销售数量intN销售价格moneyN 进货信息表字段名数据类型字段大小是否允许空备注进货编号intN主键intY外键图书ISBN编码intN外键进货日期datatimeN进货价格moneyN进货数量intN退书信息表字段名数据类型字段大小是否允许空备注退书编号Char20N主键图书ISBN编码Char14N外键退书时间DataN退书数量MoneyN退书信息IntegerN管理员信息表字段名数据类型字段大小是否允许空备注Char20N编号Char10N主键密码char10N三数据库的实施和维护3.1 建立数据库根据以下代码建立数据库:CREATE DATABASE 书店进货销售管理系统ONNAME = order_dat, FILENAME = , SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5)LOG ON NAME = order_log, FILENAME = , SIZE = 10MB, MAXSIZE =30MB, FILEGROWTH = 5MB)3.2 根据结构设计建表CREATETABLE信息表(char(20)primarykey,地址char(20),char(20),联系人char(20)CREATETABLE图书类别表(类别号char(20)primarykey,类别char(20),类别信息char(20),备注char(20)CREATETABLE图书信息表(图书号char(20)primarykey,图书名char(20),char(20)CONSTRAINTFK_1foreignkeyreferences信息表(),类别号char(20)CONSTRAINTFK_2foreignkeyreferences图书类别表(类别号),作者char(20),备注char(20)CREATETABLE进货订单(进货单号char(20)primarykey,进货者char(20),备注char(20)CREATETABLE销售订单(销售单号char(20)primarykey,购置者char(20),备注char(20)CREATETABLE进货详情表(进货项号char(20)primarykey,进货单号char(20)CONSTRAINTFK_3foreignkeyreferences进货订单(进货单号),图书号char(20)CONSTRAINTFK_4foreignkeyreferences图书信息表(图书号),图书数量char(20),进货日期date,进货价格char(20),备注char(20)CREATETABLE销售详情表(销售项号char(20)primarykey,销售单号char(20)CONSTRAINTFK_5foreignkeyreferences销售订单(销售单号),图书号char(20)CONSTRAINTFK_6foreignkeyreferences图书信息表(图书号),图书数量char(20),销售日期date,销售价格char(20),备注char(20)CREATETABLE库存信息表(图书号char(20)CONSTRAINTFK_7foreignkeyreferences图书信息表(图书号),图书数量char(20),入库信息char(20),出库信息char(20),备注char(20),)3.3 载入数据(1)图书类型(2)(3) 图书信息表(4) 仓库(5) 进货、入库(6) 销售、出库7图书类别视图3.4 创建存储过程(1)某段时间进货查询CREATEprocedurebuysearch起始时间date,完毕时间dateasbeginSELECT*from进货详情表where进货日期=起始时间and进货日期=起始时间and销售日期=终止时间end;3.5查询与统计功能-每月的销售总额和销售总量Create Proc QueryBookdate CHAR(10)As Select Sum(SellNum) as TotalNuns,Sum(Sprice) as TotalSales From SellOut Where DateDiff(mm,date,SDate)=0-每月销售的排行榜Create Proc BookBackdate smalldatetimeAs From Book b inner join SellOut s-按月查卖了多少本书Create Proc QueryMonth date smalldatetimeAs Begin Select b.Bname,Sum(b.Bnum) From Book as b inner join SellOut as s Where Datediff(mm,date,s.SDate)=0 End触发器脚本-使用触发器,实现新书在书库中的插入工作和图书数量修改CreateTrigger进货On进货详情表FORInsertAsdeclarenintSelectn=图书号frominserteddeclarenumintSelectnum=图书数量FrominsertedUpdate库存信息表set图书数量=图书数量+numWhere图书号=nCreateTrigger销售On销售详情表FORInsertAsdeclarenintSelectn=图书号frominserteddeclarenumintSelectnum=图书数量FrominsertedUpdate库存信息表set图书数量=图书数量-numWhere图书号=n视图脚本Create View SBookAsSelect Publisher,BookID, Bname,20-Bnum as Num From Book where Bnum5 -小于本时就定本书 Group by Publisher, BookID, Bname, 20-BnumCreate Proc SelectBookAsBegin Select* From SBook Insert Into BuyIn From SBook as vEnd-建立查询供应商信息的视图create view Provider_viewasselect ProviderID,Paddress,Pphone,Pcontacter,Pnamefrom Provider-建立查询书籍信息视图create view Book_viewasselect BookID,ProviderID,Bkind,Bname,Bpublish,Bnumfrom Book四测试4.1 测试的目的1、软件测试是为了发现缺陷而执行的过程。2、测试是为了证明程序中的错误,而不是证明程序中无错误。3、一个好的测试用例指的是它可能发现至今尚未被发现的缺陷。4、一次成功的测试指的是发现了新的软件缺陷的测试。这种观点主要目的:测试要以查找缺陷为中心,而不是为了演示软件能够正确运行。但是发现缺陷并不是软件测试的唯一目的。通过分析缺陷产生的原因和缺陷的分布特征,可以帮助程序员发现软件开发过程的不足,以便与时改良。项目名称:某书店图书进货、销售管理系统1程序运行环境已经正确设定。是程序代码检查:1程序单位首部有程序说明和修改备注。 是2变量、过程、函数命令符合规如此。是3程序中有足够的说明信息。是4修改注释符合要求。是5类库的使用符合要求。是画面与报表格式检查:1画面和报表格式符合规定需求。是2程序命名符合格式需求。是3画面和报表的字段位置和宽度与设计文档一致。是功能测试:1多画面之间切换正确。 是2功能键、触发键、按钮、菜单、选择项功能正确。是3数据项关联与限制功能正确。 是正确性测试:1读/写/删除操作结果正确。是2各种组合条件之查询或报表正确。是3设计文档规定的其它操作。是可靠性测试:1非法键容错测试。是2异常字符容错测试。 是3程序负作用检查。 是五总结通过这次的数据库验证体系课,学到了很多实际应用的东西。平时只是一味的学习理论知识,很少能有亲手实践做系统的时间,这次的课教会了我们怎样去着手做一个系统,怎样团队合作,怎样去一步一步构建一个系统等等。在开始做这个图书销售管理系统的时候我们对其用处都不清楚,流程图都画不出来,最后经过讨论分析重复的去尝试,最终把数据流图花了出来,也有了一些成就感。接下来的E-R图,关系逻辑模型都慢慢摸索了出来,并且把平时学的理论知识和上机实践结合在了一起。从做整个系统开始,我们发现原来做一个系统是多么的不容易,首先是对整个系统的理解和分析,然后把这个系统的构架想象出来,再把这个构架去填充完整,使其成为一个能够运行的完整的系统。 通过这次做书店管理销售系统,我们也发现了很多问题,很多是我们眼高手低,总以为会了,但是实际行动时才知道欠缺了许多东西。当然这次做系统学会了很多,相信对我们以后的学习甚至是工作都有用处。希望今后能有更多的机会去做系统,去亲手实践。当然了,我们还要继续努力学习,毕竟学习是没有终点的,更加期待下学期的学习。
展开阅读全文