青岛理工大学琴岛学院设计报告课题名称:图书馆管理系统学院:计算机工程系专业班级:计算机科学与技术11-1班学号:20110301004学生:刘兆明指导教师:于燕丽青岛理工大学琴岛学院教务处2013年7月5日学生刘兆明指导教师于燕丽课题名称图书馆管理系统设计时间2013.6.24-2013.7.5设计地点7-A-103设计目的1.培养数据库应用软件系统的设计和开发能力。2.熟练掌握一种数据库的使用(如SQLSERVER)的使用。3.学会并掌握数据库技术应用的基本技能,巩固已学的知识。4.通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手的能力,提高分析问题和解决问题的能力。指导教师评语系部教研室意见一、设计目的为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利从而编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。,依据用户的选择来进行各种处理状况,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。二、数据功能分析设计图书馆管理系统在这次设计中取了五个模块,分别是图书信息,读者信息,借阅信息,挂失信息,图书类型。1.信息的录入(1)读者的基本信息本系统需要图书证方可借阅图书,每位读者有且只有一个图书证,通过图书证可以查询到读者的信息,读者信息有读者编号、借阅编号、学号、姓名、性别、出生年月、联系电话、有效期,根据读者身份,开放相应的功能,提供可借阅资源。(2)图书的基本信息图书馆按图书类型给图书分类,将根据ISBN书号管理图书,提供图书的作者、出版社、价格等信息,并将库藏数量、借阅数量提供给管理员。(3)借阅的基本信息保存读者借阅图书的信息,包含读者已经借阅书籍的数量,还可借阅书籍的数量,续借的次数,以及读者借阅的图书的日期,应归还时间与实际归还时间。(4)图书类型的基本信息具体到每一本书的信息,每一个ISBN书号对应多本书,将每本书是否可借提供给管理员。(5)挂失的基本信息读者将图书证丢失,管理员将挂失信息输入到挂失表里,标注挂失日期,根据读者的编号,找到读者信息,补办图书证。2.系统总体设计根据用户需求分析,本系统划分为管理员子系统、学生子系统。系统总体设计结构如图1所示:图1总体设计结构图三、数据库设计(一)需求分析1、在要建立的系统中,有以下功能(1)根据图书馆管理系统的用户需求,确定图书馆管理系统数据需求和功能需求。(2)要建5个表,分别为图书信息表,读者信息表,借阅信息表,挂失信息表,图书类型表。(3)数据库的更新功能,主要有读者信息、图书信息的插入和修改等。(4)数据的查询功能。2、安全性与完整性要求。给每一个表设置主键与外键约束;设置缺省约束,如:性别、是否可借;设置非空约束,如:读者表的读者姓名;设置检查约束,如:图书表的馆藏数量应不小于零;设置唯一性约束,如:读者表的读者学号;2、画数据流图根据系统需求分析,得到系统的基本信息要求和处理要求,从而给出总数据流图:图书馆管理系统管理员子系统学生子系统挂失信息维护借阅信息维护读者信息维护书籍信息维护借阅信息查询读者信息查询书籍信息查询图书管理员新书图书信息读者新书登记维护图书剔除旧书旧书信息维修信息删除信息修改信息还书续借还书请求续借请求续借信息核查读者身份核查读者违规情况检查读者借书限额非法读者合法借书卡违规处罚通知无违规额度已满通知额度内借阅表办理新卡挂失补办离校处理读者表借书卡借书卡补办新卡号毕业删除信息图书表登记借阅信息借书卡删除借阅信息登记读者信息图书信息检查读者信息借阅的读者信息借阅的图书信息读者信息图2总数据流图3、画数据字典DD(1)数据结构数据结构名称组成图书信息BbookISBN书号、借阅编号、读者编号、书名、图书类别、作者、出版社、价格、馆藏数量、借阅数量读者信息Preader读者编号、借阅编号、学号、姓名、性别、出生年月、联系电话、有效期至等借阅信息Lborrow借阅编号、ISBN书号、读者编号、可借数量、已借数量、续借次数、借出日期、归还日期、应归还时间等信息挂失信息Closs挂失编号、读者编号、挂失日期等图书类型Mbookty图书编号、ISBN书号、是否可借表1系统基本信息数据结构(2)数据项属性名存储代码存储类型长度备注表2系统数据项描述(二)概念结构设计根据数据流图画E—R图系统局部E-R图设计:图3读者表E-R图读者编号Pnovarchar20读者的编号,主键学号Pidvarchar11读者的学号,notnull姓名Pnamevarchar8读者的姓名,notnull性别Psexvarchar2读者的性别,notnull出生年月PdateDatetime读者的出生日期联系电话Pphonevarchar20读者的联系电话有效期至PindateDatetime读者的借阅卡有效期ISBN书号Bnovarchar20图书的ISBN书号,主键书名Bnamevarchar20ISBN图书的书名,notnull图书类别Btypevarchar5ISBN图书的类别作者Bwritervarchar10ISBN图书的作者出版社Bpressvarchar20ISBN图书的出版社价格Bpricefloat5ISBN图书的图书价格馆藏数量Blnumberint图书馆图书的数量借阅数量Bbnumberint已经借阅的数量借阅编号Lnovarchar20读者借阅图书的编号,主键可借数量Lrnumberint读者可以借阅的数量已借数量Lbnumberint读者已经借阅的数量续借次数Lrenewint读者续借的编号借出日期LloandateDatetime读者借阅书的日期归还日期LreturndateDatetime读者归还书的日期应归还时间LmrdateDatetime读者本应该归还的日期挂失编号Cnovarchar20读者挂失卡的编号,主键挂失日期CdateDatetime读者挂失的日期,notnull图书编号Mnovarchar20ISBN书号相同的图书编号,主键读者读者编号出生年月有效期至联系电话家庭住址学号性别姓名图4图书表E-R图图5借阅表E-R图图6图书类型表E-R图图7挂失表E-R图(a)(b)(c)(d)(e)图8系统中实体关系图书ISBN书号馆藏数量图书类型借阅数量价格出版社作者书名借阅借阅编号归还日期续借次数借出日期应归还时间可借数量已经数量图书类型挂失借阅编号借阅编号借阅编号借阅编号读者读者读者挂失借阅图书图书类型借阅查看包含属于借阅挂失图书图书111nn1n1n12、系统全局E-R图图9总系统E-R图(三)逻辑结构设计1.E—R图向关系模型的转换(1)图书信息(Bno,Lno,Pno,Bname,Btype,Bwriter,Bpress,Bprice,Blnumber,Bbnumber)(2)读者信息(Pno,Lno,Pid,Pname,Psex,Pdate,Pphone,Pindate)(3)借阅信息(Lno,Bno,Pno,Lrnumber,Lbnumber,Lrenew,Lloandate,Lreturndate,Lmrdate)(4)挂失信息(Cno,Pno,Cdate)(5)图书类型(Mno,Bno,Mborrow)2.系统关系模型的优化与调整根据关系模型范式原理,所有的关系模型都要符合第3范式。经分析,本实例中的关系模式已经符合第3范式。关系范式分析(1)读者(读者编号,借阅编号,学号,姓名,性别,出生年月,联系电话,有效期至)读者表:主键是读者编号,非主属性是借阅编号、学号、姓名、性别、出生年月、联系电话、有效期至。函数依赖:读者编号-(借阅编号,学号,姓名,性别,出生年月,联系电话,有效期至)由函数依赖可知,依赖关系中不存在部分依赖,满足第二范式,也不存在传递依赖,满足第三范式(2)挂失(挂失编号,读者编号,挂失日期)挂失表:主键是挂失编号,非主属性是读者编号、挂失日期。函数依赖:挂失编号-(读者编号,挂失日期)由函数依赖可知,依赖关系中不存在部分依赖,满足第二范式,也不存在传递依赖,满足第三范式(3)视图:创建读者、图书、借阅、图书类型、挂失视图,用来显示相关信息。(四)物理结构设计1.数据库创建建立名为图书馆管理系统的数据库。读者图书查看1n借阅挂失图书类型挂失借阅包含属于11111nnn2.创建数据表用“createtable表名”命令依次建立读者表、图书表、借阅表、图书类型表、挂失表。3.添加外键在所有表中添加外键,用来维护两个表之间的一致关系。4.数据输入用INSERTINTO表名[(列名1[,列名2]...)]BALUES(常量1[,常量2]...)输入数据。5.触发器的建立分别在图书表和图书类型表、读者表和挂失表、读者表和借阅表之间建立删除触发器,实现表与表的级联删除。6.存储过程(1)输入图书ISBN号,显示借这本书的读者的读者编号、学号。(2)输入借出日期,显示借书的人数。(3)输入续借次数,显示续借次数大于输入的续借的次数的读者的编号、借出日期、续借次数。(4)输入读者号,改变读者性别。(五)数据库的实施导入数据的步骤:选定数据库,在所建数据库上右击,点击“任务”选导入,然后点击下一步,在数据源处选择数据源类型“MicrosoftExcel”,在excel文件路径处选择表格的所在位置(本次表格位置在桌面上)其余选项不动,点击下一步,选择下拉框选项中的“MicrosoftOLEDBProviderforSQLserver”,在数据库中选择你所建的数据库(db_library),单击“下一步”,再点击下一步选中你要导入的表,点击下一步直到出现成功导入的提示便完成了最开始对表信息的导入工作。图10导入数据(六)数据库的运行与维护1、数据库的备份和维护计划备份就是指对SQLServer数据库及其他相关信息进行复制,数据库备份能记录数据库中所有数据的当前状态,以便在数据库遭到破坏时能够将其恢复。SQLServer2005有4种备份方式。分别是:完全数据库备份、差异数据库备份、事务日志备份、数据库文件和文件组备份。2、备份计划及具体操作步骤(1)完全数据库备份将数据库db_library备份到一个磁盘文件上,备份设备为物理设备。备份计划如下:a.维护计划---右键---新建维护计划b.输入计划名称c.双击左下角“备份数据库”任务d.选择需要备份的数据库名称e.按需设计计划f.设置每天自动备份g.为了保证有足够空间存储备份文件,需要定期删除时间已久的备份数据库h.最后保存计划任务。图11完全数据库备份(2)数据库差异备份备份计划如下:新建备份设备,设备名称逻辑名为“数据库备份-计划”,物理名为“C:\data\diskbackup.bak”a.启动SSMS,在对象资源管理器下选择数据库,单击鼠标右键,在出现的快捷菜单选择“任务”-“备份”。b.在“数据库”下拉列表选择要进行的数据库备份的数据库名称,选择“备份类型”选差异备份选项,在“备份集”选项区的“名称”文本框中输入差异数据库备份。单击“确定”按钮。c.启动“SQLServer代理”d.右击维护计划,选择“维护计划向导”,单击“下一步”e.选择“备份数据库(差异)”,单击“下一步”f.选择特定数据库db_library,单击“下一步”g.选择更改计划,在每天的02:00:00执行,将在2013-7-3日开始使用计划图12数据库差异备份(3)事务日志备份a.启动SSMS,在对象资源管理器下选择数据库,单击鼠标右键,在出现的快捷菜单选择“任务”-“备份”b.在“数据库”下拉列表选择要进行的数据库备份的数据库名称,选择“备份类型”选事务日志备份选项,在“备份集”选项区的“名称”文本框中输入事物日志备份。单击“确定”按钮。c.启动“SQLServer代理”d.右击维护计划,选择“维护计划向导”,单击“下一步”e.选择“备份数据库(事务日志)”,单