ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:422.77KB ,
资源ID:25157803      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25157803.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图书馆管理信息系统基于JAVA和MySQL.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图书馆管理信息系统基于JAVA和MySQL.docx

1、图书馆管理信息系统基于JAVA和MySQL图书馆管理系统设计与实现一、需求分析1.1 需求概述图书馆在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息。现有的人工记录方法既效率低又错误过多,大大影响了图书馆的正常管理工作。因此需要对书籍资源、读者资源、借书信息、还书信息、挂失信息进行管理,及时了解各个环节息的变更,有利于管理效率的提高。一个图书馆有若干个图书管理员,每个管理员用唯一的编号标识,并作为其身份验证的用户名,管理员的其他信息主要包括密码、等。一个图书馆有若干书籍由国标书号(ISBN)惟一标识。书籍需要记录的其他主要信息有书名、作者、出版年限、价格、图书类型、

2、索书号、馆藏位置等。在从图书馆借阅图书之前,读者必须进行有效的注册,包括读者编号、类型、性别、登陆密码等。读者编号惟一标识读者身份。可以将读者加入黑,加入黑的读者不能再次借书。读者归还图书后需保留借阅历史记录,其中包括的信息有图书编号、读者编号、借阅日期、归还日期等。图书丢失须进行挂失登记, 将原有借阅记录状态改为已挂失并且添加丢失日期等信息。1.2 功能分析 用户信息管理(用户信息包括管理员及读者信息) 添加用户信息删除用户信息修改用户信息查询用户信息修改用户密码 图书信息管理 添加图书信息 删除图书信息 修改图书信息 查询图书信息 图书借阅管理 添加借阅信息 修改借阅信息 查询借阅信息 图

3、书挂失登记1.3开发平台开发工具:eclipse + JDK1.6 + Struts2.3 + Spring3.2 + MyBatis3.2开发语言:Java、Python数 据 库:MySQL 5.0系统环境:Windows 7 + Tomcat 71.4数据库需求分析 用户信息:用户编号、账号、密码、性别、员工号/学号、年级、用户类型、用户状态 图书信息:图书编号、书名、副标题、原书名、封面、作者、译者、页数、价格、装帧、馆藏位置、出版日期、目录、作者简介、图书简介、入库日期、豆瓣评分、图书状态 借阅信息:操作员编号、读者编号、图书编号、借阅日期、借阅天数、归还日期、挂失日期、备注、借阅状

4、态二、数据库逻辑设计2.1 ER图图1 图书馆管理系统ER模型图上图是图书馆管理系统的概念模型的ER图,涉及到的实体集有:管理员实体集:具有属性管理员编号、账号、密码、员工号、性别、状态。读者实体集:具有属性读者编号、账号、密码、学号、性别、状态。图书实体集:具有属性图书编号、名称、副标题、原名、作者、译者、ISBN、价格、页数、装帧、馆藏位置、出版日期、作者简介、目录、图书简介、封面、入库日期、状态。借阅记录实体集:具有属性借阅编号、操作者(管理员)、借阅者(读者)、所借图书、借阅日期、借阅天数、归还日期、丢失日期、备注、状态。一个读者可以借阅多本图书,一个操作员可以登记多个图书借阅记录,管

5、理员、读者及图书是M:N:P多对多的关系。为简化数据库设计,不在重复设置丢失表,读者丢失图书时,借阅记录转化为丢失记录,借阅记录中状态设为2的为丢失记录。同理将管理员表和读者表合二为一,增加用户类型字段,用户类型为0表示读者信息,用户类型为1表示管理员信息。2.2 将E-R模型转换为关系模型(1) 管理员实体集可以转换为关系管理员(编号,账号,密码,员工号,性别,状态)(2) 读者实体集可以转换为关系读者(编号、账号、密码、学号、性别、状态)(3) 图书实体集可以转换为关系图书(编号、名称、副标题、原名、作者、译者、ISBN、价格、页数、装帧、馆藏位置、出版日期、作者简介、目录、图书简介、封面

6、、入库日期、状态)(4) 借阅实体集可以转换为关系借阅记录(编号、操作者、借阅者、所借图书、借阅日期、借阅天数、归还日期、丢失日期、备注、状态)2.2 将关系模型转化为表结构2.2.1用户信息表 表 名:user 功能描述:记录管理员、读者信息 字段说明:字段名称类型PFM说明useridint(11)用户编号,自增usernamevarchar(30)账号passwordvarchar(30)密码realnamevarchar(30)sexvarchar(4)性别employeeidvarchar(30)员工号/学号maxnumint(11)最大可借数目(预留)borrowednumint(

7、11)已借数目(预留)gradevarchar(50)年级usertypeint(11)类型,0读者;1管理员statusint(11)状态,0正常;1失效2.2.1图书信息表 表 名:book 功能描述:记录图书信息 字段说明:字段名称类型PFM说明bookidint(11)图书编号,自增booknamevarchar(255)书名subheadingvarchar(512)副标题oldnamevarchar(512)原名thumbvarchar(255)封面bookconcernvarchar(255)pagesvarchar(40)页数pricevarchar(40)价格boundvar

