




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
xx物资学院2014届毕业论文题目:图书管理系统设计与实现院 系 专 业 班 级 班 学生姓名 学 号 导师姓名 导师职称 副教授 2014 年 4 月 22 日【摘要】当今社会科学技术的日新月异,计算机行业得到迅速的发展,人们的工作效率得到很到的提升了。许多公司通过引进计算机信息处理系统来改变经营管理。甚至街边的个人小店也有可能通过计算机来控制销售、记账以及其他活动。在一些大公司里,会采用电子信息处理系统来监测管理全部工作设备的操作与运行。图书馆中的图书管理系统则是学校管理机制中的重要组成部分,通过对图书管理系统的运行管理机制进行调查研究,开发此图书系统。在学校图书管理系统中产生的常见基本问题和相关的统计工作可以通过本系统很好的解决。本系统中包含6个功能模块:系统设置,读者管理,图书管理,图书借还,系统查询和更改口令。本系统使用jsp进行网页界面的设计,使用MVC设计模式,采用了开源框架Struts,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。本系统中通过jdbc驱动和数据库进行无缝连接,后端的数据库是mysql,也是一个开源的数据库系统,该数据库具有较高的完整性,一致性和安全性。关键词:图书;信息管理;系统【Abstract】Peoples working efficiency is significantly improved by the rapid development of computer industry which is enabled by the fast evolving science and technologies. Many companies change their management by introducing computer-based information processing system. Even the small store owners can utilize the computer to control sales, accounting and other activities. Electronic information processing system is used to monitor and manage all operations on working facilities in some big companies.Book management system in library is an important part of college management system. This system is developed via the investigation and study on the operationand management system in book management system. The frequent basic questions and related statistics work in school book management system can be addressed very well by this system. This system includes six function modes:system setting, reader management, book management, book rent and return, system search and change password.This system uses jsp web interface design, uses MVC design mode, adopts open source framework Struts, it adopts the latest technologies, being of high development efficiency, with flexible design, friendly and beautiful software interface, etc.Jdbc driver and database are connected seamlessly, database on the background is the mysql, also an open source database system whose database has high integrity, consistency and security.Key words: books management;information management ;system 目 录关键词:2一、绪论1(一)JAVA语言简介1(二) JAVA语言在网络上的运用1(三) sevlet技术简介1二、 Struts概述2(一) Struts的由来和发展2(二) Struts的优缺点41、Struts的优点42、Struts的缺点53、Struts的工作流程5三、 系统需求分析7(一) 需求分析7(二)技术方面可行性分析81、软件分析82、人员分析8(三)经济方面可行性分析9四、系统总体设计10(一)数据流程分析10(二)系统总体软件结构12(三)数据库设计141、数据项和数据结构142、数据库概念设计143、数据库物理表设计17五、主要功能详细设计1(一)封装了数据操作层的类(com.core.ConnDB)实现1(二)系统登陆模块的实现4(三)图书信息管理模块的实现61、图书类别信息添加功能实现62、图书类别信息维护功能实现83、图书信息添加功能实现9(四)读者信息管理模块的实现131、读者类别信息添加功能实现132、读者信息添加功能实现153、读者信息管理功能实现18(五)图书借阅管理模块的实现191、图书借阅功能实现192、图书续借功能实现233、图书归还功能实现26(六)系统管理模块的实现281、管理员权限设置功能的实现282、个人口令修改功能实现30六、总结32参考文献39外文文献及翻译40致谢51一、绪论(一)JAVA语言简介Java是在1995年问世的,它是一种全部面向对象,一种简易的,一种Internet工具,这种工具与平台无关,具有很强的安全可靠性。Java的诞生以及发展使得整个网络世界发生了巨大的变化。早期其主要是利用在浏览器上,在网页(Java Applet)中是一个强大的、灵活的网络媒体载体,但是对于个人电脑的Java虚拟机来说,其占据的资源比较多,安全系数相对较低这样的缺点,随着网络的快速发展Flash被开发出来取代了之前的Applet,之后又推出了Java Servlet,使得Java在电子商务中得到重视,之后又出现了一种新技术JSP(Java Server Page),这一技术的推出使所有Web应用程序在开发的过程中首先选择的开发工具就是Java,这也就使得Java技术在当前的电子商务项目开发中的一个首要的选择项目。(二) JAVA语言在网络上的运用Java程序可以获得和处理资源,这些资源主要包括图像、HTML文档、声音、文本等,比如说:Java程序会定期的读取一些新数据的结点,这些结点会通过图像的形式表现出来。在处理编程上,一般情况下是先产生的对象这个对象是URL类型的,然后再利用Java的相关方法获取一些与对象相关的资源。(三) sevlet技术简介Java Servlet作为JSP的基础性技术,Servlet是对JSP的一个编译,再进行运行,对于一些大型的电子商务应用程序的开发是需要一些复杂的技术结合在一起才能完成的,如JSP和Java Servlet共同协调配合来完成,对于Servlet的来源大概的来说是来自于Applet,但是当前对这一技术的翻译是比较多的,在本文中Servlet是不经过翻译的作为一种名称使用,读者可以将其理解为“小服务程序”这一技术在Web应用程序开发中的作用是非常大的,其作用与ISAPI、CGI以及NSAPI等的作用是相当的,其中CGI是一种比较传统的方法,其效率是比较低的,因此在使用Servlet技术时是不会使用传统的方法的,同时也不会使用在API方式来在一成不变的Web平台上生成动态的Web页面。并且在当前大部分的Web服务器都是支持Servlet这一技术的,对于一些不支持Servlet这一技术的Web服务器,同样可以通过一些附加的服务器以及模块来对Servlet这一技术进行支持。这主要是由于Java可以跨平台的特殊性能,Servlet这一技术的应用是与这些服务平台以及服务器之间是没有任何关系的,它只要符合相关的Java Servlet规范即可。另外由于Java Servlet提供服务的方式是在内部线程的方式,没有必要来对每一个请求来做出对应进程的启动,同时也可以通过多线程机制来对服务器提出多个请求,这些都可以是同步的,因此,Java Servlet这一技术在工作中的效率是非常高的。但是这一技术也存在着一些缺点和不足,它输出的语句与传统的技术方式是一样的,输出的都是HTML语句,都是为了达到动态网页的目的,可想而知如果仅仅利用这一技术来完成整个网站的开发,要实现动态与静态的结合是不可能的,这也就带动一项新技术的出现,这项新技术就是由SUN推出的Java Server Page技术。二、 Struts概述(一) Struts的由来和发展 Struts 框架工具是一个子项目,是由Apache 基金会Jakarta 项目推出的。Struts 框架工具在一个应用程序项目开发的过程中体现出来的作用正如其单词的含义一样支撑、支架的作用,Struts技术主要是提供通常所用的框架,使得开发人员的主要精力都放在解决实际问题之上,在这个过程中Struts框架也不是一成不变的,它是可以根据实际状况进行变化的,这样就有利于其更好的满足用户的需要。另外采用Struts技术可以将MVC 设计模式下的Web 应用程序的开发工作进行简化,从而实现代码的重用,给开发人员减轻负担,使之充分的发挥出JSP/Servlet的重要作用,充分利用web应用中的较强的可拓展性,使开发新技术、新程序的速度更快。简而言之,Struts技术的出现于应用使得整个web开发的过程得到简化,将缩短了开发周期并提高了开发的效率。Struts架构的推出,得到了相关领域的足够重视,在2004年出现了一个比较大的转折,使其成为一个Java在Web应用程序中得到有效开发的一个重要的框架工具,因此在当前相关人才的招聘中,对Struts提出了必要的要求,所以这就要每一位程序员都必须要熟练地掌握和精通Struts架构知识技能。1、MVC简介模型-视图-控制器(MVC)是当前被广泛运用的一项软件设计模式,它是在80年代Smalltalk-80出现的,其模型如图1所示:(1)模型(Model):模型主要是为了表现出一些业务数据或逻辑的,在应用程序中具有主体性的作用。(2)视图(View):视图在应用程序中是与用户界面相关联的一部分,是用户可以看到的,并且可以进行交流互动的界面。(3)控制器(controller): 依据用户输入的先关信息控制器会进行工作,对用户界面的信息数据以及对象的状态进行控制和显示。图2.1 MVC组件类型关系和功能MVC式的应用有利于分离功能和显示模块,也有利于提高应用系统的各项性能,比如:可维护性、可移植性、可扩展性以及一些组件的可复用性。在程序的早期应用中,如果不能将数据的功能和显示的解进行耦合,就容易产生一些难以维护的复杂程序,例如一些VB、RAD等程序都有可能出现这一类型的问题,甚至也会出现在一些C#Java的业务逻辑编写上,将其显示在了显示模块中。虽然当前MVC式已经被提出,但是在电子商务程序开发中的应用还是存在着一些问题。这主要是由于在之前的Web应用程序的开发中,难以分离程序语言和HTML。传统的CGI程序可以通过字符串的形式将HTML生成,慢慢的又出现了一种新的脚本语言,使的程序语言可以切入到HTML之中。这两种方式都具有一个相似点,那就是其不能将HTML和程序语言分离开来;另外一个原因是对于MVC这种设计模式缺乏着一些必要的技术支持,这也体现了脚本语言功能的不强。J2EE中的JSP Model 2对此进行了一些改变,它的视图功能是通过JSP技术来实现的,是通过Servlet技术使控制器功能得到实现,通过JavaBean技术使模型的功能得到实现。2、jsp发展模型对比 Model1和Model2是两种规范,它是在JSP出现的早期由SUN制定出来的。其中Model2 MVC模式的实现上起到了一定的作用,但是对它的实际应用中还是没有达到预期的效果图2.2 JSP Model 1 图2.2 JSP Model 2model2容易造成系统中出现多个Controller,这样就容易造成页面导航上出现一些复杂的特点,这是就会存在一些人认为model2是一项不好的规范,这就引发了在两千年出现的一个现象,那就是Craig R.McClanahan向Java Community提交了一个WEB framework,这也就在后来发展成了Struts.。在2001年7月,正式发布了Struts1.0,这个项目也就成为了Apache Jakarta的一个子项目。其实质就是在第二个规范上形成一个MVC架构,它的控制器只有一个,其转向URL是通过XML定制的。采用Action来处理逻辑。(二) Struts的优缺点1、Struts的优点Struts与 Apache项目中的跟Tomcat、Turbine等诸多项目是一样的,是一种开源软件,它的优点也就体现在这里。能够让开发者进一步的去了解一些内部机制,从而有利于其的实现。另外,Struts的优点还可以表现为两个方面:Taglib以及页面导航。Taglib可以看做是Struts的一个标记库,可以灵活的动用,能使开发效率得到大幅度的提升。还有就当前我国的JSP开发技术人员来说,除了可以使用JSP自带的一些常用标记以外,很少开发属于自己的标记,这对于 Struts来说也许就是相当好的一个起点。页面导航在我看来也许就是今后的一个前景比较好的发展方向,根据实践也可以表明这样做可以使系统的脉络更加的清晰。可以通过配置文件,来把握整个系统中不同部分间的联系,这样也就有利于后期维护工作的进行。这种优势会在另一批开发者接手的时候更加的凸现出来。2、Struts的缺点Taglib可以算作是Struts中的一个较大的优势,但对于刚刚接触它的学习者来说,是要经过长期的学习才能学会的,它有时还会打乱一种习惯的网页编写模式,这就需要你去不断的学习从而习惯了这种网页编写模式,这样就会给你一种很好的感觉。Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。Struts从产生到现在已逐步越来越多运用于商业软件。尽管它存在着很不不足之处,但是它也是实现J2EEMVC的一种良好的方式。3、Struts的工作流程Struts的工作流程如下图所示, ActionServlet要处理所有提交上来的请求。图2.3 Struts的工作流程 ActionServlet是一个FrontController,它是一个标准的Servlet,它将request转发给RequestProcessor来处理, ActionMapping是ActionConfig的子类,实质上是对struts-config.xml的一个映射,从中可以取得所有的配置信息 ,RequestProcessor根据提交过来的url,如*.do,从ActionMapping 中得到相应的ActionForn和Action。然后就需要把request的参数与ActionForm中的数据对应起来,再利用form进行验证。验证通过,就调用Action中的execute()语句来执行Action,最后要返回ActionFoward,对mapping中一个foward的包装就是ActionFoward实现的,这时就要与一个url进行对应。 ActionForm使用了ViewHelper模式,是对HTML中form的一个封装。对 form数据验证非常有效的就是封装中的validate方法。符合JavaBean规范的一个类就是ActionForm,其中所有的属性都必须与get以及set相对应。另外一些系统还具有复杂性的特点,对于这些复杂的系统就要采用DynaActionForm对 Form进行动态的构造,也就是利用预制参数来对Form进行生成。这样可以使程序灵活的扩展开来。 ActionErrors是用来包装错误信息的,如果在执行action或者form.validate中出现了不正常的现象,那么就可以产生一个ActionError并且最终会加入到ActionErrors。在对Form的验证过程中,如果出现Error,那么就会将输入页面重新导入,并作出相应的错误提示。执行业务逻辑的RequsestHandler是Action。每个Action都只建立一个instance。Action不具有线程安全性,因此在Action中访问一些特定资源是无效的。一般的情况下,对访问解除耦合是应该通过 Business Delegate 模式来对Business tier进行访问来实现的。 Struts要想有多种Action来供选择使用就必须要采用Struts。对于一般的Action对execute的调用也只能执行一项中命令,而DispatchAction改变了那种状况它可以通过配置参数对不同的任务进行执行,并不是仅进入execute()这一函数。如insert,update等。LookupDispatchAction可以根据提交表单按钮的名称来执行函数。三、 系统需求分析(一) 需求分析在对问题的定义阶段必须要对“要解决的问题是什么?”这一关键性的问题进行回答。这个问题将会指导着某个软件的整体性的开发。同时,这也是软件开发的一条非常明确的线索,避免了整个工作周期中存在着的盲目性对软件开发的影响。建立起一个完整的图书馆管理信息系统、对图书馆当前的一些基本事务以及状况进行解决、改变以往的手工记账的模式、实现自动化的管理,这样就有利于提高图书管理工作的效率。同时此系统还要对一些需要保护的信息进行维护,对一些需要统计的信息进行统计,对一些需要查询以及处理的信息进行相应的处理。(1)可行性研究系统的可行性研究主要从两个方面来进行,这两个方面主要是指对新系统的可能性和必要性进行相应的开发分析。可能性主要是对经济、运行、技术的可行性进行分析,必要性已经在前面做出了详细的论述和分析,这里就不再对其进行在叙述。经济的可行性主要分析的是组织的投资能力以及经济状况,这就需要对整个系统的建设、维护、运行的费用进行估算,同时也要对后期的经济以及社会效益进行估算。当前减少的图书信息管理系统是我们学生在指导教师的带领下所做的毕业设计,在经济上的投入比较少的,在系统建成以后这项项目将会对整个图书管理工作提供极大的便利,所以在经济上是不存在问题的,是具有可行性的。技术可行性是对在整个软件开发的过程中的技术的条件的考虑以及应用状况,对于开发的需求是否要软硬件的配合和协助。MyEclipse是图书管理系统主要的一种开发工具,调试是比较简单的,当前在硬件上是可以满足开发需求的,所以在技术上也是没有问题的。在软件上,当前的B/S模式是一种比较成熟的应用模式,所以在软件方面的开发是比较成熟的,其也表现出一种速度快、安全可靠性能强、容量大、价格地的特点,它是可以满足整个系统的需要的,因此在技术上是可行的。运行上的可行性,主要是会影响到组织结构,其可行性主要表现在人员机构、设施设备、环境系统的适应性、人员培训方面的计划等方面。当前在我们学校已经普及了信息化技术,各个相关的工作人员的专业水平也是相当高的,因此在运行方面也是可行的。(2)图书管理系统具体任务要求和运行过程系统功能主要是指通过目标系统数据的处理功能来反应用户的需求,以下是销售管理要考虑的一些需求:系统设置:管理员对图书馆信息的设置,这些设置都是在登录系统之后进行的。 图书信息管理:管理员可以在登录系统之后对图书的类别信息进行添加、修改、删除等对图书的管理。 读者信息管理:其是指管理员在登录系统之后对读者信息以及读者管理信息进行添加、修改、删除等的管理。 图书借还管理:管理员在登录系统之后对读者的借还书的相关记录的登记,在图书馆借书的规则中,不同类别的读者可以借阅的数目是不同的,对于一些读者在还书的过程中遇到特殊的情况下,可以由图书馆的管理员来办理续借手续。 系统查询:读者和管理员可以根据条件来查询图书档案、借阅以及借阅超期信息列表。 口令更改:图书的管理员以以读者等相关人员都可以对自己的密码进行设置于修改。(二)技术方面可行性分析1、软件分析在Windows2000操作系统的界面是人机交互式的一种友好界面,其具有很强的可操作性,另外程序界面还具有一个特点就是其是相对容易实现的,但是在目前此操作系统的软件可以利用到的工具比较多,并且对学习、开发、和应用时非常便利的。在当前的图书馆中的管理事务是相对较多的,根据这一系统在实际中的应用,管理员的专业素质会对其产生一定的影响,但是Windows2000操作系统具有易学易用的特点,因此其非常适合它的工作,所以可以采用Windows2000操作系统来进行相应的开发。图书管理系统存在着后台数据库,这种和后台数据库一般会利用mysql 型数据库系统,mysql是一种开源型数据库,在世界上有很好的声誉,其利用的是面向对象的方法来对数据库做出相应的管理和操作,这样就使得用户的开发与维护工作得到了简化,此外,小型数据库还具有灵活性、易用性、安全性的特点,这就为数据库编程创造了必要的条件。本系统采用Tomcat6.0作为jsp的容器,使用的是jdk1.5版本,采用的开发工具是MyEclipse,它具有功能强大的特点,选择它可以加速系统的完成进度。2、人员分析这个系统操作性比较强,容易操作,使用人员即使没有专业的计算机操作知识也可以对其进行操作,因此图书馆的相关管理人员是很容易熟悉和接受此系统的。(三)经济方面可行性分析这个系统项目的开发费用是比较少的。因此它适用于常规的小型企业,它不需要它很大的经济投入,容易被企业所接受,另外在此系统投入运营之后还会大幅度的提高效率,提高经济效益。主要的投入有软件开发成本、一台大概在4000元左右的电脑。这样就可以对系统进行良好的运作,就可以有完备的硬件平台,这也就体现出了系统经济使用的特点。51四、系统总体设计通过需求分析,我们大概了解到了系统需要实现的主要功能模块以及各个模块实现所涉及的数据对象,下面我们就对整个系统的做个整体的设计和构架。(一)数据流程分析 数据流程分析就是对信息的流动、处理、传递、存储等的分析。发现和解决数据流通中的问题是数据流程分析的主要目的。分层的数据流程图示对数据流程分析的主要途径。数据流图(Data Flow Diagram,简称DFD图)是用一些规定的图标和符号来描述数据在系统中的流动和处理情况。数据流程图所采用的表示方法一般是自上而下的结构化方法。软件系统在实质上就是一个信息的处理系统,它具有感受输入信息、对输入信息归类、处理、储存、转化等功能。最后系统还会将数据输出。此系统的核心就是对数据的处理,所以处理方法会随着数据的不同而进行变换的。数据流程图就是将数据的转化、传递通过直观图的方式表现出来。数据流图的组成主要有四个基本元素:数据流(Data Flow)、处理(Process)、数据存储和数据源(数据终点)。(1)数据流(Data Flow):其是指一些既有名称又有流向的数据,表示这些数据的名称都具有名称,每个数据流都可能是记录、基本项、组合项。(2)处理(Process):加工和交换数据,在图中一般用圆来表示,指向处理的数据流会为其输入数据,离开处理的数据流会为其输出数据。(3)数据存储:就是指通过文件或数据库的方式对数据进行的存储的的活动,它是可以通过纸箱或者是箭头来表示对其的存取。(4)数据源及数据终点:在一定的系统范围的外部,组织人员来对数据的来源以及去向进行表示,其中这种外部实体就是指与系统有关的外部环境及其事物。通过符号如图4.1所示:外部实体 处理 数据存储 数据流 图4.1 数据流图的基本图形符号根据上面的分析我们可以对系统画出如图所示的顶层数据流图,如图4.2:用户端提交数据界面显示登录信息错误提示输 出执行结果操作请求图书信息管理系统Sqlserver数据库图4.2 系统顶层数据流在顶层上对第1层数据流图进行了细分,全面的考虑了通讯录信息管理系统中出现了的数据流动及流向,如图4.3:图书借阅览管理请求 管理处理数据 处理 结果读者信息管理请求 管理处理读者类别管理请求 管理处理图书信息管理请求 管理处理图书类别管理请求 管理处理数据中心操作员提交数据与用户端交互图书类别管理图书信息管 理读者类别管理读者信息管理图书借阅管理数据处理界面显示系统管理请求 管理处理系统管 理图4.3 系统第1层数据流图(二)系统总体软件结构根据在需求阶段所提到的一些要求,我们对系统软件的总体功能进行了总结,主要分为以下六个部分,其主要功能结构图如图4-4所示(1)图书类别信息管理:在图书馆中,书是的类别以及数量是非常多的,这就必须要在系统中对书进行分类,只有这样才能为整个图书馆的查询和管理工作谋求更多的便利。另外不同的图书类别课以外借的天数是不一样的,因此管理员必须要在登录系统之后对图书的类别进行必要的添加、修改、删除和管理。 (2)图书信息管理:管理员在登录系统之后,对图书的类别信息进行添加,录入,这样就可以使登录到图书馆信息系统中的读者根据自己的喜好来查询相关的书籍。 (3)读者类别管理:为了更好的管理图书馆,就必须要对读者类别由系统进行分别,对于不同的读者类别在某些方面是存在不同的,比如可借书的数量以及天数是不同的。因此管理人员需要对读者的类别信息进行管理,管理员可以在登录系统之后对读者的类别信息进行修改、删除、添加等操作,从而使整个数据库中的数据可以保持一致。 (4)读者信息管理:读者的相关信息需要管理员来编辑完成,管理员可以对这些信息进行添加、修改、删除等操作。 (5)图书借阅管理:图书馆的书主要是为读者服务的,读者可以在登录系统之后根据自己的喜好寻找书记,可以向图书馆办理借阅登记,在阅读完之后将书还回到图书馆,由相关的管理人员对其进行办理和统计。如果不能按照规定完成还书操作可以按照相应的程序续借或者是按照规定对其进行处理。 (6)系统设置: 在系统中可以由管理员对图书馆的信息、书架的信息、操作员的信息登录后进行必要的修改。(7)口令更改:为了系统的安全性,系统的用户(管理员以及读者)都可以登录系统,并且对自己的相关密码进行修改。图书信息管理系统图书类别管理图书信息管理添加图书信息图书信息维护添加图书类别图书类别维护读者类别管理添加读者类别读者类别维护口令修改退出系统系统信息管理读者信息管理添加读者信息读者信息维护借阅信息管理图书借阅登记图书归还登记图书续借信息查询图书档案查询借阅信息查询借阅超期查询图4.4 软件总体功能结构(三)数据库设计1、数据项和数据结构针对一般图书管理信息系统的要求,通过对销售管理工作过程的内容和数据流程分析,设计如下面的主要数据项和数据结构:(1)图书类别信息:图书类别编号,图书类别的名称,此图书类别可以外借的天数。(2)图书信息:包括条形玛,图书的名称、作者、类型、译者、页码、出版社、价格、添加时间、书架、操作员、系统记录编号、是否删除。(3)读者类别信息:包括读者类别编号,读者类别名称,可借图书数。(4)读者信息:主要有读者的姓名、性别、类型、条形码、职业、有效证件、出生日期、证件号码、Email、电话、读者加入时间、备注、操作员。(5)图书借阅信息:包括记录编号,图书编号,读者编号,借阅时间,归还时间,是否已经归还,操作员。(6)图书归还信息:主要包括着不同的编号如记录、图书、读者的编号以及归还的时间和相应的操作员。(7)图书馆信息:包括图书馆名称,馆长,联系电话,联系地址,图书馆网址,建馆时间,图书馆简介。(8)管理员信息:包括管理员id编号、帐号以及密码。(9)管理员权限信息:包括管理员id编号,系统设置权限,读者管理权限,图书馆管理权限,图书借还权限,系统查询权限。2、数据库概念设计通过对上面的做的数据结构以及数据项,还有他们之间关系的分析,可以将实体规划设计出来,主要有:图书类别信息实体,读者类别信息实体,图书信息实体,读者信息实体,其中各个实体的属性可以通过实体属性图来表示,如下面这些图所示,其中实体对象表示为矩形,它与数据库中的某张数据表相对应,而该数据对象的属性表示为椭圆形,它与数据表中的字段信息相对应。图书类别实体图书类别编号图书可借天数图书类别名称图4.4 图书类别实体属性图图书信息实体条形码图书类别作者出版社译者书架价格页码添加时间操作员加入时间图书名称图4.5 图书信息实体属性图读者类别信息实体读者类别编号类别名称可借图书数目图3-7 读者类别信息实体属性图读者信息实体读者条形码读者姓名读者类型读者性别职业出生日期有效证件证件号码电话Email备注信息备注加入时间图4.6 读者信息实体属性图图书借阅信息记录编号读者编号图书编号借阅时间应归还时间是否已归还图4.7 图书借阅信息实体属性图图书归还信息记录编号读者编号图书编号归还时间操作员图3-10图书归还信息实体属性图图书馆信息实体图书馆名称联系电话馆长联系地址图书馆网址图书馆简介绍建馆时间图4.8 图书馆信息实体属性图管理员信息实体管理员帐号管理员编号管理员密码图4.9 管理员信息实体属性图管理员权限信息管理员编号读者管理权限系统设置权限图书管理权限图书借还权限系统查询权限图4.10 管理员权限信息属性图系统实体联系分析:由于一些书库的库存比较大,所以只有系统对其进行分类才可以使得操作更加的方便,每个图书大的类别下都会有很多图书,一类图书只能有一类编号,同样,一类读者也只能存在一个类别的编号,另外每一个大的类别之下都会存在许多小类,但是每个读者只能属于某一个读者的类别。读者和图书之间是通过借阅操作相联系的,一个读者根据他所属的读者类别可以借阅相关数目的图书,同样某个图书编号的图书可以被多个读者同时借出,系统的实体间联系图如下所示。图书类别属于图书对象读者类别读者对象属于借阅1n1nnm图4.11 系统是实体联系图3、数据库物理表设计通过之前对系统分析员以及用户的分析了解,就很容易的对系统中的关键实体进行归纳总结,同时也容易分析出它们实体之间的联系以及它们的属性,下面就通过二维的关系表来对各实体之间在某个关系数据库中的联系进行物理性的实现。通过前面的分析,得到了本系统的最重要的9个数据实体,它们分别可以在mysql数据库中通过9张数据信息表来实现,关于各种数据表的字段对应每个实体的对应属性信息,关于9个数据表物理设计的建表sql语句如下。(1)图书类别信息表CREATE TABLE IF NOT EXISTS tb_booktype ( id int(10) unsigned NOT NULL auto_increment, typename varchar(30) default NULL,days int(10)unsigned default NULL,PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;(2)图书信息表CREATE TABLE IF NOT EXISTS tb_bookinfo ( barcode varchar(30) default NULL, bookname varchar(70) default NULL, typeid int(10) unsigned default NULL, author varchar(30) default NULL, translator varchar(30) default NULL, ISBN varchar(20) default NULL, price float(8,2) default NULL, page int(10) unsigned default NULL, bookcase int(10) unsigned default NULL, inTime date default NULL, operator varchar(30) default NULL, del tinyint(1) default 0, id int(11) NOT NULL auto_increment, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;(3)读者类别信息表CREATE TABLE IF NOT EXISTS tb_readertype ( id int(10) unsigned NOT NULL auto_increment, name varchar(50) default NULL, number int(4) default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;(4)读者信息表CREATE TABLE IF NOT EXISTS tb_reader ( id int(10) unsigned NOT NULL auto_increment, name varchar(20) default NULL, sex varchar(4) default NULL, barcode varchar(30) default NULL, vocation varchar(50) default NULL, birthday date default NULL, paperType varchar(10) default NULL, paperNO varchar(20) default NULL, tel varchar(20) default NULL, email varchar(100) default NULL, createDate date default NULL, operator varchar(30) default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;(5)图书借阅信息表CREATE TABLE IF NOT EXISTS tb_borrow ( id int(10) unsigned NOT NULL auto_increment, readerid int(10) unsigned default NULL, bookid int(10) default NULL, borrowTime date default NULL, backTime date default NULL, operator varchar(30) default NULL, ifback tinyint(1) default 0, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;(6)图书归还信息表CREATE TABLE IF NOT EXISTS tb_giveback ( id int(10) unsigned NOT NULL auto_increment, readerid int(11) default NULL, bookid int(11) default NULL, backTime date default NULL, operator varchar(30) default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;(7)图书馆信息表CREATE TABLE IF NOT EXISTS tb_library ( id int(10) unsigned NOT NULL auto_increment, libraryname varchar(50) default NULL, curator varchar(10) default NULL, tel varchar(20) default NULL, address varchar(100) default NULL, email varchar(100) default NULL, url varchar(100) default NULL, createDate date default NULL, introduce text, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;(8)管理员信息:包括管理员id编号、帐号以及密码。CREATE TABLE IF NOT EXISTS tb_manager ( id int(10) unsigned NOT NULL auto_increment, name varchar(30) default NULL, PWD varchar(30) default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;(9)管理员权限信息表CREATE TABLE IF NOT EXISTS tb_purview ( id int(11) NOT NULL, sysset tinyint(1) default 0, readerset tinyint(1) default 0, bookset tinyint(1) default 0, borrowback tinyint(1) default 0, sysquery
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 集安市2025-2026学年九年级下学期语文月考模拟试卷
- 电脑知识基础培训的理由
- 高考经验课件
- 电脑知识培训学堂课程课件
- 高考定义题型课件
- 电脑常用知识培训课件
- 电脑办公知识培训内容课件
- 电脑做课件的应用程序
- 电网运维专业知识培训课件
- padi考试题及答案
- 电池火灾安全知识培训课件
- 2025年CAD机械制图考试题库及答案
- 云南省澜沧拉祜族自治县2025年上半年事业单位公开招聘教师岗试题含答案分析
- 2025工会基础知识考试题库及参考答案
- 养老护理员基础照护试题(含参考答案)
- 教师职业技能提升培训教程
- 2025年安徽省宿州市辅警协警笔试笔试测试卷(含答案)
- 2025年医院财务科招聘考试题目(附答案)
- 高血压病例汇报
- 六年级上册语文1-8单元习作范文
- 第10课 公共场所言行文明 第1课时(课件)2025-2026学年道德与法治三年级上册统编版
评论
0/150
提交评论