




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录第1章 绪论21.1设计意义及目的21.2研究范围及技术要求21.3指导思想21.4解决的主要问题及研究方法2第2章 需求分析22.1总体需求分析22.1.1查询和统计分析功能22.1.2基本信息的维护功能22.1.3日常功能32.2系统功能图3第3章 总体设计53.1图书借阅流程图: 53.2安全设计5第4章 数据库设计54.1概念结构设计54.2逻辑结构设计64.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系统功能图图2-1第3章 总体设计3.1图书借阅流程图: 图3-1 3.2安全设计 一方面,系统通过在登陆界面对不同用户权限的审查,使其只能进入自己权限以内的功能操作界面;另一方面,系统控制有些敏感信息,使其不能被随意修改,如人员编号等;第4章 数据库设计4.1概念结构设计图书管理系统的数据库设计需要结合现代的图书管理理念和现代的数据库设计方法学。系统主要的参与人有普通读者、管理员以及其他人员;系统主要的实物体有图书、书架、储藏室等;通过对图书的来源、去向和流通的全程跟踪,及时分析每一步中需要参与的其他人员和实物(即实体),弄清楚各方在每一步中的具体的作用,抽取出各个关系表和事务表,继而完成之后,检查各个关系是否具有完备性和完整性。设计的最终ER图为:图4-14.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章 编码图6-1借书存储过程实现:CREATE PROCEDURE dbo.Borrow_BooksSbookID int ,readerID int ,duringHoliday char(4),continueborrow int ,operatorID int ,memo char(50),result char(80) OUTPUTASdeclare number int declare current_borrow_num int declare current_bookTyoe_borrow_num int declare MAXNUM int declare BookTypeMAXNUM int declare readerType intdeclare readerMAXDays intdeclare bookType intdeclare bookIndex intSET number=( SELECT COUNT(*) FROM Person WHERE Person.PersonNO=readerID AND Person.IsDead=否 AND Person.IsLost=否 ) if (number!=1)begin SET result=读者编号不存在或者已注销和挂失!; return ;endSET 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 ;endSET 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; -经过一个假期,天数应加60if (current_borrow_num=MAXNUM)-借书已达最大值begin SET result= 借书已达最大值,不能再借!; return ;endSET 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;endSET bookIndex=(SELECT BookIndex FROM BookWHERE 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;endBEGIN TRANINSERT INTO BorrowInfoVALUES (readerID,bookID,GETDATE(),duringHoliday,continueborrow ,DATEADD(day,readerMAXDays,GETDATE(), operatorID,memo );UPDATE BookSET IsBorrowed=是 , BookBorrowTimes=BookBorrowTimes+1WHERE BookID=bookID;COMMIT TRANSET result= 借书成功!;-结论本系统数据库设计方面由于调研充分,经历时间较长,设计结果较为满意,在理论上能够向上支持较为完整的事务约束,但由于编码时间较短加之编码时编码人员经验毕竟十分有限,很多功能也只是望洋兴叹,尚未有能力实现,本系统只能提供图书和读者信息的多功能查询和带有很少事务约束的借书、还书功能以及基本信息的维护模块。像对图书流通率、分类流通率、流通变化趋势的统计分析和图表显示有待实现,还有下一步应该实现更具现实意义的借书、还书处理以及罚款功能。学习体会本次课程设计强度之大(每天从早到晚)、任务之重(从设计到实现),都是以前没有过的,所幸,课程设计本身并不难,每一步都是有章可循且每一个人都有能力实现相应的部分。一个数据库系统的实现,绝对是全体人员共同团结、努力协作的结果。本次课程设计训练,让我大略“体会”(或者用想象更贴切)了软件开发人员所经历的苦与乐,使我对今后自己从事的工作有了一个基本的体会和感受,也算是提前“打了一个预防针”吧。同时作为本组组长,我负责各个成员的具体分工。分工合作实际上已是现代社会最基本的特征,各个组织在各种现代社会活动中,都有自己的明确分工。一个好的组长,应该能够充分调动各个本组成员的积极性和参与性,使他们都能够充分发挥自己在系统开发中的作用,清楚知道每一个人的强项和不足,“因地制宜”,确定不同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑轻质材料成本效益比研究报告
- 制定企业员工福利方案操作指南
- 客餐厅水电施工方案模板
- 陶瓷认证企业案例分析报告
- 物流企业仓储管理规范与优化方案
- 教培妇女节营销方案
- 2024版小学六年级语文期中考试模拟试卷
- 酒店客户关系管理系统建设方案
- 初一数学期末复习题集与解析
- 农业企业团建活动策划方案
- 辅警摄影基础知识培训课件
- 2025年押运员模拟考试试题及答案
- 沉井施工合同4篇
- 农业机械安全知识课件
- 轴承质检员培训课件文档
- 2025至2030有机聚合物钽电容器行业发展趋势分析与未来投资战略咨询研究报告
- 2025年北京市西城区普通中学高三数学第一学期期末检测模拟试题
- 医护人员护理文书书写规范模板
- 中考语文散文专题训练-陈应松散文(含解析)
- 急诊急救业务知识培训课件
- 生产安全事故应急条例讲解
评论
0/150
提交评论