[毕业设计精品]基于数据库图书管理系统.doc

上传人:laozhun 文档编号:2395186 上传时间:2023-02-17 格式:DOC 页数:34 大小:188.50KB
返回 下载 相关 举报
[毕业设计精品]基于数据库图书管理系统.doc_第1页
第1页 / 共34页
[毕业设计精品]基于数据库图书管理系统.doc_第2页
第2页 / 共34页
[毕业设计精品]基于数据库图书管理系统.doc_第3页
第3页 / 共34页
[毕业设计精品]基于数据库图书管理系统.doc_第4页
第4页 / 共34页
[毕业设计精品]基于数据库图书管理系统.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《[毕业设计精品]基于数据库图书管理系统.doc》由会员分享,可在线阅读,更多相关《[毕业设计精品]基于数据库图书管理系统.doc(34页珍藏版)》请在三一办公上搜索。

1、摘 要二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。如何获取信息?图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。迫使人们起用新的管理方法来管理图书,如何把图书管理员从繁重的工作中解脱出来呢?科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。因此,图书管理系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻

2、工人人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息 。【关键词】图书管理 系统设计 信息 【Abstract】21 centuries is resources that information that society, social most in conduct and actions in information, will become the strategy resources cause the extensive concern in people.How to obtain the inform

3、ation?Books is work that the way that we obtain the information bestly, but collect and keep to have great capacity the big increment because of the library books, make traditional books managing person increasingly heavy to get up.Forcing people rises to manage the books with the new management met

4、hod, howing to set free out the books the managing person from the heavy work? The advance of the science technique continuous changes and improvements, let mankind the life took place the enormous variety, the calculator flies technically to develop soon, making the every trade get the extensive un

5、iversality with use in the aspects of calculator technique applying.The information turns the ages comes the current that become cant resist, human civilization enter a brand-new ages.Therefore, books management system too with the convenience, fast, low advantage in expenses is entering people life

6、 slowly, manage the traditional books to way to set free out thoroughly, lift high-efficiency, alleviate workers personnel former busy work, let up to come amiss all rate, can make the reader spend more time at choose the book with read the in the book.From but make that people have more time to obt

7、ain the information, understand the information and control the information.目 录背 景3第一章 绪 论41.1 数据库应用系统开发简介41.1.1 数据库41.1.2 数据库管理系统61.1.3 创建数据库71.2 图书管理系统7第二章 数据库理论基础132.1 数据库系统设计及范式分析132.1.1 数据库系统设计132.1.2 数据库设计范式分析152.2 SQL语言介绍162.2.1 SQL基础162.2.2 SQL语句17第三章 应用系统开发工具203.1 Delphi6.0VCL组件的体系结构203.2 数

8、据库组件介绍213.3 SQL语言在Delphi中的应用223.4 MS SQL Server简述25第四章图书管理系统设计分析264.1应用需求分析264.2 系统功能模块划分274.3 系统数据库设计274.3.1 概念设计274.3.2 关系数据库的逻辑设计29第五章 图书管理系统应用程序设计305.1 系统窗体模块组成305.2 数据模块窗体的设置305.3 启动画面的实现305.4 用户登录窗体的的实现305.5 用户密码认证窗体的的实现305.6 借阅者服务模块的实现315.6.1图书查询功能的实现315.6.2借阅者登录功能的实现315.6.3借阅者借阅情况功能的实现315.6.

9、4借阅者个人资料维护功能的实现315.7工作人员图书借阅/归还模块的实现325.7.1工作人员进行图书借阅功能实现325.7.2工作人员进行图书归还功能实现325.8图书馆管理员模块的实现325.8.1图书馆管理员图书管理功能的实现325.8.2图书馆管理员工作人员和管理员管理功能的实现325.8.3图书馆管理员修改图书类别及统记功能的实现335.8.4图书馆管理员借阅者管理功能的实现335.8.5图书馆维护借阅者管理功能的实现335.8.6图书馆身份维护功能的实现33参 考 文 献34背 景图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发

10、两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。因此本人结合开入式图书馆的要求,对MS SQL Server2000数据库管理系统、SQL语言原理、Delphi应用程序设计,Delphi数据库技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的图书理系统可以满足借阅者、图书馆工作人员和高级管理员三方面的需要。第一章 绪 论1.1 数据库应用系统开发简介在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构

