1、郑州轻工业学院课 程 设 计 任 务 书题 目:图书馆管理系统设计姓 名:院(系):专业班级:学 号:指导教师:时 间:2016/1/11-2016/1/17 数据库原理课程设计报告前言 近几年来,计算机领域发展迅猛。尤其是管理信息系统,可以说是计算机应用最广泛的领域之一。这些年,人们的视野越来越宽广,数据量急剧增加。 本系统的设计目标就是要为中小型书店提供一套运行稳定、安全可靠、操作简便的管理系统。帮助书店销售业务处理日常工作业务,规范管理各项工作和操作流程。使用计算机对图书销售信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、
2、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高图书销售信息管理的效率,也是书店的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情1)设计题目名称 某书店图书进货、销售管理系统2) 系统概述某书店需要一套信息管理系统辅助完成图书销售业务,该图书销售系统业务主要包括进货、退货、入库、出库、统计、销售、查询功能,实现图书类别、出版社、图书、仓库信息的管理;实现进货、入库管理; 实现销售、出库管理;创建存储过程查询某段时间内各种图书的进货和销售情况; 创建视图查询各类图书的库存总数; 创建触发器,当图书入库时自动修改相应图书的总量和存放仓库中该图书的
3、数量; 要求一单可以处理多种图书,比如销售设置销售单及其明细两个表;建立数据库相关表之间的参照完整性约束。3) 系统功能模块设计 可以将书店图书进货、销售管理系统分为两个模块 系统管理员模块、普通管理员模块系统结构图如下所示:书店图书进货、销售管理系统系统管理员普通管理员库存管理备份与恢复权限设置更改密码销售管理数据统计33主要功能模块介绍1进货信息模块介绍 一次可进多本书,一间书店对应不同的供应商,可根据报价选择供应商,进货在进货信息表中记录进货信息,同时修改库存图书记录,如已存在该书修改库存量,不存在插入新书。系统的后台程序可以根据商品的销售情况提供给管理员一份详细的分析报告。管理员可以根
4、据该报告及时的调整热门书籍的进货,对非热门的书籍进行价格调整。 进货如图所示:I:输入要查询的书名信息F:把更新信息保存到数据库O:生成新的书籍信息2.库存信息模块介绍 根据销售情况,进货情况,随时更改书籍库存信息,库存信息模块如图所示I:输入要查询的书名信息F:把更新信息保存到数据库O:生成新的书籍信息3.销售管理模块介绍 销售情况查询是系统编码过程中非常重要部分,能够为企业管理者的决策提供参考的信息。 管理员登录后,可以得到详细的销售情况列表并及时更新热门书籍的信息,可以根据销售的走势和以往的销售记录及时判断部分商品可能会出现库存不足并及时进货。销售情况查询功能如图:I:输入要查询的条件F
5、:根据条件到数据库中查询将记录更新到数据库O:给出详细的查询结果4.书籍信息管理模块 普通管理员可以对系统所有的书籍进行查询,包括商品价格地调整,商品描述信息的更新,新商品的加入及过期商品的删除。I:输入要更改商品的信息F:把更新信息保存到数据库O:生成新的书籍信息5.数据统计模块 某段时间内各种图书的进货和销售情况数据统计模块提供查询结果的打印输出功能: I:输入所需数据的条件F:根据条件到数据库中查询O:打印查询结果6.书籍查询功能模块 书籍查询模块可以根据书籍的书名、类型、价格、出版社等各种条件进行组合查询。商品查询结果的列表中,用户可以进一步的查看详细信息,商品查询功能如图I:输入书籍
6、的查询条件F:到数据库中查询相应信息O:提供符合条件的书籍列表34 数据字典34.1实体信息需要描述的实体和从联系中抽象出的实体信息如下: Publisher:出版社信息Publisher: 出版社 Paddress: 提供商地址Pcontacter: 联系人Pphone: 电话 BOOK :书店库内图书信息BookID: 图书ISBN编号 Bkind: 图书种类Bname: 图书名Publisher: 出版社Bnum: 库内图书量Bauthor: 作者BRemark: 图书信息 BuyIn : 进货信息BuyId: 进货编号Publisher: 出版社BookID: 图书ISBN编号BDat
7、e: 进货日期Bprice: 进货价格BuyNum: 进货数量 SellOut : 销售信息SellID: 销售编号BookID: 图书ISBN编号SDate: 销售时间SellNum: 销售数量Sprice: 销售价格 ReturnBook : 退书信息ReturnID: 退书编号BookID: 图书ISBN编号RDate: 退书时间Rnum: 退书数量RRemark: 退书信息 Manager:管理员信息Mname:管理员姓名Mnumber:管理员编号Mpassword:管理员密码第四章 系统UML建模4.1数据流程分析数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几
8、种符号综合的反映出信息在系统中的流动、处理和存储情况。数据流程图由图2-3所示的符号表示:数据存储名称数据流名称A、外部项符号B、数据流符号标识C、数据存储符号标识功能描述功能完成者D、处理功能符号图2-3 数据流程图表示符各符号表示的含义如下:A.外部项:指不受系统控制,在系统以外的事物或人,它表达了该系统数据处理的外部来源和去处。B.数据流:数据流表明了数据的流动方向及其名称,它是数据载体的表现形式之一。C.数据存储:用来指明数据保存的地方。 D.处理功能:表达了对数据处理的逻辑功能本系统的数据流程如图2-4:、该书店管理系统的用例分析n 创建用例图之前首先需要确定参与者,系统的参与者主要
9、有二类:1. 书店管理员2 书店管理系统管理者 所以,系统的用例图主要有以下三种:1. 店管理员处理书籍进货管理、书籍管理、销售管理、统计管理等的用例图2. 书店系统管理员进行店员信息管理、权限管理、数据库安全管理的用例图F2 查询条件F1出版社、进货、图书、 报价、库管销售员P1信息处理供应商信息D11 报价D2库内图书信息D3进书信息D4P3查询P2维护P4退书处理P5销售退书信息D6销售信息D5F3 查询条件4.2 用例图分析该书店管理系统的用例图如下:图4.2.1 书店管理系统的用例图 图4.2.2:书店管理员用例图书店管理员所包含的用例有:(1) 进货管理:根据某种书籍的库存量及销售
10、情况确定进货数量,根据供应商报价选择供应商。输出一份进货单并自动修改库存量,把本次进货的信息添加到进货库中。(2) 书籍管理:包括对书籍的增删改,书目的增删改等。(3) 统计出售:根据销售情况输出统计的报表。一般内容为每月的销售总额、销售总量及排行榜等信息。4.3、系统的顺序图1. 书店管理员添加书籍的时序图8:提交成功7:提交任务6:提交书籍编号3:增加书籍1:输入帐号密码妈、登录模块书籍更改模块提交模块数据模块2:提交用户4:输入书名5:输入书目9:添加成功图4.3.1 2. 书店管理员删除书目的时序图图4.3.3:书店管理员删除书目的时序图【顺序图说明】(1) Remove tittle
11、():删去书目(2) Find():搜寻书库中的书目。(3) Destroy():销毁书目信息。3. 书店管理员处理书籍出售的时序图图4.3.4:系统管理员删除书目的时序图【顺序图说明】(1) Find tittle():找寻书目(2) Identify customer():搜寻消费者信息(3) Create():创建出售信息4.4、系统的协作图1. 图书管理员添加书籍的协作图 图4.4.1图书管理员添加书籍的协作图2. 图书管理员删除书籍的协作图图4.4.2图书管理员删除书籍的协作图3. 书店管理员处理出售书籍的协作图图4.4.3书店管理员处理出售书籍的协作图第五章 系统运行环境1:开发环
12、境本系统计划使用VisualStudio.NET 2005作为开发工具,编程语言是C#,编程技术是ASP.NET。使用C#,是因为他是微软为.NET平台量身制作的程序语言,即拥有C+的强大功能,又有Visual Basic简易的特性,他在带来对应用程序的快速开发能力的同时,并没有牺牲C与C+程序员所关心的各种特性,C#忠实的继承了C与C+的有点,是最能体现.NET优势的语言。ASP.NET最大的特点是编译执行,而不是ASP的解释执行,这一使得整个程序的执行效率大大增加。同时由于ASP.NET是建立在.NET框架的基础上,因此.NET的各种优点都可以使用。同时由于采用了CodeBehind技术,
13、它的程序代码与页面标识可以完全剥离,不会混合在一个页面上,便于程序员的修改。2:运行环境由于使用了以上开发技术,本系统服务器的运行环境如下:操纵系统:Windows XP以上服务器:IIS5.0浏览器:IE6.0数据库:SQL Server 2005 Express硬件配置:CPU:P41.8GHz内存:256MB以上分辨率:最佳效果1024*768需安装:Visual Studio 20053:接口硬件接口:由于软件较小,除硬盘外,基本没有与外界硬件的联系。软件接口:在这里主要考虑软件与操作系统的接口,考虑到文档处理的需要有可能可以包括与较常用的办公软件的接口。 2外部设计21支持软件 本数
14、据库主要采用微软公司的成熟数据库系统SQL Server2005,提供了较为灵活操作简单的功能,可以为数据库管理员和系统开发人员提供很好的支持。3结构设计在进行数据库设计时,是先将现实世界中的客观对象抽象为不依赖任何具体机器的信息系统,数据库概念设计的目标就是要产生反映企业组织信息需求的数据库概念结构,即概念模型,而后再把概念模型转化为具体机器上计算机信息管理系统支持的相关模型。概念模式是独立与数据库逻辑结构,独立与支持数据库的DBMS,不依赖于计算机系统的。概念模型是表达概念设计结果的工具。它应该能够真实、充分地反映现实世界中事物和事物之间的联系;应该简洁、明晰、独立于机器,容易理解,方便数
15、据库设计人员和应用人员进行交流;应该易于变动,便于修改;应该很容易向关系、层次或网状等各种数据模型转变,方便地导出与DBMS有关的逻辑模型。从而使概念模型成为现实世界到机器世界的一个过渡的中间层次。概念模型有很多模型,其中最常用的方法之一是“实体联系模型”(entity relationship model),即使用E-R图来描述某一组织的概念模型。这个阶段的目标即抽象出本系统的概念模型,为下一步做准备。该阶段的任务为采用自下而上的方法抽象出各子模块的E-R图,再通过合并的方法做到各子系统实体、属性、联系统一,最终形成系统的全局E-R图。31概念结构设计一个实体型转换为一个关系模式。实体的属性
16、就是关系的属性,实体的码就是关系的码。1将E-R模型转换为关系模型转换原则:一个1:1联系可以转换为一个独立的关系,也可以与任意一段对应的关系模式合并。如果转化为一个独立的关系模式,则与该联系相连的各个实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一个实体对应的关系合并,则需要在该关系模式的属性中加入另一个关系的主码和联系本身的属性。一个m:n的联系可以转化为一个单独的关系模式,这个单独的关系模式的主码是两端实体的码,再加上联系的属性。一个1:n联系可以转化为一个独立的关系模式,也可以与n端的关系模式合并作如果与n端的关系模式合并,在n端的关系模式中加上
17、另一端关系的码和联系属性。32逻辑结构设计1 图书销售系统E-R图2 书店-库内图书 “处理”联系细化E-R图3 库内图书实体属性图 4 供应商实体属性图5 供应图书报价-书店-供应商 “进货”联系的属性图7 书店-库内图书 “销售”联系的属性图8 书店-库内图书 “退书”联系的属性图9 “管理员”的属性图管理员姓名账号密码33关系图按照实体-联系图转化为关系模式的规则,本系统的E-R图可转化为如下有6关系模式:出版社(出版社名称 ,出版社地址,电话,联系人 ) 库存图书(图书ISBN编号,图书种类,图书名,出版社名称,库内书量,作者,图书备注信息)进货(进货编号,出版社名称, 图书ISBN编
18、号,进货日期,进货价格,进货数量)销售(销售编号, 图书ISBN编号,销售日期,销售价格,销售数量)退货(退货编号, 图书ISBN编号,退货日期,退货数量,退货备注信息)管理员(姓名,账号,密码)数据库名称:图书管理,创建6张用户表后,表间能形成如下的关系图:33物理结构设计表3-3-1出版社信息表(Publisher)字段名数据类型字段大小是否允许空备注Publisherchar20N主键Paddresschar20NPphoneChar12NPcontacterChar10N表3-3-2 库内图书信息表(Book)字段名数据类型字段大小是否允许空备注BookIDintN主键BkindCha
19、r10NBnameChar20NPublisherChar20N外键BnumintYBauthorChar20NBremarkchar200Y表3-3-3 进货信息信息表(buyIn)字段名数据类型字段大小是否允许空备注BuyIDintN主键publisherintY外键BookIDintN外键BDatedatatimeNBpricemoneyNBuyNumintN表3-3-4 销售信息表(SellOut)字段名数据类型字段大小是否允许空备注SellIDintN主键BookIDintY外键SDatedatatimeNSellNumintNSpricemoneyN表3-3-5 退书信息表(Ret
20、urnBook)字段名数据类型字段大小是否允许空备注ReturnIDChar20N主键BookIDChar14N外键RdateDataNRnumMoneyNRRemarkIntegerN表3-3-6 管理员信息表(Manger)字段名数据类型字段大小是否允许空备注MnameChar20NMIDChar10N主键Mpasswordchar10N-1存储过程脚本-销售功能:向顾客销售图书,并在销售信息表进行记录,并修改库存图书数量。Create Proc SellBookname varchar(20),id int,nu int,price moneyAs declare num int Sel
21、ect num=Bnum From Book Where Bname=name and BookID=id print num if(nu=num)Begin Update Book Set Bnum=num-nu Where Bname=name and BookID=id Insert Into SellOut(BookID,SDate,SellNum,Sprice) Values(id,GetDate(),nu,price)EndelseBegin print 库存不够End-2.退货功能-退货,在退货信息表进行记录,删除销售记录,修改书库图书量。Create Proc ReturnBK
22、 id int, remark varchar(200)=NULLAs declare date smalldatetime Select date=SDate from SellOut Where SellID=id if DateDiff(dd,date,GetDate()7Begin declare idbk int select idbk= BookID from SellOut Where SellID=id declare num int select num= SellNum from SellOut Where SellID=id Insert Into ReturnBook
23、Values(idbk,Getdate(),num,remark) Update Book Set Bnum=Bnum+num Where BookID=idbk Delete SellOut Where SellID=idEnd elseBegin print 退书期限已过,不能退书End-3.查询与统计功能-每月的销售总额和销售总量Create Proc QueryBookdate CHAR(10)As Select Sum(SellNum) as TotalNuns,Sum(Sprice) as TotalSales From SellOut Where DateDiff(mm,date
24、,SDate)=0-每月销售的排行榜Create Proc BookBackdate smalldatetimeAs Select top 10 b.Bname,s.SellNum From Book b inner join SellOut s on b.BookID=s.BookID-按月查卖了多少本书Create Proc QueryMonth date smalldatetimeAs Begin Select b.Bname,Sum(b.Bnum) From Book as b inner join SellOut as s on b.BookID=s.BookID Where Dat
25、ediff(mm,date,s.SDate)=0 Group by b.Bname End-4触发器脚本-使用触发器,实现新书在书库中的插入工作和图书数量修改Create Trigger tt On BuyIn FOR InsertAs declare n int Select n=BookID from inserted declare num int Select num=BuyNum From inserted Update Book set Bnum=Bnum+num Where BookID=n-5视图脚本Create View SBookAsSelect Publisher,Boo
26、kID, Bname,20-Bnum as Num From Book where Bnum=(0)GOALTER TABLE dbo.Book CHECK CONSTRAINT CK_BookGOUSE 书店管理GOALTER TABLE dbo.BuyIn WITH CHECK ADD CONSTRAINT CK_BuyIn CHECK (BuyNum=(0)GOALTER TABLE dbo.BuyIn CHECK CONSTRAINT CK_BuyInGO第六章:数据库恢复与备份数据库的完全备份backup database factory to disk =f:备份数据库书店管理 w
27、ith initgo 数据库的恢复restore database factory from disk = f:备份数据库书店管理 with recoverygo数据库差异备份backup database factory to disk =f:备份数据库书店管理 with initgo 数据库的恢复restore database factory from disk = f:备份数据库书店管理 with norecoverygorestore database factory from disk = f:备份数据库书店管理 with file=2Go 参考资料1李晓喆. SQL Server
28、 2000管理及应用系统开发M. 北京:人民邮电出版社, 2004.2张莉. SQL Server数据库原理及应用教程M. 北京:清华大学出版社,2003.3陈佳,信息系统开发方法教程,清华大学出版社4中文版Microsoft Office 2003自学通作者:Ned Snel编著 出版社:机械工业出版社 5Visual Basic 6.0 中文版控件大全作者:Microsoft 编著 出版社:电子工业出版社6Visual Basic 6.0 完全自学手册 作者:仲维俊 编著 机械工业出版社出版7Visual Basic+Access数据库开发与实例作者: 刘文涛 编著 出版社:清华大学出版社 完成期限:指导教师签名:课程负责人签名:课程设计成绩评定表评定项目内 容满分评分总分学习态度学习认真,态度端正,遵守纪律。10答疑和设计情况认真查阅资料,勤学好问,提出的问题有一定的深度,分析解决问题的能力较强。40说明书质量设计方案正确、表达清楚;设计思路、实验(论证)方法科学合理;达到课程设计任务书规定的要求;图、表、文字表达准确规范,上交及时。40回答问题情况回答问题准确,基本概念清楚,有理有据,有一定深度。10总成绩采用五级分制:优、良、中、及格、不及格指导教师评语: 签名: 年 月 日