《cs图书销售管理系统与实现学士学位论文.doc》由会员分享,可在线阅读,更多相关《cs图书销售管理系统与实现学士学位论文.doc(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、北京邮电大学毕业设计 北京邮电大学毕业设计(论文)任务书毕业设计(论文)题目:C-S图书销售管理系统毕业设计(论文)要求及原始数据(资料):1综述编写目的程序的缘由及其所带来的方便性;2实地了解大中型书店在日常营业中对图书的销售、管理等方式;3精确分析系统流程,同时构建程序框架;4熟练掌握C/S程序的编写技术,训练利用Java编写客户端程序的能力;5. 熟练掌握GUI等技术,完成客户端程序与数据库之间信息的传递;6. 训练数据封装能力,减少程序中的冗余代码;7深入了解测试程序所用的黑盒法以及白盒法;8训练检索文献资料和利用文献资料的能力;9训练撰写技术文档与学位论文的能力。毕业设计(论文)主要
2、内容:1综述图书销售管理系统在大中型书店应用的前景;2了解编写C/S程序需要的相关技术;3熟练运用编写C/S程序的开发环境; 4精确掌握程序开发需求并设计系统流程图;5. 深入分析系统流程,完成程序概要设计及划分程序模块;6熟练运用多种Java技术实现程序中的各个模块并将其整合;7熟练掌握测试用例的编写,完成测试,生成测试报告。学生应交出的设计文件(论文):1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。主要参考文献(资料):1 葛欣,孟凡荣. 使用cU/GUI开发图形用户界面J. 计算机工程与设计, 20052 陈
3、一明. SQL Server数据库应用技巧探讨J.科学技术与工程, 20083 张军峰.如何使软件测试更有效J.电脑知识与技术, 20054 王世峰. MVC设计模式的研究与应用D.中国海洋大学,20065 赵淑菊. Java GUI事件处理机制之探究J. 济南职业学院学报, 2010 6 吕校春,李玲莉基于Swing的Java GUI组件开发J机械工程师,2008.7 潘红改,李国贞.Java GUI布局管理方法探讨J. 漯河职业学院学报, 2010.8 Crosby, Philip B. Quality is Free. New York: New American Library, Me
4、ntor Books, 1979.9 Chelf, Ben and Raoul Jetley. “Diagnosing Medical Device Software Defects Using Static Analysis.” Coverity Technical Report. San Francisco: 2008.10 W.Clay,Richardson,Donald,“Avondolio.The Java high class weaves a distance:JDK 5”, Scientific & Technology Book Review,No.3,2006.11 And
5、rea Adamoli,Dmtrijs Zaparanuks,Milan Jovic,Matthias Hauswirth.AutomatedGUI performace testing. Software Quality Journal,2011专业班级软件1007班学生于健要求设计(论文)工作起止日期2014年3月17日2014年6月27日指导教师签字日期2014年3月17日教研室主任审查签字日期系主任批准签字日期C-S图书销售管理系统摘要随着时代的进步,科技的发展,计算机不但逐渐步入寻常百姓家庭,成为人们日常生活中不可或缺的一部分,而且在工业、农业、商业等多领域起着巨大作用。计算机的广泛
6、应用对提高经济效益、生活效率、实现管理现代化、科学化、智能化等方面起到了举足轻重的作用,并且取得了显著效果。基于C/S的图书销售管理系统是专为图书销售单位而设计,它取代了过去会计、出纳的“账本式”记录与管理,在给工作人员带来方便快捷的同时也大大提高了他们的工作效率,加快了管理步伐,避免了账目混乱,任务繁重等问题,符合现代办公的需求。本系统主要使用Java中的GUI(图形用户界面)和AWT编程,开发环境为Eclipse,数据库采用MySQL5.0。整体框架采用三层架构模式,即显示层、业务层、数据层,大大降低了程序的耦合性。系统的主要功能包括:销售管理、库存管理、书本管理、种类管理、出版社管理五大
7、功能模块,方便快捷地帮助书店管理人员实现了对图书进、存、销三方面的管理。关键词:图书;销售管理系统;C/S结构Book sales & management system based on C/SAbstractWith the rapid development of science and technology,the computer not only gradually into the ordinary people family, become an indispensable part of Peoples Daily life, and in many fields such
8、as industry, agriculture, business plays a big role. Computer is widely used to improve the economic benefit, the life of efficiency, realize modernization management, scientific, intelligent, etc has played a pivotal role, and achieved significant effect.Book sales & management system based on C/S
9、is specially designed for book sales unit, it has replaced the past record of accountant and cashier books and the management, the staff to bring convenient at the same time also greatly improve their work efficiency, quicken the steps of the management, to avoid the chaos accounts, the problem such
10、 as onerous, meeting the needs of the modern office.This system is mainly used in Java GUI (graphical user interface) and AWT programming, development environment for Eclipse, using MySQL5.0 database. Overall framework USES the three-tier architecture model, namely the display layer, business layer,
11、 data layer, greatly reduces the coupling of the program. Systems main features include: sales management, inventory management, books management, category management, press five big function module, convenient and quick to help bookstore managers realize the books into management, save and pin.Keyw
12、ords: Book;Sales & Management;C / S structure58目 录摘要iAbstractii1 绪论11.1 课题背景11.2 目的和意义11.3 开发工具及技术11.3.1 开发工具11.3.2 开发语言21.3.3 开发结构及模式31.4 软硬件需求31.4.1 硬件需求31.4.2 软件需求32 需求分析42.1 可行性分析42.1.1 技术可行性42.1.2 经济可行性42.1.3 操作可行性42.1.4 法律可行性42.2 系统流程图42.3 系统用户用例图52.4 功能模块需求分析52.5 设计的基本思路62.6 性能需求62.6.1 系统的易操作
13、性62.6.2 数据的正确性和完整性72.6.3 数据的安全性72.7 界面需求73 系统分析与设计83.1 数据库的分析与设计83.1.1 数据库的需求分析83.1.2 数据库的概念结构设计83.1.3 数据库的逻辑结构设计113.2 连接数据库的前期准备工作143.2.1 编写配置读取类143.2.2 编写JDBC操作类163.2.3 创建数据转换工具类174 系统功能的实现194.1 创建数据库对象194.2 管理员登陆页面204.3 设计父类214.4 出版社管理模块234.5 书本管理模块284.6 销售管理模块355 系统测试435.1 系统测试目的与意义435.2 测试过程435
14、.2.1 登录模块测试435.2.2 销售管理模块测试445.2.3 库存管理模块测试445.2.4 书本管理模块测试44结 论46参考文献47致 谢48英文文献原文49中文译文551 绪论1.1 课题背景改革开放以来,我国经济迅速发展,科技日益更新,计算机以迅雷不及掩耳之势覆盖全球,大量实用软件更是伴随计算机语言产生而受到众多领域的青睐。好的管理软件能够把大量的工作人员从繁重的手工工作中解脱出来,提高工作效率并减少错误的发生。调查发现,目前我国中小型书店仍采用手工方式对图书进行管理记录,不仅工作量大、效率低,而且还容易出现数量不清、账目混乱等问题,与现代办公要求格格不入。中小型书店最繁重的工
15、作就是图书进、存、销三方面的工作,因此只需要设计一款简单而实用的软件,帮助书店工作人员轻松实现这三方面的工作。混乱的界面,繁琐的操作不仅难以达到轻松管理的目的,还容易使工作人员情绪暴躁,影响书店效益。因此,我的目标是做一款界面清晰,操作方便的简单管理软件。1.2 目的和意义图书销售管理系统开发的目的是为图书销售单位提供图书信息管理和提高图书销售管理工作的效率。图书销售管理系统是一个图书销售单位不可缺少的部分,它的内容对于图书销售单位的决策者和管理者来说都至关重要,所以图书销售管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理数据信息,这种管理方式存在着许
16、多缺点,如:效率低、工作量大,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。作为计算机应用的一部分,使用计算机对图书销售信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、寿命长、成本低等。这些优点能够极大地提高图书销售管理工作的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。1.3 开发工具及技术本系统基于C/S结构设计,采用三层架构体系,编写系统主要用到Java中的GUI(图形用户界面)和AWT编程,开发环境为Eclipse,数据库采用MySQL5.0并以Navicat for MySQL作为辅助工具。下面分
17、别对C/S模型、三层架构模式、GUI、AWT编程、Eclipse、MySQL 5.0数据库和Navicat for MySQL进行简要介绍。1.3.1 开发工具(1) EclipseEclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C+和Python等开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE.Eclipse 最初由OTI和IBM两家公司的IDE产品开发
18、组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。Eclipse项目IBM发起,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开放源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。随后还
19、有包括Oracle在内的许多大公司也纷纷加入了该项目,Eclipse的目标是成为可进行任何语言开发的IDE集成者,使用者只需下载各种语言的插件即可。(2) MySQL 5.0MySQL 5.0是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提
20、高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。(3) Navicat for MySQLNavicat for MySQL是一款强大的 MySQL 数据库管理和开发工具,它为专业开发者提供了一套强大的足够尖端的工具,但对于新用户仍然易于学习。Navicat for MySQL 基于Windows平台,为 My
21、SQL 量身订作,提供类似于 MySQL 的用管理界面工具。此解决方案的出现,将解放 PHP、J2EE 等程序员以及数据库设计者、管理者的大脑,降低开发成本,为用户带来更高的开发效率。Navicat for MySQL 使用了极好的图形用户界面(GUI),可以用一种安全和更为容易的方式快速和容易地创建、组织、存取和共享信息。 用户可完全控制 MySQL 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问权限的管理工具,方便将数据从一个数据库转移到另一个数据库中(Local to Remote、Remote to Remote、Remote to Local),进行档案备份。 Na
22、vicat for MySQL 支援 Unicode,以及本地或远程 MySQL 服务器多连线,用户可浏览数据库、建立和删除数据库、编辑数据、建立或执行 SQL queries、管理用户权限(安全设定)、将数据库备份/复原、汇入/汇出数据(支援 CSV, TXT, DBF 和 XML 档案种类)等。软件与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及 BINARY VARBINARY/BIT 数据种类等的规范。1.3.2 开发语言主要使用Java语言中的GUI(图形用户界面)和AWT(抽象窗口工具包)编程。(1) GUI图形用户界面(Graphical User I
23、nterface,简称 GUI,又称图形用户接口),即人机交互图形化用户界面设计,是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。(2) AWT抽象窗口工具包(Abstract Windowing Toolkit,缩写为AWT)是Java的平台独立的窗口系统图形和用户界面器件工具包。AWT 是Java基础类 (JFC)的一部分,为Java程序提供图形用户界面(GUI)的标准API。 AWT提供了JavaApplet和Java Application中可用的用户图形界面GUI中的基本组件(components)。由于Java是一
24、种独立于平台的程序设计语言,但GUI却往往是依赖于特定平台的,Java采用了相应的技术使得AWT能提供给应用程序独立于机器平台的接口,这保证了同一程序的GUI在不同机器上运行具有类似的外观。1.3.3 开发结构及模式(1) C/S结构C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理
25、,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。(2) 三层架构模式三层架构模式即显示层、业务逻辑层、数据层。其工作模式:显示层往往面向操作者,主要用来接受数据、传递数据和显示数据;业务逻辑层主要是用来处理显示层接收到的数据和数据库中的数据;数据层主要用来对数据库进行操作,其中包括常见的增、删、改、查等操作。采用三层架构模式可以大大降低了程序的耦合性,符合现代软件的标准。1.4 软硬件需求1.4.1 硬件需求电脑:笔记本电脑或台式电脑CPU:Pentium以上内存: 512M以
26、上1.4.2 软件需求操作系统版本:Windows XP /vista/Win7开发工具:Eclipse开发语言:Java2 需求分析2.1 可行性分析可行性研究主要内容是要求以全面、系统的分析为主要方法,经济效益为核心,围绕影响项目的各种因素,运用大量的数据资料论证拟建项目是否可行。对整个可行性研究提出综合分析评价,指出优缺点和建议以确定该项目是否可行。2.1.1 技术可行性本系统开发工具是Eclipse和MySQL数据库,开发语言是Java,java是一种面向对象编程语言,简单易学而且灵活方便。数据库的设计和操作是本系统设计的核心,但在Navicat for MySQL的帮助下能够轻松便捷
27、的对数据库进行操作。此外,大学期间学习过数据库操作语言,软件测试,UML统一建模语言等课程使系统分析、设计和测试不再成为难题。因此,完成系统实现在技术上完全具有可行性。2.1.2 经济可行性开发此项目用到的软件都是开源的,为开发软件节省了大量的金钱,达到了低成本的目的。另外,本系统对计算机配置的要求不高,几乎每个家庭中可使用的电脑都能满足。因此,开发该系统在经济上是完全可行的。2.1.3 操作可行性该系统是本着界面简洁、操作方便的目的进行开发,主要目的是帮助图书销售商对图书进行进、存、销三方面管理。因此该系统在操作上具有功能简单,操作简洁的优势,完全可行。2.1.4 法律可行性由于在开发过程中
28、所使用的软件都是开源软件,不存在侵权问题。此外,开发该系统的目的仅仅是作为一款管理软件应用于图书销售单位,不存在与国家法律不符的目的综上所述,该系统的开发在法律方面也是可行的。2.2 系统流程图图2.1 系统流程图如图2.1所示,由于系统是C/S模式,所以无需注册等操作,只需要在编程时将用户名和密码设定,如客户对用户名和密码有特殊要求,由编程人员将客户要求的用户名和密码事先输入程序当中,如本系统的用户名和密码都为yujian,该数据已经在数据库的T_USER表事先存好。如果客户输入错误,则要重新回到登录页面输入正确的账号密码。如果输入正确,则可以进入用户操作页面进行相应的操作。在进一系列的操作
29、之后然后点击关闭按钮,即可退出系统。2.3 系统用户用例图系统只涉及图书的进、存、销三方面的功能,其所对应的功能模块分别是图书管理模块、库存管理模块、销售管理模块。此外,为方便用户在这三方面的操作更加简洁增加了出版社管理模块,种类管理模块,这样做一方面能够使用户界面简单易用,另一方面能够使用户在主要使用的三个重要界面有更多的选择而不是去输入,减少了错误发生的概率。管理员即能够正确输入用户名和密码的操作人员,且其享有全部权限。因此管理员用例图十分清晰明了,如图2.2。图2.2 管理员用例图图2.2清晰明了的告诉我们用户登录是前提,只有用户经过正确的身份验证才可以操作本系统几个最重要的操作页面。2
30、.4 功能模块需求分析本系统本着界面简洁大方,操作简单的原则实现以下功能:1.系统界面清晰分明、简单易用,管理人员能够在短时间内熟练操作。2.管理员享有销售管理、库存管理、图书管理、出版社管理、种类管理五大权限。3.尽可能的让用户去选择,而不是输入,减少错误发生的概率。4.增加主要功能的快捷键,增加操作的简易性。系统的功能结构图,如图2.3。图2.3 系统功能模块图从图2.3中可以看到,系统分为六个模块,分别是管理人员登录模块,销售管理模块,入库管理模块,图书管理模块,种类管理模块和出版社管理模块,其中登录模块并不与其它模块相平行,登录模块只是决定操作人员是否有权限去操作其它五大模块。2.5
31、设计的基本思路设计思路遵循以下几点:1. 考虑到图书销售单位只是简单的对图书进行管理、记录,因此软件采用C/S结构,C/S结构的优点是客户端响应速度快,能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。2. 采用三层架构模式。一方面能够使开发人员的逻辑思维清晰,提高软件开发效率,另一方面降低了程序的耦合性,例如本程序如果要开发成为B/S结构只需要改动业务逻辑层即可。3. 模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。4. 效率第一。设计该系统的目的是让大量工作人员从繁琐的工作中解脱出来,因此本系统必须达到提高工作效率的目的
32、。5.界面清晰明了,操作简单。方便用户使用,让用户能够在最短时间轻松方便的适应系统的操作。7系统设计不仅要功能完善还要突出重点。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。2.6 性能需求2.6.1 系统的易操作性为使工作人员能够轻松操作该系统,需做到以下要求:1.操作界面不涉及跳转,要操作的界面覆盖已显示的界面。2.主要功能界面尽可能的让用户去选择,而不是输入。3.部分系统设计加入自动计算功能,且不可更改。4.在操作发生错误时出现友好提示。2.6.2 数据的正确性和完整性1.数据库设计过程中明确哪些数据可以为空,哪些数据不能为空。2.关系表中的相关数据必须明确统一。3
33、.具有自动判断功能,如销售数量大于库存数量时应给出友好的错误提示。4.具有自动加、减、乘功能,保证单价、总量等数据的正确性。5.交易日期根据系统时间而显示、记录,且不可更改。2.6.3 数据的安全性只有被授权的管理人员,即知道账户和密码的人才可进入系统。2.7 界面需求界面设计是整个设计很重要的一部分,好的界面不仅方便管理人员操作,还可以使操作人员有一个阳光的心情,提高工作人员工作效率,因此界面的设计必须满足以下几点要求:1.简易性界面的简洁是让用户便于了解,便于使用,并能减少用户发生错误选择的可能性。2.用户语言界面中要使用能反应用户本身的语言,而不是程序员的语言。3.记忆负担最小化人脑不是
34、电脑,在设计界面时必须要考虑大脑处理信息的限度。人类的短期记忆极不稳定,且有限,24小时内存在25%的遗忘率。所以对用户来说,浏览信息要比记忆更加重要。4.一致性一致性是每个优秀界面都具备的特点。界面的结构必须清晰且一致,与客户的需求一致。5.清楚视觉上便于理解与使用。6.用户熟悉程度用户可通过已掌握的知识来使用界面,但不应超出一般常识。7.人性化高效率和用户满意度是人性化的体现。想用户所想,做用户所做,用户总是按照他们自己的方法理解和使用。8.安全性用户做出危险的选择使有信息介入系统的提示。3 系统分析与设计3.1 数据库的分析与设计数据库是整个系统的各个部分能否紧密地结合在一起以及如何结合
35、的关键所在,因此数据库是系统的核心和基础。的计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库设计的好坏直接影响到整个系统的质量和效率。数据库的设计一般经过需求分析、概念设计、逻辑设计、物理设计4个步骤。3.1.1 数据库的需求分析首先可以确定需要一个用户表,其中储存的数据有用户名和密码,以作验证之用。其次,系统相关的表,从最基础开始,有出版社表、书的类型表、书表、入库记录表和销售记录表,其中,一条入库记录中涉及多本书,一条销售记录也涉及多本书,因此还需要书的入库记录表和书的销售记录表,一条书的入库记录对应一本书,该条
36、书的入库记录属于某一条入库记录,可以理解成这是书与入库记录的关系表,同样地,书的销售记录与书的入库记录一样。3.1.2 数据库的概念结构设计概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。数据库的概念结构设计采用实体联系(E-R)模型设计方法。E-R模型用E-R图表示,E-R模型法的组成元素有:实体、属性、联系。下面简单介绍这三种组成元素:1.实体(Entity):客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,例如一名学生,一门课程等;也可以是抽象的概念或联系,例如一次选课,
37、一场竞赛等。2.属性(Attribute):每个实体都有自己的一组特征或性质,这种用来描述实体的特征或性质称为实体的属性。例如,学生实体具有学号、姓名、性别等属性。不同实体的属性是不同的。实体属性的某一组特定的取值(称为属性值)确定了一个特定的实体。例如,学号是0611001、姓名是王冬、性别是女等等,这些属性值综合起来就确定了“王冬”这名同学。属性的可能取值范围称为属性域,也称为属性的值域。例如,学号的域为8位整数,姓名的域为字符串集合,性别的域为(男,女)。实体的属性值是数据库中存储的主要数据。3.联系(Relation):现实世界中,事物内部以及事物之间不是孤立的,是有联系的,这些联系反
38、映在信息世界中表现为实体内部的联系和实体之间的联系。概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。概念模式独立于数据库逻辑结构,独立于数据库的DBMS,不依赖于计算机系统的,根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图,其中用矩形表示实体,椭圆形表示属性,棱形表示实体间关系。本系统概念设计图有:图3.1 管理员实体E-R图图3.1所示为管理员信息的E-R图,其中包括的信息有ID、用户名和密码,ID是隐藏列,作为主键。用户名和密码作为是否有权操作系统的验证信息储存在数据库当中。图3.2 出版社实体E-R图图3.2是出版社信息的E-R图,
39、主要包括出版社名称、联系人、联系电话、简介四方面,存储这些信息的主要目的是方便图书管理人员联系出版社以进行进退货的协商。图3.3 书本信息实体E-R图图3.3为书本信息的E-R图,主要包括的信息有书名、作者、单价、缩略图和库存数量。书名、单价和作者是由操作人员输入并储存在数据库当中的。库存数量是当前书本的数目,当数目发生改变时,数据会自动更新。 图3.4 种类信息实体E-R图图3.4是种类信息的E-R图,主要包括种类名称、简介两部分信息。由于种类管理页面是作为图书管理页面的辅助页面设计的,其数据库中的信息也是为图书管理信息设计的。图3.5 入库信息实体E-R图图3.5是入库信息的E-R图,因为
40、库存管理页面有个按日期查询入库信息的功能,为此,需要设计一个记录入库日期的数据库。图3.6 交易信息实体E-R图图3.6是交易信息的E-R图,设计这样一个数据的目的同设计入库信息的目的是一样的,都是为了方面管理人员进行查询。 图3.7 书的入库信息实体E-R图如图3.7,书的入库信息不同于入库信息,书的入库信息包括入库书本的名称、入库数量和相关的入库记录三方面的信息。入库管理信息页面中按日期查询入库记录所查询到的内容正是此数据中记录的相关信息。图3.8 销售信息实体E-R图图3.8是销售信息的E-R图,与图3.7相似,这个数据库的设计主要是保存销售的书本、数量和当天的销售记录信息,其主要目的一
41、方面是记录,另一方面是方便管路人员查询。3.1.3 数据库的逻辑结构设计由于数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:1.每一个实体要转换成一个关系2.所有的主键必须定义非空(NOT NULL)3.对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。根据E-R模型,图书管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明:1.管理员信息表只记录账户与密码,以便登录用。表结构如表3.1所示。表3.1 管理员信息表(t_user)列名数据
42、类型长度允许空是否主键说明IDint自增否是主键USER_NAMEvarchar20是否用户名USER_PASSWORDvarchar20是否密码2.种类信息表主要是记录了书的种类的基本信息,表结构如表3.2所示。表3.2 书的种类信息表(t_book_type)列名数据类型长度允许空是否主键说明IDint自增否是主键TYPE_NAMEvarchar50是否类别名称TYPE_INTROvarchar200否否种类简介3.出版社信息表主要是记录了出版社的相关信息,表结构如图3.3所示。表3.3 出版社信息表(t_publisher)列名数据类型长度允许空是否主键说明IDInt自增否是主键PUB_
43、NAMEvarchar50是否出版社名称PUB_TELvarchar50是否联系电话PUB_LINK_MANvarchar50是否联系人PUB_INTROvarchar200是否 简介4.书本信息表主要记录了与书相关的所有内容,表结构如表3.4示。表3.4 书本信息表(t_book)列名数据类型长度允许空是否主键说明IDint自增否是编号BOOK_NAMEvarchar50是否书名BOOK_INTROvarchar50是否简介BOOK_PRICEdouble50是否单价TYPE_ID_FKint100否否种类外键PUB_ID_FKint100否否出版社外键IMAGE_URLvarchar200
44、是否缩略图URLAUTHORvarchar200是否作者REPERTORY_SIZEbigint10是否库存数量5.交易记录表, 一个交易记录包括多个书的销售记录, 一次交易可能有多本书,表结构如表3.5示。表3.5 书本交易信息表(t_sale_record)列名数据类型长度允许空是否主键说明IDint自增否是编号RECORD_DATEdatetime是否交易日期6.书的销售记录, 一条记录对应一本书,表结构如表3.6示。表3.6 书本信息表(t_book_sale_record)列名数据类型长度允许空是否主键说明IDint自增否是编号BOOK_ID_FKint100是否交易日期T_SALE_RECORD_ID_FKint100是否销售记录所对应的交易记录TRADE_SUMint10是否销售数量7.入库记录表, 一次入库会入多本书,表结构如表3.7所示。表3.7 入库记录表表(t_book_sale_record)列名数据类型长度允许空是否主键说明IDint自增否是编号RECORD_DATEdatetime是否交易日期8.书的入库记录表, 其中包括入库的书、对应的入库记录、入库数量等信息,表结构如表3