11、、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。1.1.1 数据库数据库由DBMS(数据库管理系

12、统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。1.用户数据目前,大多数主流数据库管理系统把用户数据表示为关系。现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。第二章描述了一个用以产生良好结构关系的过程,称作规范化。为了对比结构差的关系和结构好的关系之间的差别,以本文所设计的图书管理系统中的图书和图书借阅者关系为例来说明,假若设计关系R1(借书证号,姓名,性别,身份编号,身份证,联系电话,图书编号,图书名称,图书类别,作者,出版

13、社,出版日期,备注,价格,数量);这个关系的问题出在它有关于两个不同主题的数据,就是图书借阅者和图书。用这种方式构成的关系在进行修改时,会出现问题。因为一个图书借阅者可能借阅多本书,如果某个图书借阅者的某个字段(如联系电话)出现变更,它所借阅的图书记录(可能多个)也就必须变化,这是不好的。因此数据用两个关系表示更好。现在如果某图书借阅者改变了它的联系电话,只有关系(表)user的对应行需要改变。当然,要想产生一个,显示图书名称及其借阅者联系电话的报表,就需要将这两个表的行结合起来。结果表明,将关系分别存储,在生成报表的时候将它们结合起来,比把它们存储在一个合成的表中更好。user(借书证号,姓

14、名,性别,身份编号,身份证,联系电话,)book(图书编号,图书名称,图书类别,作者,出版社,出版日期,备注,价格,数量)2. 元数据数据库是自描述的,这就意味着它自身包含了它的结构的描述,这种结构的描述称作元数据。因为DBMS产品是用来存储和操纵表的,所以大多数产品把元数据以表的形式存储,有时称作系统表。这些系统表存储了数据库中表的情况,指出每一个表中有多少列,那一列是主关键字,每一列的数据类型的描述,它也存储索引、关键字、规则和数据库结构的其他部分。在表中存储元数据不仅对DBMS是有效的,对用户也是方便的,因为他们可以使用与查询用户数据同样的查询工具来查询元数据。本文第二章所介绍的SQL语

15、言可以同时用于元数据和用户数据。3. 索引第三种类型的数据改进了数据库的性能和可访问性,这种数据经常称作开销数据,尽管有时也采用其他类型的数据结构,如链表,但它主要还是索引。索引可以用来排序和快速访问数据。下面以本人的图书管理信息系统中的book表为例来说明。假定数据在磁盘上是按图书编号的递增顺序排列的,用户想打印一个按图书名称排序的图书数据报表。为此,所有的数据都需要从源表中提取出来并排序,除非表很小,否则这是一个很费时的过程。或者,可以在图书名称字段上创建一个索引,该索引的条目按照图书名称排序,这样,该索引的条目可以读出来,并用来按顺序访问book数据。索引用于快速访问数据。例如,一个用户

16、只想访问book表中图书类别值为01的那些学生。如果没有索引,则必须搜索整个源表;但有了索引之后,可以找到索引条目,并使用它来挑选所有合适的行。索引对排序和查找是有帮助的,但要付出代价。book表中的行每次改变时,索引也必须改变,这意味着索引并非随意的,应该在真正需要时保存。4. 应用元数据存储在数据库中的第四种数据是应用元数据,它用来存储用户窗体、报表、查询和其他形式的查询组件。并非所有的DBMS都支持应用组件,支持组件的DBMS也不一定把全部组件的结构作为应用元数据存储在数据库中。然而,大多数现代的DBMS产品存储这种数据作为数据库的一部分。一般来说,数据库开发人员和用户都不直接访问应用元

17、数据,想反,他们通过DBMS中的工具来处理这些数据。MS SQL Server2000中就支持窗体、存储过程等应用元数据。1.1.2 数据库管理系统数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。MS SQL Server2000就是一种关系型数据库管理系统。关系模型。关系模型主要是用二维表格结构表达实体集,用外键表

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

19、所包含的运行处理器用来处理窗体和数据库的数据交互,以及回答查询和打印报表等。DBMS引擎从其他两个组件接受请求,并把它们翻译成对操作系统的命令,以便读写物理介质上的数据。DBMS引擎还涉及事务管理、锁、备份和恢复。1.1.3 创建数据库1. 数据库模式数据库模式定义了数据库的结构、表、关系、域和业务规则。数据库模式是一种设计,数据库和应用正是建立在此基础上的。域是一列可能拥有的值的集合。必须为每一个表的每一列确定域。除了数据的物理格式外,还需要确定是否有些域对表来说是唯一的。数据库模式的最后一个要素是业务规则,它是对需要反映在数据库和数据库应用程序中的业务活动的约束。业务规则是模式的一个重要部

20、分,因为他们指定了无论什么数据变化到达DBMS引擎,允许的数据值必须满足的约束。不管无效的数据变化请求是来自窗体的用户、查询/修改请求还是应用程序,DBMS都应该拒绝。遗憾的是,不同的DBMS产品用不同的方法实施业务规则。在某些情况下,DBMS产品不具备实施必要业务规则的能力,必须以代码形式把它们编入应用程序。2. 创建表3. 定义联系4. 应用组件数据库应用包括窗体、查询、报表、菜单和应用程序。1.2 图书管理系统当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了

21、工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息

22、处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了

23、。基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。1 系统所做工作1)了解应用开发工具的现状2)DelPHi6.0编程基础3)MS SQL Server基础4)设计数据库;设计界面5)开发数据库。数据库实现的一些功能有l.数据和数据说明的醒目显示;l.多条件的查询、多条记录的检索、模糊查询;l.数据文件某种存储格式导入数据窗体,经过数据完整性校验存入数据库;l.数据库安全性的设计;l.数据库的设计、数据接口、界面的设计。一、通过对系统的调查和可行性分析,系统的数据流

