优秀毕业设计论文+源码基于Java的图书馆管理系统毕业设计(论文).doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流优秀毕业设计论文+源码基于Java的图书馆管理系统毕业设计(论文).精品文档.武汉大学毕业设计(论文)图书馆借阅管理系统学院(系): 计算机科学与技术 专业班级: 国际软件工程05班学生姓名: 王 子 指导教师: 熊有伦 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士论文评选机构将本学位论文的全部或部分内容编入有关数据进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于1、保密囗,在 年解密后适用本授权书2、不保密囗 。(请在以上相应方框内打“”)作者签名: 年 月 日导师签名: 年 月 日武汉大学本科生毕业设计(论文)开题报告1.目的及意义经过大学四年理论课程的学习,以及校内校外的实践,极大的丰富了自身的理论基础,并且也具备了一些处理简单问题的能力,但即将踏上社会的我深知这还远远不够,因此我利用了毕业设计的机会,在老师的指导下去完成一个具有挑战性的,其具体应用及社会服务相结合的项目,深知通过对它的开发,将对我的能力有更高层次的突破。 开发软件的一个目的是针对目前普遍的图书馆借阅管理系统存在的功能不全,操作复杂,系统要求高等一系列问题,而设想一个具有个性化的图书馆借阅管理系统。该管理系统与MIS系统相联系,在图书馆内部建成可靠,方便,并且功能齐全的MIS系统。从而在图书馆对新旧书的反应;对书籍借阅的管理能力;对读者和图书馆工作人员的管理能力;对图书馆管理人员软件操作的适应时间和操作感觉这些方面都将大大的提高。当然对该软件的态度是渴望获得显著的社会效益。 开发软件的另一个目的是使其具有强大的实用价值,即它可以满足中小型图书馆的借阅与管理的需要。在一般的学校与科研机构,其下属的很多分支的研究中心,试验中心,各个学院,它们往往都有着自己的规模较大的图书资料室。而这些图书资料室由于本身规模不大因此其对书籍或资料的管理模式一般都比较旧,而且在没有能力也没有必要引进大型的图书馆管理软硬件的基础上,寻求一个针对中小型图书资料室的管理软件是必要的。 这种管理软件对硬件的要求很低,一般有一个比较简单的服务器与PC机组成的网络即可,再加上使用比较廉价、性能不错的软件,这样就可以以较低的成本来实现一个足够使用的功能,而这种模式也正满足了那种中小型资料室,图书馆的要求。但是目前对这种管理软件的开发还处于一种比较原始的阶段。开发者往往都是出于资金和时间的顾虑使用比较陈旧的技术,并且各为己见,并且很少涉及网络。可是当今是一个网络化的社会,像资料室,图书馆这样的信息机构不能与网络联系起来岂不可惜,再加上如今单机版的图书管理软件多如牛毛,去开发一个类似的软件无疑是一种在时间上、精神上和资源上的极大浪费。所以出于多方面的考虑觉得有必要为这种有需要的中小型图书馆,资料室开发一种基于网络的图书资料管理软件。 项目的具体目的:1. 实现图书馆对外借书,还书的简易操作,提高图书馆对最平凡工作的效率。2. 实现图书馆对所藏图书的按类别,书名等多方面的查询,最大的方便读者和图书馆工作人员对所需图书的查询。3. 建立图书馆外借读者数据库,方便工作人员对读者进行有效管理。4. 建立图书馆工作人员数据库,限定每个工作人员对软件操作的权限,最大限度的保护数据库。5. 实现图书馆对新书入库,旧书注销的简单处理,并且建立书籍档案,方便进货。2.基本内容和技术方案 数据的安全性: 由于该系统统计管理单位的各种书目,人员数据及出入库数据,因此需要保证数据的可靠性和安全性。对于软件方面,采用手动或定时对数据库采取备份,使由于数据破坏所产生的损失降到最低,同时便于恢复。总体功能结构: 根据图书馆的基本要求和功能目标,总体框架是建立二个功能系统和二个支持系统。二个功能系统是:1.图书馆管理系统(下称1号系统);2.外部读者查询系统(下称2号系统)。二个支持系统是:1.网络支持系统(WAN和LAN);2.数据库支持系统。需求分析: A:图书馆管理系统即1号系统是该系统软件的重要内容之一,该子系统为图书馆的库存书籍的动态调整提供了决策依据,有利于及时对有大量需求的新书进行订货入库。它的主要功能包括:新书入库,旧书注销,借书,还书,馆内图书详细信息,图书查询,读者管理,馆内图书统计,读者信息管理,图书馆工作人员权限管理,名称设计,数据库备份等功能。下面是2号系统的主要功能的简单描述:1. 图书管理(图3系统流图): 这是图书馆最重要的模块之一,它将对图书馆中的书籍进行管理操作,所有的原始数据输入都是在这里实现的,有了这里的数据输入,才能开始以后的诸如借书、还书等操作。 新书入库管理: 该功能允许用户输入图书单,在输入过程中,程序自动生成图书单编号以加以区分两次不同的入库书单,同时程序也检查输入的合法性,并自动记录当日入库的图书。 当日入库图书查询 该功能允许用户对当日的入库书单针对不同条件进行查询,并且提供二次修改,避免出错。 旧书注销: 该功能允许用户输入注销单,在输入过程中,程序自动生成注销单编号以加以区分两次不同的注销书单,并且自动记录当日注销的图书。 当日注销图书查询: 该功能允许用户对当日的注销单针对不同条件进行查询,并且提供还原,避免出错。2.业务管理: 这是图书馆使用频率最高的模块,因此他在功能上应该直观明确,在操作上应该简单易用。 图书借阅: 该功能要求用户输入图书编号或者图书条码,并且检查输入合法性,然后程序动态生成该书的详细信息;再输入借书证号,并且检查输入合法性,然后程序动态生成该读者的详细信息;系统记录借书的经手人,最后由借书按钮实现操作。 图书归还: 与图书借阅类似,追加图书超期罚款功能,自动根据预设值计算出罚款金额。3. 人员档案管理: 这是针对读者和图书馆工作人员而设计的一个人士管理模块,它将完整的记录读者的信息,以及图书馆工作人员的信息,并且他还具有限制图书馆工作人员操作权限的功能,最大限度的保证了数据的安全。 读者管理: 记录读者的详细信息,并提供增加、撤除、查询等操作。 图书馆工作人员管理: 在读者管理子模块的基础上增加权限管理功能,保证数据安全。4. 数据库备份: 这是一个涉及到安全问题的重要模块,它可以保证数据库的安全,防止因外界的突发事件所造成的损失,避免因数据流失而重复输入的困扰。该功能分为自动备份,和手动立即备份两部分,满足用户需要。5. 名称设计: 这是一个很具个性化的功能,实现很简单,但非常吸引人,你可以任意为你的管理系统命名,比如“武汉X中学图书馆借阅管理系统”。B: 外部读者查询系统,即2号系统,这是一个面向读者的综合查询系统,采用与管理系统相同的数据库,具有唯一的功能:查询。他可以按照读者的要求,用不同方法对所藏书籍进行查询,并能进行书名的模糊查询,还可以查询读者所借书的到期日,和观看读者本人的详细资料,力争最大的满足读者的需求。性能要求:对新书入库单,注销单的处理及查询;图书查询;借书还书速度应较快登录仓库管理系统时应输入密码,以保证系统的安全性。系统要有较强的兼容性,能在各种PC机上正常运行。在系统运行异常及数据文件损坏时能给出出错提示,保证系统的可靠性。3.进度安排第1周第3周:查阅相关文献资料,明确研究内容,学习开发所需JSP,SQL Sever2000等相关技术,确定方案.完成开题报告.第4周第5周: 对开发系统进行需求分析等开发的前期工作.第5周第12周:进行开发工具的选择与配置,准备开发环境,具体代码的编写。第13周第14周:完成修改毕业论文.第15周:准备论文答辩.4、指导教师意见 指导教师签名: 年 月 日目 录摘 要IIIABSTRACTIV1. 绪 论11.1毕业设计主要任务11.2目前图书管理系统存在的问题11.3课题意义11.4论文的工作和安排22.图书借阅管理需求分析32.1 可行性分析32.1.1.技术可行性32.1.2.经济可行性32.2 图书借阅管理系统需求概述32.2.1系统目标32.2.2用户类和用户特性42.3 图书借阅管理系统需求模型42.3.1功能描述42.3.2图书管理员详细功能描述52.3.3读者详细功能描述52.3.4主要用例的用例描述63.总体设计93.1 数据库设计93.1.1数据库设计概述93.1.2图书信息表结构设计103.1.3图书类型信息表结构设计113.1.4 读者信息表结构设计113.1.5读者类型信息表结构设计123.1.6图书借阅信息表结构设计123.1.7图书归还信息表结构设计133.1.8用户信息表结构设计133.1.9图书馆信息表结构设计143.1.10办证参数信息表结构设计143.2 系统总体结构设计153.2.1图书管理系统总体结构图153.2.2 系统管理员模块功能153.2.3 读者管理模块功能163.2.4 图书管理模块功能163.2.5 图书借还模块功能173.2.6 系统查询模块功能184.程序设计与编码204.1开发平台与工具204.1.1 J2EE平台204.1.2 WEB服务器和数据库204.2程序设计214.2.1程序设计概述214.2.2数据库与Web服务器的连接214.2.3登录模块程序设计234.2.4系统管理员功能模块的实现254.2.5读者管理功能模块的实现264.2.6查询功能模块的实现274.2.7图书管理功能模块的实现294.2.8图书借还功能模块的实现305.软件测试335.1 软件测试的方法与步骤335.2 测试用例设计与测试用例的运行过程及测试结果分析345.2.1模块测试345.2.2集成测试355.2.3 验收测试365.3 评价366.结束语376.1 工作成果376.2 改进意见376.3 收获体会37参考文献39致 谢40摘 要随着科学技术的进步,计算机行业的迅速发展,大大提高人们的工作效率。计算机信息处理系统的引进已彻底改变了许多系统的经营管理 。图书管理系统是学校管理机制中的重要组成部分,通过对图书管理系统的运行管理机制进行调查研究,开发了此图书系统。本系统中解决了学校图书管理事务中的常用基本问题以及相关统计工作。本系统中包含6个功能模块:系统设置,读者管理,图书管理,图书借还,系统查询和更改口令。本系统使有jsp进行网页界面的设计,使用MVC设计模式,采用了开源框架Struts,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。本系统中通过JDBC驱动和数据库进行无缝连接,后端的数据库是mysql,也是一个开源的数据库系统,该数据库具有较高的完整性,一致性和安全性。关键词:图书管理;信息管理;jsp;strutsAbstract With the progress of science and technology, the astonishing rapid development of the computer industry has been improving people's working efficiency greatly.The introduction of computerized information system has sharply changed the management in many systems in many fields. The management system of the library takes an important role in the administration of school organization. I desigen the system after the thorough investigations about the library management systems mechanism. This system contains with reader informantion management model, book information management model, books borrowing and returning including system information query and password setting.The system is contrived with Java Server Pages Techonolege as well as Struts,the software design mode of MVC with open source framework techonolege, which makes this system have the advantages of efficiently designed with beauteous and friendly interface . This system use jdbc driver to connect the mysql database server,which is also an open source database system for its users. The batabase was desigend with highly integrity, security, and consistency.Key words: book management, management of information ,jsp,struts1. 绪 论1.1毕业设计主要任务 1.实现图书馆对所藏图书的按类别、书名等多方面的查询,最大的方便读者和图书馆工作人员对所需图书的查询;2.建立图书馆外借读者数据库,方便工作人员对读者进行有效管理;3.建立图书馆工作人员数据库,限定每个工作人员对软件操作的权限,最大限度的保护数据库;4.实现图书馆对新书入库,旧书注销的简单处理,并且建立书籍档案,方便进货;5.实现图书馆1.2目前图书管理系统存在的问题1)检索速度慢、效率低因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了二伟的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。2)借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。而且经常会出现这样那样的差错。3)图书统计工作难、藏书更新不能及时完成。图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。我校也是一所发展中的高校,近儿年的发展速度很快,图书馆的规模和藏书数量也不断的扩大,为了解决海量图书的管理问题,改变传统的管理方式也是迫在眉睫了。1.3课题意义随着计算机的广泛应用,其逐步成为现代化的标志。图书馆或者一些企业内部,甚至是书店,在正常运行过程中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息、还书信息。因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理,能够更快速的满足读者的要求,提高各种工作的效率,现对其设计相应的系统,以达到上述的目的1。图书管理系统的主要功能是实现图书馆图书借阅和归还的管理的自动化。围绕这一主要功能,本系统涉及到以下核心功能:借阅管理,归还管理。除了这些核心功能外,还包括一些基本和辅助功能,它们是:用户管理、图书馆参数管理、图书管理、统计查询。1.4论文的工作和安排本次设计的目标是,开发一个图书馆借阅管理系统。借助该系统,管理员通过快捷可靠的数据库管理,方便的管理图书馆的信息资料,规范化的管理读者用户,设定不同用户权限,并能通过互联网向读者提供更为方便的在线查询服务,方便读者的使用,最终达到提高图书馆资源利用效率的目的。论文设计和实现了图书借阅管理系统系统,可以根据用户的不同权限,对图书馆的的各种信息进行添加、删除、修改或查询操作。论文分为五个部分:第一章即本章绪论,简述图书馆借阅管理系统这个课题的背景情况以及开发本系统的意义。第二章为需求分析,本章中明确了系统需要实现的功能,分析了系统的用例,并介绍根据系统的需求选择的开发工具和技术的概况。第三章是总体设计,详细描述了本系统中数据库的设计情况,并给出了系统总体界面的设计方案。 第四章为程序设计与编码各主要功能模块的实现方法和部分关键代码,同时提供了个主要界面运行的参考图片,以更直观了解系统的实现情况。第五章是软件测试,测试系统功能实现并对测试结果进行记录分析第六章为结束语,为此次毕业设计做一个总结,总结所获得的经验和体会。2.图书借阅管理需求分析2.1 可行性分析采用现代化统一的计算机信息网站系统,能够有效优化图书馆管理系统,使其高效的发挥最大作用,能够迅捷的为读者提供相应的服务。开发本系统的可行性研究如下:2.1.1 技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用JSP开发出友好美观的人机界面,便于用户理解、操作。数据库管理系统采用MySQL,它能够处理大量数据,同时保持数据的完整性、安全性。因此本系统的开发平台已成熟可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需2。2.1.2.经济可行性鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开发这样一个管理系统成本不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理发展的必然趋势,其必将有比较宽阔的市场,因此改性统在经济可行性上时可行的2。2.2 图书借阅管理系统需求概述2.2.1系统目标该系统主要建立一个基于B/S模式的图书馆借阅管理系统,面对当起很多小型图书管理仍是人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的三个用户类型的使用实现:1.对于读者在本系统的应用下可实现按照各种方式(如:书名,编号,作者)查询图书馆的藏书请客,方便的借阅图书,续借图书,归还图书,能够查询自己的借阅图书情况。2.对于图书馆工作人员能够实现方便的对图书进行查询,方便的进行读者借阅情况查询,方便的进行借书还书处理等,便捷的对图书信息进行添加、修改、删除,分类管理等操作,对读者信息进行相关添加,修改,分类管理等操作。3.对于系统管理员可以对图书馆信息进行修改更新操作,对系统用户进行添加、修改、删除、权限设置等操作,对图书馆的办证参数进行修改维护等操作功能。2.2.2用户类和用户特性图书借阅管理系统是一个基于B/S模式的对图书馆进行高效率管理的应用系统,它的用户主要是读者和图书管理员,学生通过该系统进行图书查询进而对自己需要的图书进行借阅及自己的借阅情况进行查询,图书管理员则通过本系统实现对图书及读者的高效管理,除此之外,还需要一个系统管理员对不同的用户进行权限的设置等操作2。三类用户的具体描述如下表所示:表2.1用户具体描述用户类描述读者读者是该系统的重要的使用角色,他们通过该系统查询自己需要的图书信息,并像图书管理员提出借阅图书的申请进而借阅自己所需的图书,还可以通过对自己借阅情况进行查询。图书管理员图书管理员是该系统的另一个重要使用者,图书管理员通过该系统进行图书的增加,修改,删除,分类管理等操作,实现对读者借阅归还续接图书的方便操作,实现对系统中图书,读者,读者借阅情况的查询,信息更改维护等操作,管理读者类型,对不同类型读者可借阅的图书数量进行设置等图书馆的基本操作。系统员系统管理员主要是图书管理系统中用户的管理,实现用户添加修改删除以及用户权限设置等操作,实现对图书馆基本信息的修改维护等操作,还包括对图书馆书架的设置操作,以及校外读者办证所需费用、证件有效期等参数的设置。2.3 图书借阅管理系统需求模型2.3.1功能描述图书借阅管理系统的主要任务是实现读者迅速检索查询,方便借阅归还图书,图书管理员高效的完成系统的各项基本操作,系统管理员是管理用户设置权限等操作3,从图2.1可以看出图书借阅管理系统要完成一下功能:1. 登录。读者、图书管理员,系统管理员进入该系统必须登录,身份验证正确了才可以进入该系统,以不同身份进入该系统所对应的系统使用权限是不同的。2. 系统设置功能:系统管理员可以设置图书馆相关的参数信息。3.用户管理功能:对系统用户进行添加,修改,删除,权限设置等操作。4.查询功能:对图书馆的馆藏图书,借阅历史,读者用户等信息进行查询。5.其他功能系统管理员可以修改自己的密码,并且拥有其他用户所拥有的所有功能。下面的系统用例图描述了整个系统用户之间的动作联系,及功能模块的概述4。 图2.1系统用例图2.3.2图书管理员详细功能描述1. 读者管理功能:对读者的类型和读者档案进行管理,包括添加,修改,删除读者类型和读者用户的相关信息,管理不同类型读者借阅图书的数量。2. 图书管理功能:包括对图书类型和具体图书信息的管理,可以增加,修改,删除图书,丰富具体图书的信息,对不同图书进行分类操作。3. 图书借阅功能:可以完成对读者借阅,续接和还书的操作。4. 系统查询功能:查询图书相关资料,借阅历史和借阅到期题型.5. 修改密码功能:可以修改自己的登录密码。2.3.3读者详细功能描述1) 修改登陆密码:修改自己的登录密码。2) 查询功能:对图书馆图书信息进行查询,对自己当前借阅书籍进行查询,对图书规划到期题型进行查看。2.3.4主要用例的用例描述图书借阅借阅管理系统涉及到的用例包括:图书借阅,图书归还,读书查询,读者信息管理,图书信息管理,用户管理等,现就系统的主要用例图书借阅,图书归还,图书查询进行详细分析。1)用例“图书借阅”用例名称图书借阅标识符UC-1参与者读者,图书管理员描述读书可以通过查询等方式获得自己想借阅的图书的名称,编号,等其他可唯一识别的信息,向图书管理员提出借阅请求,管理员在系统中记录相应信息,将图书交给读者,借阅成功。前置条件1. 登录;2. 进入图书借阅的页面后置条件1 更新图书借阅列表; 主干过程1.0 借阅图书1. 读者请求借阅新地图书,并提供自己的编号2. 系统显示读者借阅情况的表单3. 读者提供想借阅的图书的标号4. 系统存储读者和借阅的图书,并将之存储到数据库中5. 系统更新借阅列表分支过程1.1 选择重置(第3步后分支出来)1. 读者选择重置2. 系统刷新该页面异常1.0.E.1 读者借阅已满(第2步)1读者借阅的数目已经到达自己借阅的上线2. 系统将错误信息显示在借阅页面3. 系统重新启动该用例被包含用例无被扩展用例无优先级高 2)用例“图书归还”用例名称图书归还标识符UC-1参与者读者,图书管理员描述读者将自己借阅的图书归还图书馆。前置条件1. 登录;2. 进入图书归还页面后置条件1 更新图书归还列表; 主干过程2.0 图书归还6. 读者请求归还借阅的图书并提供自己的编号7. 系统显示该读者的借阅信息表8. 使用者填将要归还的图书交给管理员9. 管理员输入图书编号,系统存储归还信息,并将之存储到数据库中10. 系统更图书归还列表分支过程1.1 选择重置(第3步后分支出来)1. 读者选择重置2. 系统刷新该页面异常1.0.E.1 读者借阅超时(第4步)1该书超出了应该归还的时间范围2. 系统将罚款信息显示在归还页面3. 需要缴纳罚金被包含用例无被扩展用例无优先级高3)用例“图书查询”用例名称图书查询标识符UC-3参与者读者,图书管理员描述读者通过图书的标号,名称等信息对相应的图书进行查询。前置条件1. 登录; 2. 转到图书查询页面后置条件1. 查询页面显示相应的图书的信息主干过程图书查询1. 读者输入想要查询的图书信息2. 系统显示相应的图书信息3. 读者点击读书名称,跳转到图书详细信息链接页面分支过程输入信息时(第2步后)1. 系统显示:请选择查询依据2. 用户进行相应选择重新查询(第2步后)1. 系统已经显示了相应图书信息2. 读者想查询其他图书异常5.0.E.1 查询的图书不存在(第2步后)1. 读者输入的图书信息不能在数据库中查询到2. 系统显示暂时无该图书信息3. 重新启动该用例被包含用例无被扩展用例无优先级高3.总体设计3.1 数据库设计3.1.1数据库设计概述数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进行专门阐述5。数据库是数据管理的最新技术。十多年来数据库管理系统已从专用的应用程序发展成为通用的系统软件。由于数据库具有数据结构化,最低冗余度,较高的程序与数据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统6。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用性和相容性,提高了决策的可靠性。目前,数据库已经成为现代信息系统不可分割的重要组成部分。数据库技术也是计算机领域中发展最快的技术之一。数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理6。设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度6。整个系统所包括的信息有图书信息、读者信息、留言信息、图书借阅信息、图书归还信息、系统用户信息、读者类型信息。可将这些信息抽象为下列系统所需要的数据项和数据结构:1)图书信息(编号,图书名称,图书类型,作者,译者,ISBN号,价格,出版社,所在书架,入库时间,操作员)2)图书类型(编号,名称,可借阅天数)3)读者信息(编号,姓名,性别,条形码,读者类型,出生年月,有效证件,证件号码,登记日期,电话,邮箱,操作员)4)读者类型(名称,可借阅图书本数)5)图书借阅信息(图书编号,读者ID,借出时间,应还时间,是否归还,操作员)6)图书归还信息(图书编号,读者ID,归还时间,操作员)7)用户(编号,用户名称,密码)8)图书馆信息(编号,名称,馆长,电话,地址,邮箱,创建日期,简介)图书馆参数信息(编号,办证费用,有效期限)注:带下划线表示主键在这里使用E-R图描述了图书借阅管理系统的数据模型。图3.1图书借阅管理系统E-R图描述了该系统所涉及到的实体以及他们之间的关系。具体结构如下图所示:图3.1 系统E-R 图3.1.2图书信息表结构设计 图书信息表主要用于存储图书馆中所藏图书的相关信息,其中的相关信息是在图书入库时由操作员进行添加完善,此表主要用于读者和图书管理员对馆中图书的查询,系统用户根据图书的某个属性进行查询,便可得知图书的其他相关信息,其中图书所在书架属性是便于读者借阅时对图书的寻找,图书价格是在读者不慎将图书遗失时对遗失图书进行赔偿的依据。表的具体结果如下:表3.2图书信息表tb_bookinfo字段名称数据类型字段长度是否为空说明barcodevarchar30NoKeybooknamevarchar70No authorvarchar30Yes作者translatorvarchar30Yes译者ISBNvarchar20Nopricefloat8,2No 图书价格bookcasevarchar10No图书所在书架pressvarchar70No 出版社intimedateNo 图书入库时间operatorvarchar30No 操作员pageint10Yes 图书页码3.1.3图书类型信息表结构设计 该表的设计主要是方便对图书的分类,和对图书的查询,在实际应用中图书管理员就是根据图书类型的不同将之分列在不同的书架,以方便读者的借阅寻找,其中可借阅天数项设置了不同类型图书的借阅期限,可根据图书的具体情况进行不同的维护管理,表的具体结构设计如下:表3.3图书类型信息表tb_booktype字段名称数据类型字段长度是否为空说明ID int10NoKeybooknamevarchar30No daysint10No 可借阅天数3.1.4 读者信息表结构设计读者信息表的设计是为了图书馆管理员对读者进行管理,其中读者ID,不同类型证件的号码都是唯一的,是读者在借阅图书时需要输入对读者身份进行识别的信息,读者邮件电话等信息室为了与读者进行联系,读者类型信息决定了读者一次性可借阅的图书的数量,注册时间可用于查询计算读者身份有效的期限,操作员是为了便于对信息才操作的查询。表的具体结构设计如下:表3.4读者信息表tb_reader字段名称数据类型字段长度是否为空说明Idint10NoKeynamevarchar20No sexvarchar4No barcodevarchar30No readertypevarchar11No读者类型telvarchar20Yes 电话e-mailvarchar100Yes paperTypevarchar10No 证件类型PaperNO.Varchar20No 证件号码birthdaydateYes intimedateNo 登记时间operatorvarchar30No 操作员3.1.5读者类型信息表结构设计此表的设计是为了对不同身份的读者进行分类方便读者的管理,其中可借阅图书数量的属性设定,是根据读者需求的不同对起权限进行的设置,用于规定不同类型读者一次可借阅的图书数量,表的具体结构设计如下:表3.5 读者类型信息表tb_readertype字段名称数据类型字段长度是否为空说明ID int10NoKeyreadernamevarchar50No numberint4No 可借图书本数3.1.6图书借阅信息表结构设计该表的设计是用于对读者借阅图书进行管理,表中图书ID属性是对借阅图书的唯一性识别标识,读者ID号记录借阅的相应读者,结出时间记录了相应的归还时间,以及归还时是否超时,操作员是对借阅进行操作的人员的记录方便日后的查询,是否归还标识可查询当起读书是否被归还,表的具体结构设计如下:表 3.6 图书借阅信息表 tb_borrow字段名称数据类型字段长度是否为空说明ID int10NoKeyreaderIDvarchar10No bookIDint10No borrowTimedateNo 结出时间backTimedateNo 应归还时间operatorvarchar30No 操作员ifbacktinyint1No 是否归还3.1.7图书归还信息表结构设计与图书借阅信息表形成对照的是图书归还信息表,该表的设计除了像上表一样把借阅的图书与相应的借阅者进行对应的联系以外还记录了读者应归还图书的时间,以此判断读者的借阅是否超时,表的具体结构设计如下:表 3.7图书归还信息表tb_giveback字段名称数据类型字段长度是否为空说明ID int10