图书馆数据库课程设计报告_图书馆数据库设计报告

2020-02-28 其他范文 下载本文

图书馆数据库课程设计报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“图书馆数据库设计报告”。

目录

第1章 绪论........................................2 §1.1设计意义及目的.............................................2

§1.2研究范围及技术要求.........................................2 §1.3指导思想...................................................2 §1.4解决的主要问题及研究方法...................................2 第2章 需求分析.....................................2 §2.1总体需求分析...............................................2

§2.1.1查询和统计分析功能...................................2 §2.1.2基本信息的维护功能...................................2 §2.1.3日常功能.............................................3 §2.2系统功能图.................................................3 第3章 总体设计.....................................5 §3.1图书借阅流程图:.........................................5 §3.2安全设计...................................................5 第4章 数据库设计...................................5 §4.1概念结构设计...............................................5 §4.2逻辑结构设计...............................................6 §4.3物理结构设计...............................................7 第5章 详细设计.....................................8 第6章 编码........................................8 结论............................................12 学习体会..........................................12 致谢............................................12 参考文献..........................................12

第1章 绪论

§1.1设计意义及目的图书管理系统是一种基于集中统一规划的数据库数据管理新模式,其宗旨是提高图 书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。

§1.2研究范围及技术要求

针对高校图书馆以及城市图书馆进行管理设计,提高工作效率;

系统的数据量一般都比较大,一般都达到几万人甚至十几万人,书籍量一般都达到几百万册甚至上千万册,系统由于只供内网查询,提高了数据访问的安全性,同时对并发控制也降低了要求。

§1.3指导思想

数据库建立的基本规范方法学以及现代的图书馆经营管理理念。§1.4解决的主要问题及研究方法

满足广大用户对图书的共享需求,提高书籍的流通性,使其更好的服务人民;系统总体采用自顶向下,逐步求精的瀑布式方法设计,局部功能模块采用反复迭代的螺旋式设计方法。

第2章 需求分析

§2.1总体需求分析 §2.1.1查询和统计分析功能

1.实现图书馆对在馆图书的按类别,书名,作者,内容,出版社,ISBN,借阅热度等的多功能查询。

2.实现读者对其当前借阅记录和历史借阅记录以及罚款记录,读者基本信息和图书馆在库图书的基本信息的多方位查询功能。

3.实现对当前图书馆在库图书丢失及总体流向的查询。4.综合统计统计图书馆目前的各种指标。

5.统计、分析各时期的图书流通率、分类流通率、流通变化趋势,并可以图表、表格两种方式显示。

6.统计、分析各时期的图书馆藏量、分类馆藏量、馆藏量变化趋势,并可以图表、表格两种方式显示。

§2.1.2基本信息的维护功能

1.实现对读者信息的维护,包括包括添加读者信息、删除读者信息、修改读者信息。

2.实现图书馆书籍基本信息的维护,包括图书入库和书架设置,图书基本信息的修改以及图书注销并且建立书籍档案,方便图书管理。

3.实现对管理员基本信息的维护,包括管理员的添加,管理员基本信息(如类别等级)的修改和管理员的注销等功能。

§2.1.3日常功能

1.能够按照罚款规则,进行读者借阅超期和遗失图书的相关罚款功能。2.能够修改读者和管理员密码及其权限,实现人员的有效管理。

3.借书完全通过扫描枪条码识别,自动识别借书证是否有效,根据设定的规则进行管理。提示读者已借书数、超期图书应缴罚款等参考信息。根据图书的种类确定借阅期限。罚款单价根据图书种类确定。4.还书完全通过条码识别,自动作超期记录。

5.图书预约可以为读者提供方便,可以进行管理及打印到书通知。

6.图书损坏、丢失处理能显示每本书上次损坏的记录以及其它信息5.报表统计:包括统计图书信息、读者信息、借阅信息等。

7.报表统计:包括统计图书信息、读者信息、借阅信息和罚款信息等。

§2.2系统功能图

2010-7-1图书管理系统功能图读者信息录入基础信息维护读者管理图书信息录入书架信息录入管理员信息录入读者注销读者信息修改读者挂失新书入库图书馆管理系统图书管理查询统计分析图书流通管理系统管理图书信息修改图书注销读者相关信息查询图书相关信息查询图书借阅及罚款总体查询读者借阅图书读者还书读者续借图书丢失图书罚款管理员信息修改读者账号修改图书馆相关规则修改图2-1