24、程图如图1.0:书籍类别设置读者种类设置 基本信息录入 基本信息录入 D1 D2 书籍类别信息管理读者种类信息管理读者登记书籍登记 基本信息录入 基本信息录入 D3 D4书籍信息管理读者信息管理 D5 借阅信息录入 读者信息返回 书籍信息返回 借阅信息管理图1.0 2数据库概念结构设计本程序包括的实体有:读者类别信息实体,读者信息实体,书籍类别信息实体,书籍信息实体,借阅信息实体。读者信息管理借阅书籍书籍信息管理借阅信息管理书籍信息登记读者信息登记读者类别信息书籍类别信息图1.1 实体之间关系的E-R图3数据库逻辑结构设计图书基本信息表Book: 字段名称数据类型字段说明bookid文本保存书

25、号bookname文本保存书名booktype文本保存书的类型bookauthor文本保存保存书的作者bookpub文本保存书的出版社bookpubdate日期/时间保存书的出版日期bookpages数字保存书的页数bookkeyword文本关键字bookindate日期/时间入库时间putup文本是否借出bookmemo备注备注借书卡信息表(读者信息表)reader:字段名称数据类型字段说明readerno文本保存读者编号readername文本)保存读者姓名readersex文本)保存读者性别readertype文本保存读者类别readerdep文本保存读者所属部门address文本保存读

26、者地址readertel文本保存读者电话email文本保存读者的电子邮件地址checkdate日期/时间借阅日期readermemo备注备注借阅信息表borrowinfo:字段名称数据类型字段说明borrowno文本保存借阅号readerid文本保存读者IDreadername文本保存借阅者姓名borrowdate日期/时间保存借阅日期returndate日期/时间保存还书日期memo备注备注图书分类信息表booktype:字段名称数据类型字段说明booktypeno文本保存图书分类号typename文本保存类别名称keyword文本关键字memo备注备注读者分类信息表readertype:字

27、段名称数据类型字段说明typeno文本保存读者分类号typename文本保存类别名称booknumber数字保存允许借书数量bookdays数字保存允许借阅天数userfullife数字保存专业IDmemo备注备注用户信息表User_info:字段名称数据类型字段说明user_ID文本保存用户IDuser_PWD文本保存用户密码user_Des文本程序模块示意图1.2如下:图书管理程序系统设置模块系统登陆模块借阅管理模块读者管理模块书籍管理模块还书查询修改信息查询修改读者信息添加信息查询修改书籍信息添加借书事件添加模块借书查询修改读者类别管理书籍类别管理还书事件添加注意读者数据存取模块借阅数据

