因此本人结合开入式图书馆的要求,对MS SQL Server2000数据库管理系统、SQL语言原理、Delphi应用程序设计,Delphi数据库技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、图书馆工作人员和高级管理员三方面的需要。
第一章对数据库应用系统开发和图书管理系统进行了简明的介绍,并分析了开发图书管理系统所应进行的工作。
第二章对数据库的设计和SQL语言的使用进行了系统分析,为深入理解数据库应用打下了基础。
第三章学习了具体的开发工具Delphi 6.0,对其数据库组件,SQL语言在Delphi中的应用等数据库编程关键技术进行了系统的介绍。
第四章分析了图书管理信息系统的应用需求,按照数据库设计理论一步一步地给出了系统需求说明书、局部ER图、全局ER图、系统关系模式,子模式,利用MS SQL Server2000建立了数据库
第五章进行了具体的程序设计,具体划分了三类用户的操作权限,设计了了三个操作界面。实现了数据库表的浏览,记录的添加、删除和修改,报表的生成,实现了多数据库表的连接操作,实现了多条件查询和模糊查询,并灵活实现了对不可更新查询结果集的更新操作,实现了主从表操作,实现了密码维护功能,最后,系统还可以导入数据库以对任意同结构的数据库进行操作。
设计充分利用Delphi 6、MS SQL Server2000数据库技术的强大力量,提高了编程效率和可靠性。
关键词:数据库,SQL语言,MS SQL Server,Delphi6,
数据库组件,图书管理,窗体,listview组件
目 录
摘 要 ……………………………………………………………………………… I
第一章 绪 论 …………………………………………………………………… 1
§1.1 数据库应用系统开发简介 ……………………………………………… 1
§1.2 图书管理系统 ……………………………………………………… 4
§1.3 本文所做的主要工作 …………………………………………………… 6
第二章 数据库理论基础 ………………………………………………………… 7
§2.1 数据库系统设计及范式分析 …………………………………………… 7
§2.2 SQL语言介绍………………………………………………………………… 11
2.2.1 SQL基础 ………………………………………………………………… 11
2.2.2 SQL语句 ………………………………………………………………… 12
第三章 应用系统开发工具………………………………………………… 16
§3.1 Delphi6.0 VCL组件的体系结构……………………………………… 16
§3.2 数据库组件介绍 …………………………………………………………… 17
§3.3 SQL语言在Delphi中的应用 …………………………………………… 18
§3.4 MS SQL Server简述 …………………………………………………… 22
第四章 图书管理系统设计分析 ………………………………………… 24
§4.1 应用需求分析 …………………………………………………………… 24
§4.2 系统功能模块划分 ……………………………………………………… 29
§4.3 系统数据库设计 ………………………………………………………… 29
第五章 图书管理系统应用程序设计 …………………………………… 37
§5.1 系统窗体模块组成 ………………………………………………………… 37
§5.2 数据模块窗体的设置 ……………………………………………………… 37
§5.3启动画面的实现…………………………………………………………… 38
§5.4用户登录窗体的的实现……………………………………………………… 39
§5.5用户密码认证窗体的的实现………………………………………………… 39
§5.6借阅者服务模块的实现…………………………………………………… 40
5.6.1图书查询功能的实现………………………………………………… 41
5.6.2借阅者登录功能的实现………………………………………………… 42
5.6.3借阅者借阅情况功能的实现…………………………………………… 43
5.6.4借阅者个人资料维护功能的实现……………………………………… 47
§5.7工作人员-图书借阅/归还模块的实现……………………………………… 49
5.7.1工作人员进行图书借阅功能实现……………………………………… 50
5.7.2工作人员进行图书归还功能实现……………………………………… 53
§5.8图书馆管理员模块的实现…………………………………………… 54
5.8.1图书馆管理员图书管理功能的实现…………………………………… 55
5.8.2图书馆管理员工作人员和管理员管理功能的实现…………………… 58
5.8.3图书馆管理员修改图书类别及统记功能的实现……………………… 60
5.8.4图书馆管理员借阅者管理功能的实现………………………………… 62
5.8.5图书馆维护借阅者管理功能的实现………………………………… 62
5.8.6图书馆身份维护功能的实现……………………………………… 64
5.8.7图书馆借阅者统计功能的实现………………………………… 65
5.8.8图书馆统计借阅过期记录功能的实现………………………… 67
§5.9系统信息显示的实现………………………………………………… 68
第六章 结束语 ……………………………………………………………… 69
致 谢 ………………………………………………………………………………70
参考书目 …………………………………………………………………………… 70
第一章 绪 论
§1.1 数据库应用系统开发简介
在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。
数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。
数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。
1.1.1 数据库
如图1.1显示了数据库系统的主要组件。数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。
1.1.1.1 用户数据
目前,大多数主流数据库管理系统把用户数据表示为关系。现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。第二章描述了一个用以产生良好结构关系的过程,称作规范化。
为了对比结构差的关系和结构好的关系之间的差别,以本文所设计的图书管理系统中的图书和图书借阅者关系为例来说明,假若设计关系R1(借书证号,姓名,性别,身份编号,身份证,联系电话,图书编号,图书名称,图书类别,作者,出版社,出版日期,备注,价格,数量);这个关系的问题出在它有关于两个不同主题的数据,就是图书借阅者和图书。用这种方式构成的关系在进行修改时,会出现问题。因为一个图书借阅者可能借阅多本书,如果某个图书借阅者的某个字段(如联系电话)出现变更,它所借阅的图书记录(可能多个)也就必须变化,这是不好的。因此数据用两个关系表示更好。现在如果某图书借阅者改变了它的联系电话,只有关系(表)user的对应行需要改变。当然,要想产生一个,显示图书名称及其借阅者联系电话的报表,就需要将这两个表的行结合起来。结果表明,将关系分别存储,在生成报表的时候将它们结合起来,比把它们存储在一个合成的表中更好。
user(借书证号,姓名,性别,身份编号,身份证,联系电话,)
book(图书编号,图书名称,图书类别,作者,出版社,出版日期,备注,价格,数量)
1.1.1.2 元数据
数据库是自描述的,这就意味着它自身包含了它的结构的描述,这种结构的描述称作元数据。因为DBMS产品是用来存储和操纵表的,所以大多数产品把元数据以表的形式存储,有时称作系统表。这些系统表存储了数据库中表的情况,指出每一个表中有多少列,那一列是主关键字,每一列的数据类型的描述,它也存储索引、关键字、规则和数据库结构的其他部分。
在表中存储元数据不仅对DBMS是有效的,对用户也是方便的,因为他们可以使用与查询用户数据同样的查询工具来查询元数据。本文第二章所介绍的SQL语言可以同时用于元数据和用户数据。
1.1.1.3 索引
第三种类型的数据改进了数据库的性能和可访问性,这种数据经常称作开销数据,尽管有时也采用其他类型的数据结构,如链表,但它主要还是索引。索引可以用来排序和快速访问数据。下面以本人的图书管理信息系统中的book表为例来说明。
假定数据在磁盘上是按’图书编号’的递增顺序排列的,用户想打印一个按’图书名称’排序的图书数据报表。为此,所有的数据都需要从源表中提取出来并排序,除非表很小,否则这是一个很费时的过程。或者,可以在‘图书名称’字段上创建一个索引,该索引的条目按照‘图书名称’排序,这样,该索引的条目可以读出来,并用来按顺序访问book数据。
索引用于