8、char(40)装帧authorvarchar(255)作者translatorvarchar(255)译者isbnvarchar(40)ISBN号pubdatevarchar(20)发布年份scoredecimal(4)评分catalogtext(0)authorintrotext(0)作者简介descriptiontext(0)简介locationvarchar(100)馆藏位置adddatedate(0)入库日期statusint(11)状态: 0 正常可借 1 已借出 2已挂失2.2.1借阅登记表 表 名:borrow 功能描述:记录图书借阅、图书归还、图书挂失等信息 字段说明:字段名

9、称类型PFM说明borrowidint(11)借阅流水号,自增borroweridint(11)借阅者编号(外键user表)bookidint(11)图书编号(外键book表)operatoridint(11)操作员编号(外键user表)borrowdatedate借阅日期borrowdaysint(11)借阅天数returndatedate归还日期losedatedate丢失日期remarktext备注statusint(11)状态,0未归还 1已归还 2已挂失三、数据库物理设计3.1 索引表建立索引的列原因useruserid主键,搜索条件 username搜索条件employeeid搜索

10、条件bookbookid主键,搜索条件isbn搜索条件status搜索条件borrowborrowid主键,搜索条件operatorid外键,搜索条件borrowerid外键,搜索条件bookid外键,搜索条件status搜索条件3.2 视图1) 该系统需经常查询某个读者当前借阅书刊的详细信息,为简化多表查询,故建立视图view_borrow,该视图定义如下:CREATE view view_borrowasselect borrow.borrowid AS borrowid,borrow.borrowerid AS borrowerid,borrow.bookid AS bookid,bor

11、row.operatorid AS operatorid,borrow.borrowdate AS borrowdate,borrow.borrowdays AS borrowdays,borrow.returndate AS returndate,borrow.remark AS remark,borrow.status AS status,book.bookname AS bookname,book.isbn AS isbn,borrower.realname AS borrowername,borrower.employeeid AS employeeid,operator.realna

12、me AS operatorname from (borrow join book) join user borrower) join user operator) where (borrow.bookid = book.bookid) and (borrow.borrowerid = borrower.userid) and (borrow.operatorid = operator.userid)3.3 安全机制1) 系统安全并没有给每个数据库用户分配一个认证标识,均使用超级用户root连接数据库,数据库用户所能做的操作在应用程序中加以控制,来保证系统安全。2) 数据安全基本上没有用户对基

13、本表和视图操作的权限控制,这些均在应用程序中加以控制,来保证数据安全。四、应用程序设计4.1 管理员功能模块图2 图书馆管理系统功能模块4.1.1 系统管理模块用户查询,根据用户编号、账号、工号、学号、类型、状态检索用户详细信息; 添加新用户时,系统自动生成用户编号,输入用户的其他相关信息,提交即可添加新用户。删除读者时,若该读者存在借阅图书未还的情况,则系统提示暂无法删除。4.1.2 借阅管理模块。功能包括检索借书登记,还书登记和书刊挂失登记。1)借书登记读者借阅图书时,管理员输入读者编号,可查询读者的详细信息;输入要借阅书刊的编号或者ISBN号,可核实该书的详细信息;点击提交借书请求。结束