第3章 总体设计

§3.1图书借阅流程图:

输入图书编号输入读者编号借书成功图3-1

不成功

§3.2安全设计

一方面,系统通过在登陆界面对不同用户权限的审查,使其只能进入自己权限以内的功能操作界面;另一方面,系统控制有些敏感信息,使其不能被随意修改,如人员编号等;

第4章 数据库设计

§4.1概念结构设计

图书管理系统的数据库设计需要结合现代的图书管理理念和现代的数据库设计方法学。系统主要的参与人有普通读者、管理员以及其他人员;系统主要的实物体有图书、书架、储藏室等;

通过对图书的来源、去向和流通的全程跟踪,及时分析每一步中需要参与的其他人员和实物(即实体),弄清楚各方在每一步中的具体的作用,抽取出各个关系表和事务表,继而完成之后,检查各个关系是否具有完备性和完整性。

设计的最终ER图为: 5

隶属专业登陆账号班级隶属拥有隶属读者罚款已还图书人员类别借阅管理员还书隶属图书隶属书架存放于拥有采购于图书分类采编人员索引

图4-1

§4.2逻辑结构设计

(1)图书基本信息(书籍编号,馆藏索引,存放位置,书名,类型,作者,出版社,ISBN编号,价格,出版日期,页数,关键字,入库时间,是否允许外接,是否注销,是否借出,借阅次数,备注)

(2)人员信息表(人员编号,证件有效日期,证件截止日期,是否挂失,姓名,性别,类别,所属部门,地址,电话,电子邮件地址,备注)

(3)借阅信息表(读者ID,书编号,借阅日期,是否经过假期标志,续借次数,最后还书截止日期,操作员编号,备注)

(4)图书分类信息表(图书分类号,类别名称,关键字,允许借的最大数目,备注)

(5)人员分类信息表(人员分类号,类别名称,允许借书数量,允许借阅天数,允许续借次数,备注)

(6)用户信息表(人员ID,人员密码,人员类型(权限))

(7)借阅历史记录表(书号,读者ID,借阅日期,还书日期,罚款金额,是否缴纳罚款,操作员编号,备注(罚款原因))

(8)采购表(采购书的种类,采购人员ID,采购日期,采购本书,采购金额,备注)

(9)书架分布表(书架编号,书架位置,书架容量,书架类别)

(10)书籍索引表(索引编号,该种书的现有本书,该种书的关键字,该种书的类别)

(11)专业表(专业编号,专业名称,专业负责人)(12)班级表(班级编号,班级名称,班级负责人)

§4.3物理结构设计

各个表之间的关系为:

图4-1 说明:各个表中的主键除了作为外键参照其他表中主键之外,均设为int,且作为标识和索引,日期均为datetime 类型,金额及价格均为money类型,其他均

为字符串型,大小根据实际设定,有些属性具有默认值。

第5章 详细设计

输入读者编号输入书籍编号不存在、注销、挂失不在库、注销、不外借是超过总借书上限是否超过每类书借书上限是借过同一本书否是是否当天已借过否否借书失败第6章 编码

借书成功 8

图6-1 借书存储过程实现:

CREATE PROCEDURE dbo.Borrow_BooksS @bookID int , @readerID int , @duringHoliday char(4), @continueborrow int , @operatorID int , @memo char(50), @result char(80)OUTPUT AS declare @number int declare @current_borrow_num int declare @current_bookTyoe_borrow_num int declare @MAXNUM int declare @BookTypeMAXNUM int declare @readerType int declare @readerMAXDays int declare @bookType int declare @bookIndex int SET @number=(SELECT COUNT(*)FROM Person

WHERE Person.PersonNO=@readerID AND Person.IsDead='否' AND Person.IsLost='否')

if(@number!=1)begin SET @result='读者编号不存在或者已注销和挂失!';return;end SET @number=(SELECT COUNT(*)FROM Book WHERE Book.BookID=@bookID AND Book.IsDead='否' AND Book.IsBorrowed='否' AND Book.IsAllowBorrow='是')if(@number!=1)begin SET @result= '该书不存在或已注销或不对外借或已借出!';return;end SET @current_borrow_num=(SELECT COUNT(*)FROM BorrowInfo WHERE BorrowInfo.ReaderID=@readerID)SET @readerType=(SELECT Persontype FROM Person WHERE Person.PersonNO=@readerID)SET @MAXNUM=(SELECT BookNumber FROM PersonType WHERE PersonType.TypeNO=@readerType)SET @readerMAXDays=--获取应归还的天数(SELECT BookDays FROM PersonType WHERE PersonType.TypeNO=@readerType)IF(@duringHoliday='是')SET @readerMAXDays=@readerMAXDays+60;--经过一个假期,天数应加60 if(@current_borrow_num>=@MAXNUM)--借书已达最大值 begin SET @result= '借书已达最大值,不能再借!';

