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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(图书信息系统毕业论文.doc)为本站会员(暖洋洋)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

图书信息系统毕业论文.doc

1、摘要I摘要图书管理是图书馆或阅览室的重要工作, 具有量大、重复的特点, 其中的信息录入、读者管理、书目查询、书籍借阅是经常性的工作。为方便检索和管理, 借助计算机开发相应的图书馆信息系统可以提高工作效率。本文进行了图书馆信息系统的设计和开发, 包含数据库设计和系统功能设计 ,将图书入库、查询、借阅、维护、用户信息等功能集成在一起,具有用户界面友好、操作简单、数据安全、功能强大、实用性强的特点。测试表明该系统可有效提高大学图书馆的图书管理效率。关键词: 图书管理,查询,设计,数据库ABSTRACTIIAbstractBooks management is an important work in

2、 library or reading room. It is a vast and repetitive one. The work often includes so much work such as writing information, managing readers information, querying bibliography and lending books. In order to query and manage information conveniently, the library information system can improve work e

3、ffectively. Design and exploitation of library information system is given in this paper, it includes the design of database and program functions. The system integrates such functions as storage, consult, lend, safeguard and the management of users information. The user interface is good and the da

4、ta is safe, the operation is convenient and practical. The testing shows that this system can improve the affectivity of books management in the university library.Key words: books management,search, design, database目录III目 录第 1 章 引言 .11.1 设计目的和意义11.2 论文的结构与安排1第 2 章 相关知识简介 .32.1 信息管理系统概述32.1.1 信息管理系统

5、 32.1.2 MIS 系统开发过程.32.2 数据库概述42.2.1 数据库的 概念 42.2.2 数据库管理系统 42.2.3 数据库技术 52.3 SQL 语言介绍 52.3.1 SQL 基础.52.3.2 SQL 的特点.62.3.3 SQL 语句的分类及基本语法.62.4 应用程序开发工具72.4.1 Visual C#.72.4.2 应用程序开发的基本步骤 .102.5 相关定义.11第 3 章 图书信息系统概要设计 123.1 需求分析.123.2 系统功能设计及目标.133.3 系统总体架构.143.3.1 模块描述 .143.3.2 系统的总体结构图 .153.4 数据库设计

6、.163.4.1 数据库设计简介 .163.4.2 数据库设计 .16目录IV3.4.3 数据库需求分析 .173.4.4 数据库概念结构设计 .173.4.5 数据库逻辑结构设计 .21第 4 章 图书信息系统详细设计 254.1 总体处理流程.254.2 用户界面设计.254.3 系统窗体模块设计.254.3.1 用户登陆模块的实现 .254.3.2 用户主界面的实现 .294.3.3 出版社信息模块的实现 .304.3.4 客户信息模块的实现 .324.3.5 图书借阅模块的实现 .344.3.6 图书信息模块的实现 .364.3.7 用户信息模块的实现 .384.3.8 综合查询模块的

7、实现 .404.3.9 数据导入模块的实现 .414.3.10 综合设置模块的实现 42第 5 章 测试 455.1 引言.455.2 目的.455.3 测试策略.455.3.1 面向对象的单元测试 .455.3.2 面向对象的集成测试 .465.3.3 面向对象的确认测试 .465.4 测试方法.465.5 测试结果.46结论 48参考文献 50致 谢 .51外文资料原文 52翻译文稿 55第 1 章 引言1第 1 章 引言1.1 设计目的和意义当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行大量而复杂的

8、信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性,尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。图书馆是为教学服务的,在图书馆的日常运作过程中,最主要的工作就是对大量的读者信息、书籍信息以及两者相互作用产生的图书流通信息等的管理。建立一个图书馆信息系统,使图书管理工作规范化、系统化、程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况,提高图书信息管理的效率,这也是管理科学化、正规化重要途径。有了图书馆信息系统,我们可以对图书进馆实行书目编排,并对其进行数据库备份,以便我们以后对其进行管理和出错恢复;图书借阅时