14、成功后,该读者当前借阅信息将添加新借阅书刊,令管理员方便的核实提交是否成功。以下几种情况任意一种情况发生,读者都暂时无法借书:该读者当前借阅量已达最大借阅量;该读者有借阅图书已超期未归还;该读者被加入黑的。2)还书登记读者归还书刊时,只需输入书刊号,可查询该书的借阅信息,点击还书提交还书请求填写相关的信息后提交,书刊成功归还,其他读者可以借阅。3)书刊挂失借阅书刊遗失,读者可进行挂失。挂失操作时,只需输入读者编号,即可查询读者当前借阅书刊的详细信息,每条记录后附有挂失一栏,读者确认挂失某本书刊,管理员只需点击挂失一栏,填写相关信息后提交,挂失成功,借阅记录状态改为已挂失,图书状态改为已挂失,其

15、他读者不可借阅此书。4.1.3 图书管理模块功能包括检索图书详细信息,添加图书信息,修改图书信息,删除图书信息。图书检索,根据图书编号,ISBN,图书名称、图书作者、馆藏位置、发行日期进行模糊查询,输入检索条件后单击检索即可检索得到相应图书详细信息。该信息还包括图书馆藏位置、是否可借的情况。添加新书时,输入书刊的相关信息,为了减少图书编目输入的复杂度,系统提供根据ISBN号从互联网豆瓣读书获取图书信息功能,大大减少管理员输入图书详细信息时的效率。删除指定书刊时,输入书号可查询书刊详细信息,若当前书刊有外借副本,则系统提示暂无法删除;点击提交删除请求,则删除该书刊的相关信息。4.2.读者功能模块

16、4.2.1 读者信息管理模块读者可查看个人信息,并修改个人密码。4.2.2 图书检索模块读者可以根据图书编号,ISBN,图书名称、图书作者、馆藏位置、发行日期进行模糊查询,输入检索条件后单击检索即可检索得到相应图书详细信息。该信息还包括图书馆藏位置、是否可借的情况。读者检索到想要借阅的图书信息后记录图书编号、ISBN等信息,到图书馆前台提供以上信息进行图书借阅。4.3 界面设计界面设计风格简单明了,朴实自然,便于操作。尽可能列表直接显示查询结果,避免数据的输入,方便用户使用。图3 图书入库界面图4 图书管理界面图5 图书借阅管理界面图6 图书借阅登记界面图7 用户管理界面五、测试和运行分别用管

17、理员用户root,密码admin和读者用户sunshine,密码123456登录图书馆管理信息系统。登录成功后,分别进入管理员业务界面和读者我的图书馆界面。通过python写的爬虫工具从豆瓣读书抓取了近5000条图书信息作为初始化测试数据。在图书检索界面通过输入ISBN等检索条件进行检索,系统响应时间在200ms, 响应时间非常快。如下图:通过root、sunshine账号对图书借阅、归还、挂失进行了测试,流程均可以跑通,对于黑用户、已挂失图书均做了相应的逻辑处理。六、总结在这次数据库系统原理大作业的事件过程中,确实有很多收获。通过这次课程设计把上学期的java课程学到的东西也应用到了实践过程

18、之中。还学习使用了java流行的框架结构struts、spring、mybatis等。虽然只是一个简单的DEMO系统,有些系统逻辑尚有欠缺,并不能实际应用,但是从数据库的设计到编码实现,这个过程中还是学到了不少东西。另外从豆瓣读书获取图书详细信息是此图书馆管理系统的一大创新,目前市场上流行的图书馆管理系统在成千上万图书集中入库时需要N多编辑人员对图书信息进行人工录入,费时费力而且录入信息不一定准确。随着豆瓣读书、当当网、卓越网的流行,互联网上存在着大量的图书详细信息,图书入库时从这些互联网上根据ISBN直接获取图书详细信息供录入人员参考将会大大减少图书信息录入的工作量,大大提高录入人员的工作效率,大大增强图书信息录入的准确度。但是由于本学期课程较多,时间较紧,此图书馆管理系统的某些逻辑设计的非常简单,比如每种图书都需要有副本管理,每个副本都有唯一条码确定,读者借书时只需要提供条码号即可;图书挂失后应该会有相应的赔偿,如果没有赔偿则读者的信誉度降低不能再次借阅图书;每个读者都应该有相应的借阅图书数目的限制,超过此数目后将不能借书;读者没有图书归还超限以后将不能借书等等。我们认为此次数据库原理大作业的实践是对我们下学期毕业设计及毕业论文的编写的一个热身,对我们高质量的顺利的完成毕业设计产生了非常积极的作用,借此机会感老师的悉心教导!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1