28、存取模块书籍数据存取模块数据加密与备份模块远程数据同步模块数据库(运行SQLServer的服务器) 图1.2第二章 数据库理论基础2.1 数据库系统设计及范式分析信息系统的主要任务是通过大量的数据获得管理所需要的信息,这就必须存储和管理大量的数据。因此建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。2.1.1 数据库系统设计数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DB

29、MS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。1.数据库设计的步骤是:(1)数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机事务处理CLTP(负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据库。针对选择的DBMS,进行数据库结构定义。(2)数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键

30、字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。(3)存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。(4)数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。(5)数据字典设计:用数据字典描述数据库的设计,便于维护和修改。为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:规范化地重组数据结构:对数据进行规范化表达,这在后

31、面将会具体讨论。关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了。 建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构。 1.链接关系的确定 在进行了上述数据规范化重组后,已经可以确保每一个基本数据表(我们简称为表)是规范的,但是这些单独的表并不能完整地反映事物,通常需要通过指标体系整体指标数据才能完整全面地反映问题。也就是说在这些基本

32、表的各宇段中,所存储的是同一事物不同侧面的属性。那么计算机系统如何能知道哪些表中的哪些记录应与其它表中的哪些记录相对应,它们表示的是同一个事物呢?这就需要在设计数据结构时将这种各表之间的数据记录关系确定下来。这种表与表之间的数据关系一般都是通过主或辅关键词之间的连接来实现的。因为在每个表中只有主关键词才能唯一地标识表中的这一个记录值(因为根据第三范式的要求,表中其它数据字段函数都依赖于主关键词),所以将表通过关键词连接就能够唯一地标识出某一事物不同属性在不同表中的存放位置。2.确定单一的父子关系结构 所谓确定单一的父系关系结构就是要在所建立的各种表中消除多对多(以下用M:N来表示)的现象,即设

33、法使得所有表中记录之间的关系呈树状结构(只能由一个主干发出若干条分支,而不能有若干条主干交错发出若干条分支状况)。所谓的“父系”就是指表的上一级关系表。消除多对多关系可以借助于E-R图的方法来解决,也可以在系统分析时予以注意,避免这种情况的发生。消除这种M:N情况的办法也很简单,只需在二表之间增加一个表,则原来M:N的关系就改成了M:1,1:N的关系了。确定数据资源的安全保密属性:一般DBMS都提供给我们自己定义数据安全保密性的功能。系统所提供的安全保密功能一般有8个等级(0-7级),4种不同方式(只读、只写、删除、修改),而且允许用户利用这8个等级的4种方式对每一个表自由地进行定义。定义安全

34、保密性的方法一般有如下几种: a原则上所有文件都定义为4级,个别优先级特别高的办公室(终端或微机的入网账号)可定义高于4级的级别,反之则定义为低于4的级别。 b统计文件(表)和数据录入文件一般只对本工作站定义为只写方式,对其它工作站则定义为只读方式。 c财务等保密文件一般只对中工作站(如财务科等)定义为可写、可改、可删除方式,对其它工作站则定义为只读方式,而且不是每个人都能读,只有级别相同和高级别者才能读。2.1.2 数据库设计范式分析 建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一环。一个良好的数据指标体系是建立DB的必要条件,但不是充分条件。我们完全可以认为所建指标体系中

35、的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。但如果直接按照这种方式建库显然还不能算最佳。对于指标体系中数据的结构在建库前还必须进行规范化的重新组织。 数据组织的规范化形式 在数据的规范化表达中,一般将一组相互关联的数据称为一个关系(relation),而在这个关系下的每个数据指标项则被称为数据元素(data element),这种关系落实到具体数据库上就是基本表,而数据元素就是基本表中的一个字段(field)。规范化表达还规定在每一个基本表中必须定义一个数据元素为关键字(key),它可以唯一地标识出该表中其它相关的数据元素。在规范化理论

36、中表是二维的,它有如下四个性质:l在表中的任意一列上,数据项应属于同一个属性(如图中每一列都存放着不同合同记录的同一属性数据)。 2表中所有行都是不相同的,不允许有重复组项出现(如图中每一行都是一个不同的合同记录)。3在表中,行的顺序无关紧要(如图中每行存的都是合同记录,至于先放哪一个合同都没关系)。 4在表中,列的顺序无关紧要,但不能重复(如图中合同号和合同名谁先谁后都没关系,但二者不可重复或同名)。在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范式。在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种范式是“向上兼容”的,即满足第五范式的数据

37、结构自动满足一、二、三、四范式,满足第四范式的数据结构自动满足第一、二、三范式,依此类推。第一范式(first normal form,简称1st NF)就是指在同一表中没有重复项出现,如果有则应将重复项去掉。这个去掉重复项的过程就称之为规范化处理。在本文所讨论的开发方法里,1st NF实际上是没有什么意义的。因为我们按规范化建立的指标体系和表的过程都自动保证了所有表都满足1st NF。 第二范式(second normal form,简称 2nd NF)是指每个表必须有一个(而且仅一个)数据元素为主关键字(primary key),其它数据元素与主关键字一一对应。例如,在图l9.7中如果我们

38、将合同号定义为主关键字(其它数据元素中的记录数据都有可能重名,故不能作为主关键字),故只要知道了一个合同记录的合同号,就可以唯一地在同一行中找到该合同的任何一项具体信息。通常我们称这种关系为函数依赖(functional depEndence)关系。即表中其它数据元素都依赖于主关键字,或称该数据元素唯一地被主关键字所标识。第三范式(third normal form,简称 3rd NF)就是指表中的所有数据元素不但要能够唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其它的函数关系。也就是说对于一个满足了 2nd NF的数据结构来说,表中有可能存在某些数据元素依赖于其它非关键宇数据元

39、素的现象,必须加以消除。为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库要尽量按关系规范化要求进行数据库设计。2.2 SQL语言介绍2.2.1 SQL基础SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Acc

40、ess、 Ingres等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL命令,比如Select、 Insert、 Update、 Delete、 Create和 Drop常常被用于完成绝大多数数据库的操作。MS SQL Server 就是用的Transact- SQL。SQL语言有着非常突出的优点,主要是:n非过程化语言n统一的语言n是所有关系数据库的公共语言非过程化语言:SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL

41、 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。统一的语言:SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。SQL为许多任务提供了命令,其中包括:n查询数据n在表中插入、修改和删除记录n建

42、立、修改和删除数据对象n控制对数据和数据对象的存取n保证数据库一致性和完整性以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。2.2.2 SQL语句SQL功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据;

43、 DDL(Data Definition Language,数据定义语言): 用于定义数据的结构,比如 创建、修改或者删除数据库对象; .DCL(Data Control Language,数据控制语言):用于定义数据库用户的权限。DML组可以细分为以下的几个语句:SELECT:用于检索数据;INSERT:用于增加数据到数据库;UPDATE:用于从数据库中修改现存的数据;DELETE:用于从数据库中删除数据。DDL语句可以用于创建用户和重建数据库对象。下面是DDL命令:CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP INDEX下面是一

44、个简单SQL语句的例子:我们使用SQL语句来从Book中检索借书证号为000001的借阅者姓名:SELECT 姓名 FROM Book WHERE 借书证号 = 0000011. DDL与DML数据定义语言DDL:它是用来创建和修改数据库结构的一种语句,包括 Create、Alter和Drop 语句。 数据操作语言DML:包括数据查询与数据更新。数据查询主要是由Select语句完成,这一点不再赘述。而数据更新所造成的风险大大超过数据查询。数据库管理系统必须在更改期内保护所存储的数据的一致性,确保有效的数据进入数据库,数据库必须保持一致性,DBMS还必须协调多用户的并行更新,以确保用户和它们的更改不至于影响其它用户的作业。用于修改数据库内容的 SQL 语句主要有以下三个: (1) Insert,向一个表中加入新的数据行 (2) Delete,从一个表中删除数据行 (3) Update,更改数据库中已经存在的数据 Insert标准语法:INSERT INTO table_name (col1, col2.) VALUES(value1, value2.)下例要将借书证号为000001作为一个新的借书情况加入借书情况表OWNER中Insert Intoowner (借书证号,图书编号,借书日期) values (000001,00000001,2002-9-12)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号