9、,我们可以通过模糊查询实现对用户要求图书的查找,并对图书进行各项统计,如果用户需要借阅的图书已被借出,可以及时反馈给用户,避免时间的浪费;对于各类用户的借阅权限,时间可以通过系统进行设定,满足各类用户的最大需求。本论文是从学校图书馆的实际操作流程出发,经过详细的系统调查,对图书馆信息系统进行了详细的分析和设计,重点进行了各功能模块和界面的详细设计,并对系统功能进行了测试,为学校图书馆开发出的一个实用的图书馆信息系统。本系统的前端开发工具是 Visual C#,后台数据库选用的是大型关系数据库Microsoft SQL Server 2000。1.2 论文的结构与安排本文第一章介绍图书馆信息系统

10、的设计背景,设计目的和意义;第二章对本系统涉及到的几个相关知识点,如信息管理系统,数据库,SQL 语言,开发平台电子科技大学成都学院本科毕业设计论文2进行了简单的介绍;第三章介绍了图书馆信息系统的概要设计和数据库设计;第四章介绍了系统的详细设计、功能设计和界面设计;第五章对系统测试进行了介绍;最后对整个设计做出的总结。第 2 章 相关信息简介3第 2 章 相关知识简介2.1 信息管理系统概述2.1.1 信息管理系统信息管理系统是一个利用计算机软硬件资源,手工作业,分析、计划、控制和决策模型以及数据库的人机系统。它能提供信息支持企业或组织的运行、管理和决策功能。图书馆信息系统是典型的信息管理系统