return;end SET @bookType =(SELECT BookType FROM Book WHERE Book.BookID=@bookID)SET @BookTypeMAXNUM=(SELECT BorrowNumber FROM BookType WHERE BookType.BookTypeNO=@bookType)SET @current_bookTyoe_borrow_num=(SELECT COUNT(*)FROM BorrowInfo ,Book WHERE Book.BookID=BorrowInfo.BookID AND Book.BookType=@bookType)IF(@current_bookTyoe_borrow_num>=@BookTypeMAXNUM)--本类数已超借阅本数限制 begin SET @result= ' 本类数已超借阅本数限制!';return;end SET @bookIndex=(SELECT BookIndex FROM Book WHERE Book.BookID=@bookID)SET @number=(SELECT COUNT(*)FROM BorrowInfo,Book WHERE Book.BookID=BorrowInfo.BookID AND Book.BookIndex=@bookIndex)IF(@number>=1)--已经借过同一本书!begin SET @result= '已经借过同一本书!';return;end BEGIN TRAN INSERT INTO BorrowInfo VALUES(@readerID,@bookID,GETDATE(), @duringHoliday,@continueborrow ,DATEADD(day,@readerMAXDays,GETDATE()), @operatorID,@memo);UPDATE Book SET IsBorrowed='是' , BookBorrowTimes=BookBorrowTimes+1 WHERE BookID=@bookID;COMMIT TRAN SET @result= '借书成功!';------------------------

结论

本系统数据库设计方面由于调研充分,经历时间较长,设计结果较为满意,在理论上能够向上支持较为完整的事务约束,但由于编码时间较短加之编码时编码人员经验毕竟十分有限,很多功能也只是望洋兴叹,尚未有能力实现,本系统只能提供图书和读者信息的多功能查询和带有很少事务约束的借书、还书功能以及基本信息的维护模块。像对图书流通率、分类流通率、流通变化趋势的统计分析和图表显示有待实现,还有下一步应该实现更具现实意义的借书、还书处理以及罚款功能。

学习体会

本次课程设计强度之大(每天从早到晚)、任务之重(从设计到实现),都是以前没有过的,所幸,课程设计本身并不难,每一步都是有章可循且每一个人都有能力实现相应的部分。一个数据库系统的实现,绝对是全体人员共同团结、努力协作的结果。本次课程设计训练,让我大略“体会”(或者用想象更贴切)了软件开发人员所经历的苦与乐,使我对今后自己从事的工作有了一个基本的体会和感受,也算是提前“打了一个预防针”吧。

同时作为本组组长,我负责各个成员的具体分工。分工合作实际上已是现代社会最基本的特征,各个组织在各种现代社会活动中,都有自己的明确分工。一个好的组长,应该能够充分调动各个本组成员的积极性和参与性,使他们都能够充分发挥自己在系统开发中的作用,清楚知道每一个人的强项和不足,“因地制宜”,确定不同的分工。待基本的分工确定之后,组长应该随时掌握各部分的进展状况,适时给予相应的调整。同时,组长应把握大局,不断优化和调整系统的结构和布局。而我显然还做得有待提高。

致谢

赵海霞老师、魏汪洋老师、王志强老师不辞辛苦给予我们上机指导,特此感谢!

Special thank to;那些在课程设计中给予过我们组帮助的同学们!

参考文献

【1】Thomas M.Connolly,Carolyn E.Begg,何玉洁等译.数据库设计教程 北京:机械出版社,2005,1 【2】王珊,萨师煊.数据库系统概论,北京:高等教育出版社 2006,5

《图书馆数据库课程设计报告.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
图书馆数据库课程设计报告
点击下载文档
相关专题 图书馆数据库设计报告 报告 课程设计 图书馆 图书馆数据库设计报告 报告 课程设计 图书馆
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文