数据库 论文.docx
《数据库 论文.docx》由会员分享,可在线阅读,更多相关《数据库 论文.docx(22页珍藏版)》请在冰豆网上搜索。
数据库论文
数据库
摘要
数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。
它是一个按数据结构来存储和管理数据的计算机软件系统。
严格地说,它是“按照数据结构来组织、存储和管理数据的仓库”。
在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。
J.Martin给数据库下了一个比较完整的定义:
数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。
当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。
关键词:
数据库,发展史,发展阶段,基本属性,常用数据库,未来发展
引言:
数据库发展史数据库技术从诞生到现在,在不到半个世纪的时间里,形成了坚实的理论基础、成熟的商业产品和广泛的应用领域,吸引越来越多的研究者加入。
数据库的诞生和发展给计算机信息管理带来了一场巨大的革命。
三十多年来,国内外已经开发建设了成千上万个数据库,它已成为企业、部门乃至个人日常工作、生产和生活的基础设施。
同时,随着应用的扩展与深入,数据库的数量和规模越来越大,数据库的研究领域也已经大大地拓广和深化了。
30年间数据库领域获得了三次计算机图灵奖(C.W.Bachman,E.F.Codd,J.Gray),更加充分地说明了数据库是一个充满活力和创新精神的领域。
“数据库”一词源于英文“Database”,直译为资料仓库,所以数据库实际上就是一个由大量资料所组成的集合。
但是这些资料不是杂乱无章的堆积在一起,而是按照一定的规律和规则存储在计算机中。
数据库的优点是很明显的,它具有结构化的存储方式,最小的空间冗余,而且在数据库中处理事务的程序与被处理的事务资料是分开存储的,这种独立性能够更好的保持资料的完整性和程序的可扩展性。
数据库的定义:
(1)数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。
(2)数据库是数据管理的新方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。
数据库中数据的性质
1.数据整体性
数据库是一个单位或是一个应用领域的通用数据处理系统,他存储的是属于企业和事业部门、团体和个人的有关数据的集合。
数据库中的数据是从全局观点出发建立的,他按一定的数据模型进行组织、描述和存储。
其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。
2.数据共享性
数据库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。
不同的用户可以按各自的用法使用数据库中的数据;多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据库中的同一个数据。
数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信的要求。
数据库的发展史
数据库的历史可追溯到五十年前,那时的数据管理非常简单。
通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。
而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。
然而,1951年雷明顿兰德公司(RemingtonRandInc.)的一种叫做UnivacI的计算机推出了一种一秒钟可以输入数百条记录的磁带驱动器,从而引发了数据管理的革命。
1956年IBM生产出第一个磁盘驱动器——theModel305RAMAC。
此驱动器有50个盘片,每个盘片直径是2英尺,可以储存5MB的数据。
使用磁盘最大的好处是可以随机地存取数据,而穿孔卡片和磁带只能顺序存取数据。
1951:
Univac系统使用磁带和穿孔卡片作为数据存储。
数据库系统的萌芽出现于60年代。
当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。
传统的文件系统已经不能满足人们的需要。
能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。
数据模型是数据库系统的核心和基础,各种DBMS软件都是基于某种数据模型的。
所以通常也按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。
最早出现的是网状DBMS,是美国通用电气公司Bachman等人在1961年开发成功的IDS(IntegratedDataStore)。
1961年通用电气公司(GeneralElectricCo.)的CharlesBachman成功地开发出世界上第一个网状DBMS也是第一个数据库管理系统——集成数据存储(IntegratedDataStoreIDS),奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。
IDS具有数据模式和日志的特征。
但它只能在GE主机上运行,并且数据库只有一个文件,数据库所有的表必须通过手工编码来生成。
之后,通用电气公司一个客户——BFGoodrichChemical公司最终不得不重写了整个系统。
并将重写后的系统命名为集成数据管理系统(IDMS)。
网状数据库模型对于层次和非层次结构的事物都能比较自然的模拟,在关系数据库出现之前网状DBMS要比层次DBMS用得普遍。
在数据库发展史上,网状数据库占有重要地位。
层次型DBMS是紧随网络型数据库而出现的。
最著名最典型的层次数据库系统是IBM公司在1968年开发的IMS(InformationManagementSystem),一种适合其主机的层次数据库。
这是IBM公司研制的最早的大型数据库系统程序产品。
从60年代末产生起,如今已经发展到IMSV6,提供群集、N路数据共享、消息队列共享等先进特性的支持。
这个具有30年历史的数据库产品在如今的WWW应用连接、商务智能应用中扮演着新的角色。
1973年Cullinane公司(也就是后来的Cullinet软件公司),开始出售Goodrich公司的IDMS改进版本,并且逐渐成为当时世界上最大的软件公司。
关系数据库的由来
网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。
用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。
而后来出现的关系数据库较好地解决了这些问题。
1970年,IBM的研究员E.F.Codd博士在刊物《CommunicationoftheACM》上发表了一篇名为“ARelationalModelofDataforLargeSharedDataBanks”的论文,提出了关系模型的概念,奠定了关系模型的理论基础。
尽管之前在1968年Childs已经提出了面向集合的模型,然而这篇论文被普遍认为是数据库系统历史上具有划时代意义的里程碑。
Codd的心愿是为数据库建立一个优美的数据模型。
后来Codd又陆续发表多篇文章,论述了范式理论和衡量关系系统的12条标准,用数学理论奠定了关系数据库的基础。
关系模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。
但是当时也有人认为关系模型是理想化的数据模型,用来实现DBMS是不现实的,尤其担心关系数据库的性能难以接受,更有人视其为当时正在进行中的网状数据库规范化工作的严重威胁。
为了促进对问题的理解,1974年ACM牵头组织了一次研讨会,会上开展了一场分别以Codd和Bachman为首的支持和反对关系数据库两派之间的辩论。
这次著名的辩论推动了关系数据库的发展,使其最终成为现代数据库产品的主流。
1969:
EdgarF。
“Ted”Codd发明了关系数据库
1970年关系模型建立之后,IBM公司在SanJose实验室增加了更多的研究人员研究这个项目,这个项目就是著名的SystemR。
其目标是论证一个全功能关系DBMS的可行性。
该项目结束于1979年,完成了第一个实现SQL的DBMS。
然而IBM对IMS的承诺阻止了SystemR的投产,一直到1980年SystemR才作为一个产品正式推向市场。
IBM产品化步伐缓慢的三个原因:
IBM重视信誉,重视质量,尽量减少故障;IBM是个大公司,官僚体系庞大;IBM内部已经有层次数据库产品,相关人员不积极,甚至反对。
然而同时,1973年加州大学伯克利分校的MichaelStonebraker和EugeneWong利用SystemR已发布的信息开始开发自己的关系数据库系统Ingres。
他们开发的Ingres项目最后由Oracle公司、Ingres公司以及硅谷的其他厂商所商品化。
后来,SystemR和Ingres系统双双获得ACM的1988年“软件系统奖”。
1976年霍尼韦尔公司(Honeywell)开发了第一个商用关系数据库系统——MulticsRelationalDataStore。
关系型数据库系统以关系代数为坚实的理论基础,经过几十年的发展和实际应用,技术越来越成熟和完善。
其代表产品有Oracle、IBM公司的DB2、微软公司的MSSQLServer以及Informix、ADABASD等等。
结构化查询语言(SQL)
1974年,IBM的RayBoyce和DonChamberlin将Codd关系数据库的12条准则的数学定义以简单的关键字语法表现出来,里程碑式地提出了SQL(StructuredQueryLanguage)语言。
SQL语言的功能包括查询、操纵、定义和控制,是一个综合的、通用的关系数据库语言,同时又是一种高度非过程化的语言,只要求用户指出做什么而不需要指出怎么做。
SQL集成实现了数据库生命周期中的全部操作。
SQL提供了与关系数据库进行交互的方法,它可以与标准的编程语言一起工作。
自产生之日起,SQL语言便成了检验关系数据库的试金石,而SQL语言标准的每一次变更都指导着关系数据库产品的发展方向。
然而,直到二十世纪七十年代中期,关系理论才通过SQL在商业数据库Oracle和DB2中使用。
1986年,ANSI把SQL作为关系数据库语言的美国标准,同年公布了标准SQL文本。
目前SQL标准有3个版本。
基本SQL定义是ANSIX3135-89,“DatabaseLanguage-SQLwithIntegrityEnhancement”[ANS89],一般叫做SQL-89。
SQL-89定义了模式定义、数据操作和事务处理。
SQL-89和随后的ANSIX3168-1989,“DatabaseLanguage-EmbeddedSQL”构成了第一代SQL标准。
ANSIX3135-1992[ANS92]描述了一种增强功能的SQL,现在叫做SQL-92标准。
SQL-92包括模式操作,动态创建和SQL语句动态执行、网络环境支持等增强特性。
在完成SQL-92标准后,ANSI和ISO即开始合作开发SQL3标准。
SQL3的主要特点在于抽象数据类型的支持,为新一代对象关系数据库提供了标准。
数据库巨人的诞生——甲骨文公司(Oracle)
1976年IBME.F.Codd发表了一篇里程碑的论文“R系统:
数据库关系理论”,介绍了关系数据库理论和甲骨文公司查询语言SQL。
Oracle的创始人Ellison非常仔细地阅读了这篇文章,被其内容震惊,这是第一次有人用全面一致的方案管理数据信息。
作者E.F.Codd十年前就发表了关系数据库理论,并在IBM研究机构开发原型,这个项目就是R系统,存取数据表的语言就是SQL。
Ellison看完后,敏锐意识到在这个研究基础上可以开发商用软件系统。
而当时大多数人认为关系数据库不会有商业价值。
Ellison认为这是他们的机会:
他们决定开发通用商用数据库系统Oracle,这个名字来源于他们曾给中央情报局做过的项目名。
几个月后,他们就开发了Oracle1.0。
但这只不过是个玩具,除了完成简单关系查询不能做任何事情,他们花相当长的时间才使Oracle变得可用,维持公司运转主要靠承接一些数据库管理项目和做顾问咨询工作。
而IBM却没有计划开发,为什么蓝色巨人放弃了这个价值上百亿的产品,原因有很多:
IBM的研究人员大多是学术出身,他们最感兴趣的是理论,而非推向市场的产品,从学术上看,研究成果应公开,发表论文和演讲能使他们成名,为什么不呢?
还有一个很主要的原因就是IBM当时有一个销售得还不错的层次数据库产品IMS。
直到1985年IBM才发布了关系数据库DB2,Ellision那时已经成了千万富翁。
Ellison曾将IBM选择Microsoft的MS-DOS作为IBM-PC机的操作系统比为:
“世界企业经营历史上最严重的错误,价值超过了上千亿美元。
”IBM发表R系统论文,而且没有很快推出关系数据库产品的错误可能仅仅次之。
Oracle的市值在1996年就达到了280亿美元。
面向对象数据库
随着信息技术和市场的发展,人们发现关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:
它能很好地处理所谓的“表格型数据”,却对技术界出现的越来越多的复杂类型的数据无能为力。
九十年代以后,技术界一直在研究和寻求新型数据库系统。
但在什么是新型数据库系统的发展方向的问题上,产业界一度是相当困惑的。
受当时技术风潮的影响,在相当一段时间内,人们把大量的精力花在研究“面向对象的数据库系统(objectorienteddatabase)”或简称“OO数据库系统”。
值得一提的是,美国Stonebraker教授提出的面向对象的关系型数据库理论曾一度受到产业界的青睐。
而Stonebraker本人也在当时被Informix花大价钱聘为技术总负责人。
然而,数年的发展表明,面向对象的关系型数据库系统产品的市场发展的情况并不理想。
理论上的完美性并没有带来市场的热烈反应。
其不成功的主要原因在于,这种数据库产品的主要设计思想是企图用新型数据库系统来取代现有的数据库系统。
这对许多已经运用数据库系统多年并积累了大量工作数据的客户,尤其是大客户来说,是无法承受新旧数据间的转换而带来的巨大工作量及巨额开支的。
另外,面向对象的关系型数据库系统使查询语言变得极其复杂,从而使得无论是数据库的开发商家还是应用客户都视其复杂的应用技术为畏途。
数据管理的变革
二十世纪六十年代后期出现了一种新型数据库软件:
决定支持系统(DSS),其目的是让管理者在决策过程中更有效地利用数据信息。
于是在1970年,第一个联机分析处理工具——Express诞生了。
其他决策支持系统紧随其后,许多是由公司的IT部门开发出来的。
1985年,第一个商务智能系统(businessintelligence)由Metaphor计算机系统有限公司为Procter&Gamble公司开发出来,主要是用来连接销售信息和零售的扫描仪数据。
同年,Pilot软件公司开始出售第一个商用客户/服务器执行信息系统——CommandCenter。
同样在这年,加州大学伯克利分校Ingres项目演变成Postgres,其目标是开发出一个面向对象的数据库。
此后一年,Graphael公司开发了第一个商用的对象数据库系统—Gbase。
1988年,IBM公司的研究者BarryDevlin和PaulMurphy发明了一个新的术语—信息仓库,之后,IT的厂商开始构建实验性的数据仓库。
1991年,W.H."Bill"Inmon出版了一本“如何构建数据仓库”的书,使得数据仓库真正开始应用。
1991:
W.H.“Bill”Inmon发表了”构建数据仓库”
二十世纪九十年代,随着基于PC的客户/服务器计算模式和企业软件包的广泛采用,数据管理的变革基本完成。
数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。
Internet的异军突起以及XML语言的出现,给数据库系统的发展开辟了一片新的天地。
数据库的发展阶段
数据库发展阶段大致划分为如下几个阶段:
人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段。
1.人工管理阶段
50年代中期之前,计算机的软硬件均不完善。
硬件存储设备只有磁带、卡片和纸带,软件方面还没有操作系统,当时的计算机主要用于科学计算。
这个阶段由于还没有软件系统对数据进行管理,程序员在程序中不仅要规定数据的逻辑结构,还要设计其物理结构,包括存储结构、存取方法、输入输出方式等。
当数据的物理组织或存储设备改变时,用户程序就必须重新编制。
由于数据的组织面向应用,不同的计算程序之间不能共享数据,使得不同的应用之间存在大量的重复数据,很难维护应用程序之间数据的一致性。
这一阶段的主要特征可归纳为如下几点:
*计算机中没有支持数据管理的软件。
*数据组织面向应用,数据不能共享,数据重复。
*在程序中要规定数据的逻辑结构和物理结构,数据与程序不独立。
*数据处理方式——批处理。
2.文件系统阶段
这一阶段的主要标志是计算机中有了专门管理数据库的软件——操作系统(文件管理)。
上世纪50年代中期到60年代中期,由于计算机大容量存储设备(如硬盘)的出现,推动了软件技术的发展,而操作系统的出现标志着数据管理步入一个新的阶段。
在文件系统阶段,数据以文件为单位存储在外存,且由操作系统统一管理。
操作系统为用户使用文件提供了友好界面。
文件的逻辑结构与物理结构脱钩,程序和数据分离,使数据与程序有了一定的独立性。
用户的程序与数据可分别存放在外存储器上,各个应用程序可以共享一组数据,实现了以文件为单位的数据共享。
但由于数据的组织仍然是面向程序,所以存在大量的数据冗余。
而且数据的逻辑结构不能方便地修改和扩充,数据逻辑结构的每一点微小改变都会影响到应用程序。
由于文件之间互相独立,因而它们不能反映现实世界中事物之间的联系,操作系统不负责维护文件之间的联系信息。
如果文件之间有内容上的联系,那也只能由应用程序去处理。
3数据库系统阶段
60年代后,随着计算机在数据管理领域的普遍应用,人们对数据管理技术提出了更高的要求:
希望面向企业或部门,以数据为中心组织数据,减少数据的冗余,提供更高的数据共享能力,同时要求程序和数据具有较高的独立性,当数据的逻辑结构改变时,不涉及数据的物理结构,也不影响应用程序,以降低应用程序研制与维护的费用。
数据库技术正是在这样一个应用需求的基础上发展起来的。
数据库技术有如下特点:
*面向企业或部门,以数据为中心组织数据,形成综合性的数据库,为各应用共享。
*采用一定的数据模型。
数据模型不仅要描述数据本身的特点,而且要描述数据之间的联系。
*数据冗余小,易修改、易扩充。
不同的应用程序根据处理要求,从数据库中获取需要的数据,这样就减少了数据的重复存储,也便于增加新的数据结构,便于维护数据的一致性。
*程序和数据有较高的独立性。
*具有良好的用户接口,用户可方便地开发和使用数据库。
*对数据进行统一管理和控制,提供了数据的安全性、完整性、以及并发控制。
从文件系统发展到数据库系统,这在信息领域中具有里程碑的意义。
在文件系统阶段,人们在信息处理中关注的中心问题是系统功能的设计,因此程序设计占主导地位;而在数据库方式下,数据开始占据了中心位置,数据的结构设计成为信息系统首先关心的问题,而应用程序则以既定的书结构为基础进行设计。
数据库变革
1951:
Univac系统使用磁带和穿孔卡片作为数据存储。
1956:
IBM公司在其Model305RAMAC中第一次引入了磁盘驱动器
1961:
通用电气(GE)公司的CharlesBachman开发了第一个数据库管理系统——IDS 1969:
E.F.Codd发明了关系数据库。
1973:
由JohnJ.Cullinane领导Cullinane公司开发了IDMS——一个针对IBM主机的基于网络模型的数据库。
1976:
Honeywell公司推出了MulticsRelationalDataStore——第一个商用关系数据库产品。
1979:
Oracle公司引入了第一个商用SQL关系数据库管理系统。
1983:
IBM推出了DB2数据库产品。
1985:
为Procter&Gamble系统设计的第一个商务智能系统产生。
1991:
W.H.“Bill”Inmon发表了”构建数据仓库”。
。
数据库系统为我们提供了一种把我们的工作和生活紧密相关的信息集合在一起的方法,它还提供在某个集中的地方存储和维护这些信息的方法。
数据库系统主要由三大部分组成:
数据库管理系统(DBMS是专门负责组织和管理资料信息的程序),数据库应用程序(它使我们能够获取,显示和更新由DBMS存储的资料),数据库(按一定结构组织在一起的相关资料的集合)。
数据库基本结构
数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。
(1)物理数据层。
它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。
这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。
(2)概念数据层。
它是数据库的中间一层,是数据库的整体逻辑表示。
指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。
它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。
(3)逻辑数据层。
它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。
数据库不同层次之间的联系是通过映射进行转换的。
主要特点
(1)实现数据共享。
数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
(2)减少数据的冗余度。
同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。
减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
(3)数据的独立性。
数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。
(4)数据实现集中控制。
文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。
利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
(5)数据一致性和可维护性,以确保数据的安全性和可靠性。
主要包括:
①安全性控制:
以防止数据丢失、错误更新和越权使用;②完整性控制:
保证数据的正确性、有效性和相容性;③并发控制:
使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;④故障的发现和恢复:
由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏
(6)故障恢复。
由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。
数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。
比如对系统的误操作造成的数据错误等。
数据库的种类
数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。
而不同的数据库是按不同的数据结构来联系和组织的。
1.数据结构模型
(1)数据结构 所谓数据结构是指数据的组织形式或数据之间的联系。
如果用D表示数据,用R表示数据对象之间存在的关系集合,则将DS=(D,R)称为数据结构。
例如,设有一个电话号码簿,它记录了n个人的名字和相应的电话号码。
为了方便地查找某人的电话号码