《基于推5算法的图书馆管理系统的设计与实现(1).docx》由会员分享,可在线阅读,更多相关《基于推5算法的图书馆管理系统的设计与实现(1).docx(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学士学位论文基于推荐算法的图书馆管理系统的设计与实现姓 名学 号院 系信息工程与计算机学院专 业信息与计算科学指导教师河北金融学院学士学位论文学位论文原创性声明本人所提交的学位论文是在导师的指导下独立进行研究工作所取得的原创性成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中标明。本声明的法律后果由本人承担。论文作者(签名):王帧凡 指导教师确认(签名):李志明2021年4月27日 2021年4月27日学位论文版权使用授权书本学位论文作者完全了解河北金融学院有权保留并向国家有关部门或机构送交学位论文的复印
2、件和磁盘,允许论文被查阅和借阅。本人授权河北金融学院可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其它复制手段保存、汇编学位论文。论文作者(签名):王帧凡 指导教师确认(签名):李志明2021年4月27日 2021年4月27日摘 要随着互联网技术的快速发展,对于图书馆管理系统的需求也在进一步提升。由于图书的种类越来越多,其相应的业务数据都不断提升,使得图书馆中的图书数据信息量已经远远超出了人工管理的水平。为了进一步给广大读者提供更为便捷的服务,可以按照读者的实际需求提供个性化定制,而当下的大多数图书馆系统中还不能满足用户的个性化定制服务。 目前大部分高校蕴藏着大量的
3、图书借阅信息,如何利用这些信息、方便读者的借阅过程且预测读者的借阅需求,进而推荐满足读者需求的图书信息是值得研究的问题。因此,本论文的主要工作是在河北金融学院信息工程与计算机学院处设计一个图书管理与推荐系统。本系统使用Java为开发语言,选择JSP为开发框架,SSM为系统架构、MySQL作为系统数据库,同时,为了使用户能够有更加个性化的体验,本系统采用了K-means算法将用户归类,并为用户提供了不同的图书推荐。以达到图书管系统千人千面的效果。本课题研究的系统对目前图书馆所遇到的实际问题提出了解决方案,帮助校园更加方便地对图书馆进行管理,其利用空间较大5。结合大数据技术的图书管理系统,可根据每
4、位用户的借阅习惯,提供个性化服务,既能提高用户的阅读积极性和知识面,也能增加了用户对系统的粘度,再利用相关算法对其后台所积累的数据进行挖掘分析,提高管理者的管理效率和资源使用率。关键词:大数据;图书管理;个性化推荐;Java;JSP;SSM;MySQL;K-meansABSTRACTWith the rapid development of Internet technology, the demand for library management systems is further increasing. As there are more and more types of books,
5、 their corresponding business data are constantly improving, making the amount of book data information in the library far beyond the level of manual management. In order to further provide more convenient services to readers, personalized customization can be provided according to the actual needs
6、of readers. However, most of the current library systems cannot meet the personalized customized services of users.At present, most colleges and universities contain a large amount of book borrowing information. How to use this information to facilitate the borrowing process of readers and predict t
7、he borrowing needs of readers, and then recommend the book information that meets the needs of readers is a problem worthy of research. Therefore, the main work of this thesis is to design a library management and recommendation system at the School of Information Engineering and Computer, Hebei Uni
8、versity of Finance.This system uses Java as the development language, JSP as the development framework, SSM as the system architecture, and MySQL as the system database. At the same time, in order to enable users to have a more personalized experience, the system uses the K-means algorithm to classi
9、fy users. And provide users with different book recommendations. In order to achieve the effect of thousands of people in the library management system.The system researched in this subject proposes solutions to the practical problems encountered by the library at present, and helps the campus to ma
10、nage the library more conveniently, and its utilization space is larger. The book management system combined with big data technology can provide personalized services according to the borrowing habits of each user, which can not only improve the users reading enthusiasm and knowledge, but also incr
11、ease the users viscosity to the system, and then use related algorithms to deal with it. The data accumulated in the background is mined and analyzed to improve the management efficiency and resource utilization rate of managers.Keywords: Big data; book management; personalized recommendation; Java;
12、 JSP; SSM; MySQL; K-means目 录第1章 绪论61.1 研究背景及意义61.2 相关技术简介6第2章 系统需求分析92.1功能需求分析92.2 非功能性需求112.3 系统的可行性分析11第3章 系统设计133.1 系统概要设计133.2 数据库设计133.3 功能模块设计14第4章 系统实现164.1 数据库实现164.2 功能模块实现18第5章 系统功能测试325.1 测试目的325.2 测试结果325.3 推荐模块测试34第6章 总结与展望36参考文献37第1章 绪论现代信息技术的突飞猛进的发展为各行各业提出了更多的机遇与挑战,数据库技术的不断成熟使得各种管理信息系
13、统的数据库中沉积了大量的数据,如何利用这些数据为组织服务,信息管理系统应运而生。1.1 研究背景及意义随着互联网技术的迅猛发展,传统的图书馆管理模式也得到了进一步的升级,随着数据的进一步增长,对于信息化处理的需求也在随之提升。越来越多的学者也开始研究高校图书馆信息系统,在当下的日常生活之中,的各个步骤都逐渐采用数字化管理方法来代替传统的人工管理,从而积累了大量的数据,并积累了一定数量的有价值的图书馆不仅是学子们获取知识的主要场所,也是学术的信息化中心。随着互联网技术的快速发展,对于图书馆管理系统的需求也在进一步提升。由于图书的种类越来越多,其相应的业务数据都不断提升,使得图书馆中的图书数据信息
14、量已经远远超出了人工管理的水平。为了进一步给广大读者提供更为便捷的服务,可以按照读者的实际需求提供个性化定制,而当下的大多数图书馆系统中还不能满足用户的个性化定制服务。1.2 相关技术简介1.2.1 JSP简介 除了提高软件互操作性,JavaScript语言是一款主要用于事件驱动的脚本语言。其可以在移动终端的浏览器页面中嵌入并按照实际需求执行相应的HTML代码。JavaScript使Web开发人员能够更有效地控制页面。与Java语言相同,JavaScript编程语言也可以实现跨平台编程。其可以独立于任何的操作系统从而最终实现项目的集成。JavaScript还同时拥有占用少量系统和网络资源的优势
15、。因此,嵌入式JavaScript在JSP页面中实现了一些检测功能,这将使网页更具交互性,响应速度更快,效率更高 最开始HTML用Servlet输出的过程非常麻烦,而JSP是一种Java和HTML共同存在的架构,如用JSP来代替输出HTML,整个过程就会简单很多。JSP架构中由前端创建表单,之后发送给后端实现前后通信。在进行软件的开发过程中,选取合适的开发语言是成功的关键。而开发方法也无外乎两种,一种是面向对象的程序设计开发,多常见使用Java语言、C+语言等。另外,一种是面向过程的开发,常见的开发语言如C语言等,为了丰富并完善系统的使用特性,有时也会将这二者进行混合。通过分析可知,JSP页面
16、是由Java、HTML这两类代码构成的,当客户端收到请求后,服务器会对Java代码进行处理,处理完毕后,会有HTML页面形成,并且将具体情况向客户端反馈。经分析可知,Java Servlet是JSP技术能够发挥作用的前提,要想开发大规模Web程序,就必须得此技术和Java Servlet和充分配合。通过分析发现,Java技术的各项功能,JSP都具备,同时它的可靠性以及安全性也极高。1.2.2 MySQL简介 MySQL为传统关系性数据库,具有很好的开放式架构,因为数据库稳定性和可靠性能够得到很好的保证,并且对于个人使用是完全免费开放的,因此得到了广泛的 应用。MySQL的语言是非结构化的,用户
17、可以处理数据。MySQL被广泛使用,因为它的语言和结构相对简单,但是它的功能和存储信息非常强大。特别是当不需要事务处理时,MySQL是管理内容的最佳选择。其源代码是公开的,这使得该数据库可以按照自身的实际需求进行定向化修改,从而满足后续的开发要求。在实际使用过程中,其适应能力强的特性在跨平台应用上显得格外突出,不仅语句的查询过程很快,对于数据的基本增删改查等操作也是非常迅速。安装过程也相对简易。在编写SQL语句时使用也是方便的,不需要像其他语言那样需要编写更多的语句。上世纪九十年代末期,首版MySQL数据库问世,此数据库能够进行多线操作模式的提供,还能够进行各类编程语言编程接口的提供,同时它还
18、可以对诸多字段类型提供支持,利用运算符来对查询中的两类操作提供支持,这两类操作首先是WHERE操作;其次是SELECT操作。作为开源数据库,不论是谁,都可以利用公共许可证来下载MySQL,同时还能够按照自身实际需求来修改它。通过分析发现,由于MySQL具备许多优点,比如适应性很强,十分可靠等,所以受到许多人的青睐,它并不用在大型仓库里保存数据,只需要利用单独标来保存数据,如此不但更加灵活,而且速度也很高。最开始设计这一数据库,是准备在对大规模数据库进行处理时来对其进行运用,和当前已有数据库相比,其处理效率要高得多,同时即使在较为严格的生产环境里也能够使用很长时间,虽然当前这一数据库还没有完全开
19、发出来,然而其当前的功能集已经足够丰富,由于其具备许多优点,比如十分安全、效率很高等,所以在Internet上的数据库中极具适用性。 1.2.3 CSS简介 CSS 英文全称 Cascading Style Sheets 又叫层叠样式表,是一种用来表现HTML或 XML 等文件样式的计算机语言。CSS 不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化6。CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。1.2.4 Tomcat简介Tomcat既是一种应用服务器,也是一种容器,Tomcat是作用于Ser
20、vlet的容器,可以发布JSP服务和Java Web服务。1.2.5 SSM简介SSM是由Spring MVC、Spring、MyBatis组成的架构,这三个架构中处于不同的位置,各司其职。在用Java开发互联网应用时,SSM框架(Spring + Spring MVC + MyBatis)成为了越来越主流的选择。它们的共同特点是用尽可能少的代码实现更多的功能,降低了系统的耦合性。技术框架的熟练使用有利于提高编程的效率,为日后的技术工作打下坚实的基础。系统进行安装的过程中,开发环境和配置可以按照软件的提供商的要求执行,实际使用中,可以用ssm工具并结合mysql数据库完成基本的操作环节,包括对
21、于数据的导入和导出、数据的实时交互。按照实际的要求对系统进行定向维护,使其便利软件开发者的日常开发,以提供实现设备所必须的稳定性。在轻量级的开发中,Java Web系统架构往往由四层组成:图1-1 Web系统架构1. 表示层:表示处理HTTP请求,将Json参数转化为对象,并对请求进行身份验证并将其传输到业务层,这一层包括视图、还有前端部分。2. 业务层:业务层负是调配和处理业务上了逻辑的一个单元模块。3. 持久层:能够使业务层和存储层互相转化。4. 数据库层:包含对数据库的操作命令。1.2.6 K-means简介K-means是一种无监督的聚类算法,从不同角度来分析通过对数据的进一步分析来实
22、现数据聚类。其原理在于通过将数据按照相似性程度的高低,来分成不同的簇,并且在实际分析环节中,簇内部具有较强的相似度,而簇之间相似度很低。对聚类进行定义,通俗的说就是把具有相似度或类似性的对象划分到一个类属下,专业的说就是把数据对象根据条件设定不同划分为多个不同的类或簇,通常被用于数据挖掘场景。一般而言这些类或簇内都会因此而具备高度类似性,反过来,类与类或簇与簇之间却会呈现出类似性较低的特性,这一划分和分类过程就是所谓的聚类分析。通常该类型算法具备多种不同实现途径,如划分分析法或分层分析法,或基于不同性质和属性如密度、模型等进行归类和划分的方法等。目前聚类算法中在最多场景得到应用的是 K-mea
23、ns 算法,该算法另一个名字叫K-均值,其实质是一种划分法,基于需要确定K值,之后将数据对象基于该值进行划分最终实现聚类,呈现K个簇状态,这些簇,簇与簇之间不存在较高性状类似度,单个簇内部情况却刚好相反,具有较高性状类似度。对K-Means 算法进行观察和分析,发现其是基于距离而构建,换言之距离是其进行划分的性状类似度度量指标,这意味着两个数据对象距离表现较近时,它们间的性状类似度也就较高,通常会把这些数据对象划分到同一簇之下。得到簇之间具有相对独立性簇内部却又紧凑相关的一系列簇就是该类型算法的最大目的。第2章 系统需求分析2.1功能需求分析2.1.1前端图书小程序功能需求分析在科技飞速发展的
24、今天,很多图书馆的基础设施支持仍然不足。改善图书馆的数字化服务,为读者提供高效的数据库检索,借阅服务迫在眉睫。在数字图书馆中,原本的纸质书本将会变成数据,读者在进行检索以及移动端阅读时更加便利,然而很多地区的公共图书馆并没有科学地整合两种形式的图书资料,使得数字图书馆和纸质图书之间出现脱节。基础性设施支撑不够也会影响读者在使用数字图书馆时的阅读体验。通过调查用户对图书馆借阅,主要可以分为以下的几点:1. 用户模块:主要负责用户的详细个人信息等。2. 图书模块:主要负责用户的详细图书信息等。3. 借阅模块:主要负责用户的详细借阅信息等。4. 管理员模块:负责管理管理员相关信息。5. 个性化推荐模
25、块:负责为读者提供千人千面的推荐服务。分析每一个功能模块后,可以将功能模块进行拆分,在图书管理系统中,使用系统的主要分为两类用户:管理员和普通用户。管理员需要的功能有,馆藏信息页面,管理员可以在此页面内查看图书信息,编辑以及删除信息,读者管理页面可以供管理员编辑以及删除读者,借还日志页面可以展现出所有读者的借阅历史,管理员还可以在密码修改页面修改账户信息。图2-1 管理员功能用例图系统为普通用户提供的功能有:登录,图书馆现有书籍信息查询,用户个人的借还信息,以及修改个人密码等。图2-2 学生功能用例图2.1.2 后台图书管理系统功能需求分析管理运营者更多考虑到的是图书馆图书利用率的问题,要解决
26、此问题,需要更多的让学生去借阅自己喜欢的书籍,图书管理系统寻藏着的大量的借阅信息和用户的个人信息,个性化的推荐系统让用户能够体验到千人千面的感觉,系统可以设计依照每个人不同的喜好看来推荐不同的书籍,增加读者借阅的几率,减少公共资源的浪费。在该类型系统中可以通过对K-means算法的充分利用,从读者在系统中留下的借阅记录,这包括多方面内容如借阅图书的具体书目所属类别和倾向性,及单次或每个时间段内借阅数量等,对读者进行高类似性状的聚类。对读者留在系统中的借阅信息进行深度挖掘,对读者类群和图书类目间展开关联性分析并得到结果,从而构建有效而合理的图书关联规则库。1、读者聚类分析通过对图书馆读者的数据分
27、析可知,不同读者对图书馆的使用频率不同。进一步就其进行聚类分析可知,一方面,可以通过数据的比对,以了解读者访问图书馆的资源情况。另一方面,可以通过用户对图书资源的访问,以判别用户的阅读习惯。 2、图书关联性分析随着计算机技术的迅猛发展,可以有针对性地开展对图书关联性分析,比如通过数据挖掘技术了解到用户曾借阅会计学原理这本书后,其很大程度上会借阅财务会计管理这本书。 3、图书个性化推荐对于不同的阅读者,通过大量数据的深度挖掘来分析其阅读习惯,从而有针对性地提供个性化推荐服务,并根据不同类别为不同的读者提供图书推荐服务。2.2 非功能性需求实用性原则,为了努力实现工作过程中的需要,为了充分考虑到各
28、个层级过程中对于数据的使用和处理,必须将用户的实际需求纳入到首要考察的地位中。具体的非功能需求如下:1 可靠性 通常系统优先级都是设定为用户响应,在设计开发时需要充分考虑到用户并发访问可能的场景和需求,设定系统能够有效承载并发高峰所造成的系统冲击和压力并能够始终稳定维持用户响应,换言之具备优秀的承载特性。2 友好性 通常系统系统设计和开发时,尤其是本文所涉及图书馆系统,需要充分考虑到用户个人情况的复杂性,知识不同,所拥有的认知能力和技能条件也不同,决定了他们对同一操作也会具有截然不同的感受,因此在设计和开发时要坚持通用性和简单性原则,功能供给和实现要尽可能直接和实用。3 完整性 通常来说系统需
29、要更多更完整的信息数据库,如各种读者信息,既有其个人注册信和登录信息,也有其借阅记录等,同时还有馆内图书资源信息及部分馆外数据,对这些信息能够进行操作,实现查询和管理功能。也正是建立对这些信息的挖掘基础上,让个性化图书推荐得以达成。4 可扩展性 在进行系统设计和开发时,要让推荐子系统具备足够而充分的扩展性,这既是因为图书馆情况在不断发生变化,数据信息自然也会出现相应增添,也是因为会出现新的功能需求,因此会要求系统能够实现这些新增或删减功能的需求,因此在设计和开发之初就会确保系统具有一定程度和一定情况下的开放性,同时也让系统具备多接口特性。2.3 系统的可行性分析可行性分析,是指在进行全方位系统
30、研究的基础上,对新系统的可行性进行全方位的分析。通过从经济等各种角度来考察开发新系统的实际必要性,开展研究以避免投资领域出现失误状况,最终确保新系统可以成功开发。其目的在于确定项目不仅可以在最短的时间内得以实现,更可以从经济学的角度出发以较低的投入解决。系统的可行性分析主要涵盖着几个方面。该系统在技术方面主要是Java、Spring MVC、Spring、MyBatis等编程技术开发。后台数据库使用了MySQL进行数据存储。1) 经济可行性。该系统实施后,可以节约学校的成本和支出,可以加快资金周转,可以大大提高工作效率,可以提高师生的教学精度,提高学生的学习质量。另外,系统功能简单,维护费用低
31、,界面简单且详细。因此,该系统在经济上是可行的。2) 技术可行性。技术可行性主要从技术的角度出发,通过分析和研究相关的技术条件,以此来判断项目能否成功开展,并确定所需要的软硬件资源是否符合项目的要求。该系统是基于browserclients模式进行。browserclients是基于服务器框架的体系结构,并使用了互联网内部网模式下的技术。其通过系统的应用,将原有的发展的格局进行了进一步的升级。MySql数据库的使用同服务器的紧密连接,也使得在基本操作中,数据量过大的问题也可以得到妥善解决,从而保证了数据的基本完整。以此为基础的开发过程中,许多新的功能才得以实现。其灵活性、通用性等优异特性为数据
32、库的编程提供了良好的发展条件。随着系统开发过程的进一步成熟,随着硬件应用领域的不断完善,软件系统的适用性得到了更多的支持。随着硬件更新的不断加快,随着硬件容量的不断升级,未来其可靠性也会随着更高。经以上分析,本平台的开发在技术上是可行的。按照新系统目标来对相关技术是否可用进行衡量便是技术可行性分析。分析各类网站建设情况能够发现,相信未来此系统开发将有一个更加清晰的前景。3) 操作可行性。如今可以按照有关需求来处理数据库的各类数据,令系统运行足够安全、足够稳定,不会令系统承受较大的压力。4) 硬件可行性分析。进行系统管理的开发过程中,对于计算机的性能没有硬性规定。其只需完成基本的代码的编辑和运行
33、就可胜任。对于系统要求较高的环节在于平台的搭建,这要求平台的硬件可以符合条件,而对于服务器端,随着技术的发展可以将原有的线下服务器端转移到云服务器端进行,其仅需要较高的安全性即可。5) 软件可行性分析。软件开发过程中,系统使用了云计算技术,而基于云计算的智能化则会按照实际的使用情况对于流量的分布和使用进行再规划,从而保证基本数据的安全。 第3章 系统设计3.1 系统概要设计本系统为两个大模块构成,包括前端图书信息管理系统和后端管理系统模块,其中每个模块又包含许多个功能模块。前台模块包括:读者登录、图书浏览、查找和个人信息查看,个人信息包含多方面内容,从读者的注册信息、借阅记录包含未归还记录和预
34、约记录、同时还包括图书预约之后进行取消记录、归还申请记录等。后台模块包括:用户信息的管理、库存图书信息的管理以及借出或归还记录信息的管理。与此同时,库存图书信息进行数据操作和管理具体内容包括针对图书数量进行数据操作修改、针对图书类目等基本信息进行数据操作修改、针对借出图书进行数据操作修改以及归还的图书信息的修改。 3.2 数据库设计读者基础信息表:该表中包括用户id、名称、年级、状态等信息,这些信息方便后续做用户分类。馆藏图书信息:这张表和读者信息表类似,负责记录最基本的图书的信息,包括图书的id、名称、出版社、出版时间、基础简介等。借阅信息:这张表是一张联合表,要包括借阅的读者和借阅的书籍两
35、方面信息,它搭建了读者和图书信息之间的桥梁,为数据挖掘提供主要的信息数据做支撑,通过研究这部分数据,对其采用统计,挖掘等操作可以得到用户的分类,联合用户分类和图书特点可以得到两者信息间的关联,搭建最后的借阅的模型。 图3-1 数据库设计ER图3.3 功能模块设计用户和管理员的功能模块可按照以下划分。图3-2 系统功能模块设计图管理员功能1. 管理员账号:登陆进入管理员主页面。2. 管理员部分主要由四个功能模块组成,并依次可以进入如下的几个界面。3. 信息查看和新增图书,此处数据来自于图书信息数据表,另外此处提供了图书的模糊搜索功能,例如搜索“人类”可出现“人类简史“书籍。此外,管理员还可以向系
36、统里新增图书信息。新增的图书信息将直接录入数据库中。4. 在该模块中,可以实现管理员对读者信息进行有目的或分类等查看动作的功能,而此处信息取用调度自读者信息库表,而已经不再被列入用户范围的学生如已毕业离校的或已对账号进行注销操作的等,管理员可以在系统中进行对应性信息删除,与之相对的,如果新注册读者,管理员可以通过相对应的新增读者页实现新增操作。5. 在借还日志页,管理员可删除借书日志,未归还的借书记录不可删除6. 在密码修改页面,管理员可修改自己的密码。读者功能1. 系统预设了读者账号以及密码,登陆后可以进入读者页面。2. 读者信息管理页面由四大块组成,分别是图书查询页面、个人信息页面、借还等
37、。3. 在图书查询模块中,读者可以看到图书列表,已被借空的图书则无法操作,用户可以点击借阅自己喜欢的图书,点击借阅按钮成功后借阅按钮变成归还按钮,同时图书在馆数量减少。此外,用户点击图书详情按钮可以查看图书信息详情。4. 图书查询页面的查询框支持用户模糊查询。5. 读者在个人信息页面可以修改个人信息。6. 在读者借还历史页面可以看到读者个人的历史借还历史记录单、可以看到每本书的借出和归还日期。7. 在密码修改页面可以修改当前用户的密码。8、 读者登陆后可以看到不同的图书推荐页面。3.4 推荐系统设计图书推荐系统的算法架构比较清晰,读者为系统提供读者信息和借阅信息,这些信息加上图书的信息,图书管
38、理系统寻藏着的大量的借阅信息和用户的个人信息,如何能有效的利用数据是一个值得研究的方向,图书馆需要跟上信息技术发展的节奏,改善传统的工作方式,并从曾经主要依赖的纸质图书馆转变为广泛使用的数字图书馆。系统的主要模块如下图所示:图3-3 系统功能模块设计图推荐算法作为系统上的子板块,将展现在用户的查看图书处,推荐算法由K-means完成,由Python语言书写,Python与数据库交互,调取用户数据库内容并通过算法生成推荐的书籍列表并将数据书写入数据库表中,java系统读取数据库中推荐书籍表单,继而将推荐书籍展示给用户。第4章 系统实现4.1 数据库实现在程序设计的具体环节过程中,数据库的优劣将极
39、大程度的决定系统开发的好坏,而选择一个合适类型的数据库也至关重要。进一步分析可知,其数据存储信息可知,其需要着重强调标与表之间的相互联系,所以可以按照实际需求来设计出相配套的数据库。不仅可以反映具体模型之间的数据联系,也可以在设计过程中,表现出其内在的构造方式。通过研究其理论思路可知,其可以实现实体间的实际关系的展示。按照系统的实际需要对数据进行分类处理,其中相同信息归为同一类,不同信息按照管理员的实际需求进行归置,这也可以极大程度的方便管理员的日常管理,在数据库的基本实践环节中,主要包含了以下的五个组成部分:学生用户信息表、管理员信息表、图书信息表、图书类目表、借书表。4.1.1管理员表管理
40、员表admin表单有3个lable,分别是admin_id 代表唯一的id, 用password来记录密码,username代表账户名称。表4-1 管理员表单设计序号列名主键数据类型长度允许空说明1Admin_id1int11否自增序号编写2passwordvarchar32否管理员密码3usernamevarchar32否管理员名称4.1.2 用户表读者信息中应包含读者名字、读者性别、读者生日、读者家住地址、读者手机号码信息。按照需要,具体结构如表:表4-2 用户表单设计序号列名主键数据类型长度允许空说明1reader_id1int11否自增序号编写2namevarchar32否读者姓名3s
41、exvarchar32否读者性别4birthdatetime32否读者生日5addressvarchar32否读者地址6phonevarchar32否读者手机号4.1.3图书信息表此表用来存放图书的信息,方便看到该图书的具体信息,包括图书简介、书籍语言、价格、发表日、分类号、数量。表4-3 图书信息表单设计序号列名主键数据类型长度允许空说明1book_id1int11否自增序号编写2namevarchar32否用户名3authorvarchar32否密码4publishvarchar32否出版社5ISBNvarchar32否出版编号6introductionstring32否介绍7langua
42、gevarchar32否语言8pricedouble11否价格9Pub_datedatetime32否出版日期10Class_idblob32否类别11numberint32否数量4.1.4图书类目表此表用来存放图书的类型,方便看到该图书属于哪种类型,便于系统通过数据挖掘推荐给用户喜欢的图书。表4-4 图书类目表单设计序号列名主键数据类型长度允许空说明1class_id1int11否自增序号编写2Class_namevarchar32否图书类型4.1.5 借书表 按照图书馆借书场景,一次借书操作需要知道书的id、借书人的id、借书日期、和归还时间,在设计表时,应该考虑到此处有联合主键:borr
43、ow图书借阅管理数据表的id和book。表4-5 图书类目表单设计序号列名主键数据类型长度允许空说明1Ser_num1int11否自增序号编写2Book_idint32否图书编号3Reader_idint32否借书人编号4Lend_datedatetime32否借书时间5Back_datedatetime32否归还时间4.2 功能模块实现4.2.1 管理员页面4.2.1.1 登陆页面管理员登陆过程,核对用户输入账号和密码信息是否在数据库中出现过,核对正确无误后可点击登录即可进入主页面。4.2.1.2 图书管理页面1、全部图书信息页在图书信息管理页,详细而全面记录了馆内库存图书的全部信息,管理员
44、可以通过该管理页进行图书信息查看及其他操作,可删除或者修改图书信息。图4-1 书籍信息页面如上图,用户可以在此页面看到书籍页面,包含书名、作者、出版社、ISBN、价格、剩余数量,书籍信息从book_info读入。图4-2 图书信息数据表2、新增图书页面图4-3 管理员新增图书页面上述页面中若用户未完成所有图书相关内容的填写则无法创建该书目,核心判断逻辑如下:$(#addbook).submit(function () if ($(#name).val() = | $(#author).val() = | $(#publish).val() = | $(#isbn).val() = | $(#i
45、ntroduction).val() = | $(#language).val() = | $(#price).val() = | $(#pubstr).val() = | $(#classId).val() = | $(#pressmark).val() = | $(#number).val() = ) alert(请填入完整图书信息!); return false; )4.2.1.3 读者管理功能 1、全部读者页面 管理员可以对系统中读者用户信息进行操作例如有学生毕业后,管理员也可从系统中删除该读者记录。此页面链接读者数据库表,改动后数据库信息发生变化。图4-4 读者管理页面读者信息数据库表:图4-5 读者信息数据库表2、新增读者页面管理员可在该页面新增读者,读者账号由系统统一创建,按照顺序递增,管理员必须将用户密码、姓名、生日、手机号、性别、家庭住址、等信息填写完整、方可点击添加即可添加读者信息。图4-6 新增读者页面上述页面中若读者信息填写不完整、则无法创建用户信息,核心检验代码如下:$(#readeredit).submit(function () if($(#password).val()=|$(#