11、(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库,而对于后者则要求应用程序功能完备,易使用等特点。2.1.2 MIS 系统开发过程一个 MIS 系统的开发过程一般包括如下几个步骤:需求分析:需求分析主要是了解用户的需求。需求了解得越详细,程序的后期开发与维护费用就会越少。一般的开发团队中,需求分析都是由资历较深的系统分析员或项目经理担当,可见它的重要性。需求分析制订好后,需要反复修改。将最后的结果交给用户审定,确认无误后,由系统分析员完成需求分析文档,再开始下一步工作。概要设计:概要设计紧跟在需求分析之

12、后。用户需求明确后,将得到的数据分析后,开始构建数据库的逻辑结构。此时,数据库中的表格还未成形,通过各种分析工具(如 PowerDesigner 等)画出数据流图,最后就可抽象出数据库的具体表结构。这由系统分析人员反复审核,确认所有的需求都考虑在内,没有遗漏后,就可以开始制订概要设计文档。概要设计文档形成后,整个程序的逻辑框架也就形成了。详细设计:概要设计完成后,根据设计中制订的业务模块。就可以进行详细分析设计了。详细设计就是将各个业务模块的窗口全部建好,各个窗口控件的处电子科技大学成都学院本科毕业设计论文4理代码全部用语言表达出,所以详细设计是整个系统中最繁琐的环节。详细设计完成后,整个程序

13、就确定了,再由编程人员根据详细设计文档将代码完成。整个开发工作就宣告结束。2.2 数据库概述从 20 世纪 50 年代中期开始,计算机的应用由科学研究部门逐步扩展至企业、行政部门。至 60 年代,数据处理成为计算机的主要应用。数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生于 60 年代末。现已形成相当规模的理论体系和实用技术。2.2.1 数据库的概念数据库(Database)DB 是统一管理的相关数据的集合。本系统采用 SQL Server2000 数据库。2.2.2 数据库管理系统数据库管理系统(Database Management System)DBMS 是位于用户和操

14、作系统之间的一层数据管理软件,为用户或应用程序提供访问 DB 的方法,包括 DB的建立、查询、更新及各种数据控制。DBMS 是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过 DBMS 进行的。DBMS 总是基于某种数据模型,可以把 DBMS 看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS 可以分成层次型、网状型、关系型、面向对象型等。MS SQL Server2000 就是一种关系型数据库管理系统。1. 关系模型。关系模型主要是用二维表格结构表达实体集,用外键表示实体间联系。关系模型是由若干个关系模式组成的集合。关系模式相当于前面提到

15、的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。2. 关系模型和层次、网状模型的最大区别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。关系模型是数学化模型。SQL 语言是关系数据库的标准化语言,已得到了广泛的应用。第 2 章 相关信息简介5DBMS 的特点和功能可以分为三个子系统:设计工具子系统、运行子系统和DBMS 引擎。设计子系统有一个方便数据库及其应用创建的工具集。它包含产生表、窗体、查询和报表的工具。DBMS 产品还提供编程语言和对编程语言的接口。运行子系统处理用设计子系统开发的应用组件。它所包含的运行处理器用来处理窗体和数据库的

16、数据交互,以及回答查询和打印报表等。DBMS 引擎从其他两个组件接受请求,并把它们翻译成对操作系统的命令,以便读写物理介质上的数据。DBMS 引擎还涉及事务管理、锁、备份和恢复 12 。2.2.3 数据库技术数据库技术:是一门研究数据库的结构、存储、管理和使用的软件学科。2.3 SQL 语言介绍2.3.1 SQL 基础SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL 通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL 是关系数据库管理系统的标准语言。SQL 语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或

17、者从数据库中检索数据。使用 SQL 的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Access 等等。虽然绝大多数的数据库系统使用 SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的 SQL 命令,比如“ Select”、 “Insert”、 “Update”、“Delete”、 “Create”和 “Drop”常常被用于完成绝大多数数据库的操作。 MS SQL Server 就是用的 Transact- SQL3 。2.3.2 SQL 的特点SQL 语言之所以能够为用户和业界所接受,成为国际标准,是因为它是一

18、个综合的、通用的、功能极强、同时又简洁易学的语言。其主要特点包括1. 综合统一电子科技大学成都学院本科毕业设计论文62. 高度非过程化3. 面向集合的操作方式4. 以同一种语法结构提供两种使用方式5. 语言简洁,易学易用 32.3.3 SQL 语句的分类及基本语法SQL 语句可以分为 4 大类数据定义语言(DDL),用于定义数据结构。数据操纵语言(DML) ,用于检索和修改数据。数据控制语言(DCL) ,用于规定数据库用户的各种权限。数据库事务处理,事务处理语句用来保证数据库的完整性。SQL 语句基本语法包括如下几点1. 每条 SQL 语句必须以分号结束。2. 每条 SQL 语句可以单独写成一

19、行,但为了清楚,也可以分成若干行。3. SQL 语句对大小写不敏感,对于 SQL 语句的关键字,表名,列名等,可以大小写混合;但对列的内容则是大小敏感的。数据定义语言数据定义语言用来定义数据的结构,如创建、修改或者删除数据库对象,常用的数据定义语言有CREATE、ALTER、DROP 等。各定义语言的语法结构如下CREATE TABLE table_nameField_name data_type NOT NULL|NULL,PRIMARY KEY.)ALTER TABLE table_nameADD COLUMN field_name DATATYPEDROP TABLE table_nam

20、e第 2 章 相关信息简介7数据操纵语言数据操纵语言用于对表的操作,包括SELECT、INSERT、UPDATE、DELETE 等。各操纵语言的语法结构如下SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC | DESC INSERT INTO table_name VALUES (.)UPDATE table_name SET va

21、lues WHERE search_condition32.4 应用程序开发工具2.4.1 Visual C#Microsoft Visual C# 是一种编程语言,它是为生成在 .NET Framework 上运行的多种应用程序而设计的。C# 简单、功能强大、类型安全,而且是面向对象的。C# 凭借它的许多创新,在保持 C 样式语言的表示形式和优美的同时,实现了应用程序的快速开发。Visual Studio 支持 Visual C#,这是通过功能齐全的代码编辑器、项目模板、设计器、代码向导、功能强大且易于使用的调试器以及其他工具实现的。通过 .NET Framework 类库,可以访问多种操作

22、系统服务和其他有用的精心设计的类,这些类可显著加快开发周期 4 。2.4.1.1 C#从 JAVA 继承而来的特点在 C#中类的申明与 Java 很相似,这是合理的因为经验告诉我们 Java 模型工作得很好。Java 的关键字 import 已经被替换成 using,它起到了同样的作用。一个类开始执行的起点是静态方法 Main()。.下面的 Hello World 程序展示了基本的形式: using System; 电子科技大学成都学院本科毕业设计论文8class Hello static void Main() Console.WriteLine(“Hello, world“); 在这个例子

23、中,System 这个名字指向一个包括了基本 C#实用类集合的命名空间(namespace)。这个命名空间包括了 Console 类,它在这个例子中被用来输出一个字符串.类可以是抽象的和不可继承的:一个被申明成 abstract 的类不能被实例化;它只能被用做一个基类。C#关键字 sealed 就像 Java 关键字 final,它申明一个类不是抽象的,但是它也不能被用做另一个类的基类界面;就像在 Java 中一样,一个界面是一组方法集合的抽象定义。当一个类或结构体实现一个界面的时候,它必须实现这个界面中定义的所有方法。一个单一的类可以实现几个界面。也许以后会出现一些微妙的差别,但是这个特点看

24、起来与 Java 相比没有变化。如 Java 中那样,通过抛出和捕捉异常对象来管理错误处理过程。内存管理:由底层.NET 框架进行自动内存垃圾回收 4 5 。 2.4.1.2 C#从 C 和 C+继承而来的特点程序可以直接编译成标准的二进制可执行形式,但 C#的源程序并不是被编译成二进制可执行形式,而是一种中间语言,类似于 JAVA 字节码。如果前面的Hello World 程序被保存成一个文本文件并被命名为 Hello.cs,它将被编译成命名Hello.exe 的可执行程序。一个 C#的结构体与 C+的结构体是相似的,因为它能够包含数据声明和方法。但是,不同于 C+,C#结构体与类是不同的而

25、且不支持继承。但是,与 Java 相同的是,一个结构体可以实现界面。C#中存在预编译指令支持条件编译,警告,错误报告和编译行控制。没有了#include 伪指令,你无法再用#define 语句对符号赋值,所以就不存在源代码替换的概念。第 2 章 相关信息简介92.4.1.3 C#独有的特点C#中可以进行命名空间中的申明:当你创建一个程序的时候,你在一个命名空间里创建了一个或多个类。同在这个命名空间里(在类的外面 )你还有可能声明界面,枚举类型和结构体。必须使用 using 关键字来引用其他命名空间的内容。C#拥有比 C, C+或者 Java 更广泛的数据类型。这些类型是bool,byte, u

26、byte, short,ushort,int,uint, long,ulong ,float ,double,和decimal。像 Java 一样,所有这些类型都有一个固定的大小,又同 C 和 C+一样,每个数据类型都有符号和无符号两种类型。与 Java 相同的是,一个字符变量包含的是一个 16 位的 Unicode 字符。C# 新的数据类型是 decimal 数据类型,对于货币数据,它能存放 28 位 10 进制数字。C#具有两个基本类:一个名叫 object 的类是所有其他类的基类,而一个名叫string 的类也像 object 一样是这个语言的一部分。作为语言的一部分存在意味着编译器有可

27、能使用它。无论何时你在程序中写入一句带引号的字符串,编译器会创建一个 string 对象来保存它。 C#中方法可以被声明接受可变数目的参数。缺省的参数传递方法是对基本数据类型进行值传递,.ref 关键字可以用来强迫一个变量通过引用传递,这使得一个变量可以接受一个返回值。out 关键字也能声明引用传递过程,与 ref 不同的地方是,它指明这个参数并不需要初始值。C#对 Windows 程序最大的卖点可能就是它与 COM 的无缝集成了,COM 就是微软的 Win32 组件技术。实际上,最终有可能在任何.NET 语言里编写 COM客户和服务器端。C#编写的类可以子类化一个以存在的 COM 组件,生成

28、的类也能被作为一个 COM 组件使用,然后又能使用 4 5 。 2.4.2 应用程序开发的基本步骤我们要开发应用程序时,首先要对它进行分析。无论哪种、哪方面的应用程序,都要先建立一个应用对象。下面我们介绍应用程序开发的基本步骤:1. 首先要建立应用对象。2. 创建窗口。在窗口里放置各种控件和编写事件响应的脚本。3. 创建菜单。窗口里的菜单可包括菜单条,下拉式菜单,级联菜单和弹出电子科技大学成都学院本科毕业设计论文10式菜单为菜单编写事件响应的脚本。4. 创建用户对象。如果想要重复使用某个控件的功能,可以把窗口上经常放置的控件定义为用户对象。5. 创建数据窗口。数据窗口可以检索数据库中的数据,可

29、以建立各种报或统计表,可以修改数据库。6. 创建函数、结构、事件。为了能够更好地支持脚本,编写自定义的函数,定义结构类型变量,也可以为对象和控件定义自己的事件。7. 运行与调试。可以在开发环境中随时运行应用程序,发现错误后,可以用调试工具进行调试。8. 当应用程序开发完毕后,可以把它编译成可执行的文件,让用户比较容易地建立应用系统的运行环境 6 。2.5 相关定义DFD:数据流程图。SQL SERVER:系统服务器所使用的数据库管理系统(DBMS ) 。SQL:一种用于访问查询数据库的语言事务流:数据进入模块后可能有多种路径进行处理。主键:数据库表中的关键域。值互不相同。外键:数据库表中与其它

30、表主键关联的域。 1 3 7第 3 章图书信息系统概要设计11第 3 章 图书信息系统概要设计3.1 需求分析图书管理涉及图书信息、系统用户信息、读者信息、图书借阅等多种数据管理。从管理的角度可将图书分为三类:图书信息管理、系统用户管理、读者数据管理。图书信息管理包括图书录入、借还、查询等操作,系统用户管理包括系统用户类别和用户数据管理,读者数据管理包括读者类别管理和个人数据的录入、修改和删除。图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;管理员对图书借阅者的借阅及还书要求进行操作,同时给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对图书借阅者、图书进行管理和维护

31、,及系统状态的查看、维护等。图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。管理员功能的信息量大,数据安全性和保密性要求最高。要能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、用户和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息,添加、删除和修改借阅信息,删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。具体功能如下1. 借阅者维护借阅者个人部分信

32、息2. 借阅者查看个人借阅情况信息3. 维护借阅者个人密码4. 查询及统计各种信息5. 维护图书信息6. 维护管理员信息电子科技大学成都学院本科毕业设计论文127. 维护借阅者信息3.2 系统功能设计及目标对于图书馆主要负责提供的功能是指从图书的购入开始直到该图书过期下架的整个流通过程,这其中包括图书入库、借出、归还以及对参与此流通过程的读者的信息管理。图书信息管理:建立图书信息库,以便读者进行查询和借阅。在建立信息库时可能因操作错误或其它情况而造成数据库里图书信息的错误,需要修改这些错误。图书因使用过久或在读者借阅书籍时发生遗失的情况下需做遗失处理,这些都需要修改数据库关于书籍的信息。出版社

33、信息管理:建立出版社信息库,在图书入库的时候及时添加出版社信息,并按需要随时修改和更新。读者信息管理:读者一般都是在校的学生和教师。可按需要修改数据库关于读者的信息。借还书管理:图书馆主要的功能就是提供书籍供读者借阅,在借阅图书时应按图书馆的规则进行借阅,例如如果已有超时借阅的图书,则在归还前不允许再借阅等等。对于图书遗失或超期归还的情况应根据图书馆的规则进行处罚。规则管理:对于读者借阅书籍的权限(可借阅书籍数目,每人每本书可持有天数等)应该能加以分类,若有图书遗失或超期未还的情况发生,图书馆都应该规定处罚的条例。权限管理:另外对于操作此系统的前端工作人员的权限也应该有一定限制。这些都应该只能

34、由系统管理员来进行操作和修改。信息查询:读者在借阅书籍前都需查询图书馆关于所借书籍的大概信息:该图书是否在馆,是否已借出,在馆中的书架号;除查询书籍外,图书管理员还可查询关于读者的信息,是否有超期未还的图书,还可借阅书籍数目等。第 3 章图书信息系统概要设计133.3 系统总体架构3.3.1 模块描述图书信息管理系统共分为七个模块:“客户信息维护模块” 、 “图书信息维护模块” 、 “出版社信息管理模块” 、 “用户信息管理模块 ”、 “客户借还书管理模块”、 “综合查询模块” 、 “综合设置模块” 。图书信息系统的功能模块如图:用户系统管理员 客户用户信息管理租书还书客户信息维护图书信息维护

35、出版社信息管理客户租还书信息管理综合查询综合设置图 3-1 功能模块图其中,客户租还书管理模块包括以下 3 个子模块1. 租借图书2. 归还图书图书信息系统电子科技大学成都学院本科毕业设计论文143. 查询租借信息客户信息维护模块包括以下 5 个子模块1. 增加客户信息2. 删除客户信息3. 修改客户信息4. 查询客户信息5. 遍历客户信息同理,如图书信息管理、出版社信息管理、用户信息管理模块也被类似地划分为增加、删除、修改、查询和遍历 5 个模块。3.3.2 系统的总体结构图图 3-2 系统的总体结构图综合信息管理系统图书信息系统用户信息模块客户信息模块图书信息模块出版社信息模块客户租还书信

36、息模块综合查询模块综合设置模块第 3 章图书信息系统概要设计153.4 数据库设计3.4.1 数据库设计简介数据库设计有几个范式:第一范式:要求数据表中的每一个字段都不可再分,也就是说同一个数据表中同类字段不允许重复出现,在一个字段内也不允许放置多个数据项。第二范式:要求所有的非主键字段完全依赖于整个主键,而不是只依赖于构成主键的个别字段。第三范式:要求第一个非主键字段列中没有可传递的依赖性,即一个非主键列不能依赖于另一个非主键列。一般我们要做到的是第三范式,即数据表中没有冗余字段以及同一个表中的字段没有函数依赖关系,函数依赖性就是一个表中的字段间不应该有计算关系,如一个表中有单价字段、数量字

37、段,就不应该有一个总金额字段。如果程序运行过程中需要总金额,可以实时计算。不过在一些较常用的表中,我们可以适当地保留冗余字段,这样,在程序运行过程中可以减少由于表间互相关联而使用速度降低等问题。这就是所谓的第四范式。数据表设计时,最好不要使用用户输入的信息作为主键,每一个数据表自己定义一个主键,添加信息是由程序自动添加,这样就可以减少数据更新时产生的错误。表与表相关联的外键最好是由程序自动生成的主键,这样数据库就比较规范了。数据库初期设计时一定要谨慎,把所有可能的情况都考虑进去,即使当时没有用到,也要将它留在数据库中作为备用字段以便将来扩充。程序一旦开始编码,就应该尽量避免再修改数据库。因为如

38、果数据库结构一旦改变,所有与修改的数据表相关的业务都有可能受到影响,而某些影响还很难看到,这样就容易形成一个恶性循环。只要数据库结构改动。相应的模块就一定要重新修改,否则一定会出问题 1 3 7 。3.4.2 数据库设计数据库平台:Microsoft SQL Server 2000数据库中各种元素的命名约定。例如表名,字段名的命名约定。电子科技大学成都学院本科毕业设计论文16表名命名约定:表名为该表的英文缩写;字段命名约定:字段名为该字段名的英文缩写按照每个模块要实现的功能,通过其英文简写后,为每张表命名,每张表的字段名也是通过按其英文简写后命名。数据库的用户创建以及安全性检查在前面已经说明,

39、包括给用户赋予权限、密码等。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:1. 数据库需求分析。2. 数据库概念结构设计。3. 数据库逻辑结构设计 1 3 7 。3.4.3 数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入,收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后而后具体设计打下基础。根据数据流程图,可以列出以下数据项和数据结构:图书信息,包括的数据项有:图书编号、图书书名、图书类别、图书作者、出版社、价格、图书库存数量、现在

40、库存数量等。借阅信息,包括的数据项有:图书编号、客户编号、借阅时间、应归还日期、实际归还日期等。出版社信息,其数据项有:出版社名称、地址、电话、邮件地址等。客户基本信息,其数据项有:客户编号、客户姓名、密码、电话号码,电子邮件地址、借书数量等。用户信息,包括的数据项有:用户编号、密码、权限等。3.4.4 数据库概念结构设计得到上面的数据项和数据结构后,就可以设计出能够满足用户需求的各种实第 3 章图书信息系统概要设计17体,以及它们之间的关系,为后面的逻辑结构设计打下基础。 以下分别为系统 E-R 图,图书信息实体 E-R 图、租借书信息实体 E-R 图、客户信息实体 E-R 图、出版社信息实

41、体 E-R 图、用户信息实体 E-R 图。图 3-3 系统 E-R 图电子科技大学成都学院本科毕业设计论文18图书图书编号图书作者出版社 图书定价图书分类图书库存数量数量现在库存数量数量出版日期图书名称图 3-4 图书信息实体 E-R 图租借书客户编号图书编号 应归还日期实际归还日期租借日期图 3-5 租借书信息实体 E-R 图第 3 章图书信息系统概要设计19出版社出版社名称出版社地址电子邮件出版社电话图 3-6 出版社信息实体 E-R 图客户客户编号客户姓名客户密码借书数量电子邮件电话号码图 3-7 客户信息实体 E-R 图电子科技大学成都学院本科毕业设计论文20用户用户编号 用户分类用户

42、密码图 3-8 用户信息实体 E-R 图3.4.5 数据库逻辑结构设计在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。图书管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。表 3-1 图书表(Book)编号 字段名称 数据结构 说明 备注1 BookID Char(10) 图书编号 主键2 BookName Varchar(30) 图书名称 允许为空3 BookWriter Varchar(20) 图书作者 允许为空4 BookPublish Varchar(50) 出版社 允许为空5 BookNameDateDateTim

43、e 出版日期 允许为空6 BookPrice Float 图书定价 允许为空7 BookSort Varchar(20) 图书分类 允许为空8 BookAmount Int 图书库存数量 允许为空9 BookRemain Int 现在库存数量 允许为空第 3 章图书信息系统概要设计21表 3-2 租借信息表(BorrowBook)编号 字段名称 数据结构 说明 备注1 ReaderID Char(6) 客户编号 主键2 BookID Char(10) 图书编号 外键3 BorrowBook DateTime 租借日期 允许为空4 ReturnDate DateTime 应归还日期 允许为空5

44、FactReturnDate DateTime 实际归还日期 允许为空表 3-3 出版社表(PublishCompany)编号 字段名称 数据结构 说明 备注1 PublishName VarChar(50) 出版社名称 主键2 PublishAddress Varchar(50)出版社地址 允许为空3 PublishPhoneNumber Varchar(15)出版社电话 允许为空4 PublishEmail Varchar(30) 电子邮件 允许为空表 3-4 客户表(Reader)编号 字段名称 数据结构 说明 备注1 ReaderID Char(6) 客户编号 主键2 ReaderNa

45、me Varchar(20) 客户姓名 允许为空3 ReaderPassword Varchar(10) 客户密码 允许为空4 ReaderPhoneNumber Varchar(15) 电话号码 允许为空5 ReaderEmail Varchar(50) 电子邮件 允许为空6 ReaderBorrowBooks Int 借书数量 允许为空表 3-5 用户表(User)编号 字段名称 数据结构 说明 备注1 UserID Char(10) 用户编号 主键2 UserPassword Char(10) 用户密码 允许为空3 BookSort Varchar(10) 用户分类 允许为空电子科技大学

46、成都学院本科毕业设计论文221. 规划有效的索引1) 在组合表的列中创建索引,包括主关键字和外部关键字所在的列。2) 在列或类组合中创建唯一的索引能增强唯一性。3) 浏览索引并卸载不使用的索引。索引需要一定硬盘空间和时间来维护。具有较高数据插入操作频率的数据库最好不要索引。有较高读操作频率的数据库应该有更多的索引。4) 避免在簇索引中包括不必要的列。在可能的情况下,使用较小的数据类型,例如用 varchar 替代 char。5) 考虑使用簇索引来支持排序和范围化查询。在为数据检索优化表时,簇索引必须支持数据的分组索引。为簇关键字选择列或列组,簇关键字以经常需要的顺序排序数据或以必须被一起访问的

47、记录而分组记录。6) 创建支持一般查询的查找参数索引。具有高选择性的列是索引的最好候选列。具有高密度的列是索引糟糕的候选列。2. 使用约束实现数据的完整性PRIMARY KEY 约束在表中定义了主关键字,它是行唯一的标识符,它可以强制实体完整性。在使用 PRIMARY KEY 约束时考虑以下事实:1) 每个表只能有一个 PRIMARY KEY 约束。2) 键入的值必须是唯一的。3) 不允许有空值。4) PRIMARY KEY 约束在指定的列创建唯一的索引,可以指定簇索引和非簇索引(如果非簇索引先前并不存在,簇索引是默认的) 。3. UNIQUE 约束指定,在一列中的两行不能有相同的值。该约束使

48、用唯一的索引来强制实体的完整性。在已有一个主关键字时 UNIQUE 约束很有用。在使用 UNIQUE 约束时,考虑以下事实;1) 允许有空值。2) 在一个表中可以设置多个 UNIQUE 约束。3) 可以将 UNIQUE 约束运用于具有唯一值的单列或多列,但不能用于表的第 3 章图书信息系统概要设计23主关键字。4) 通过在指定的列或列组中创建唯一的索引,可以使 UNIQUE 索引得到强制 3 10 11 。电子科技大学成都学院本科毕业设计论文24第 4 章 图书信息系统详细设计4.1 总体处理流程用户从客户端登录系统。服务器收到登录命令后要在已有的管理员资料数据表中读出管理员 ID 和密码,并

49、检验该密码和用户输入的密码是否匹配。用户登录成功后就可以进行各种操作了,正确的填写各个界面的内容后,客户端就会向服务器发送命令,服务器按照要求对数据库进行处理(写入、读出、修改) ,然后返回操作结果或查询的数据。4.2 用户界面设计当今软件界的所有软件无不是可视化的用户界面,它的好处不外乎它有美观、直接、操作者易懂和操作方便等好处。本系统设计思想:“为用户设计,而不是设计者”本系统设计原则:界面美观、操作方便并能高效率地完成工作。界面根据用户需求设计。界面能引导用户操作的功能,并能提供一些帮助功能。4.3 系统窗体模块设计系统窗体由登陆界面,系统主界面和多个功能模块界面组成,基本上一个模块完成一个或几个功能。4.3.1 用户登陆模块的实现用户登陆界面如图 4-1第 4 章 图书信息系统详细设计25图 4-1 用户登陆界面该模块主要实现系统的登陆。在用户名和密码中输入用户的账号和密码,点击确定,将调用private void btnOk_Click(object sender, System.Event

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报