1. 数据库的发展简史
使用计算机后,随着数据处理量的增长,产生了数据管理技术。
数据管理技术的发展与计算机硬件(主要是外部存储器)系统软件及计算机应用的范围有着密切的联系。
数据管理技术的发展经历了以下四个阶段:人工管理阶段、文件系统阶段、数据库阶段和高级数据库技术阶段。
数据管理的诞生
数据库的历史可以追溯到五十年前,那时的数据管理非常简单。
通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。
而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。
然而,1950 年雷明顿兰德公司(Remington Rand Inc)的一种叫做Univac I 的计算机推出了一种一秒钟可以输入数百条记录的磁带驱动器,从而引发了数据管理的革命。
1956 年IBM生产出第一个磁盘驱动器—— the Model 305 RAMAC。
此驱动器有50 个盘片,每个盘片直径是2 英尺,可以储存5MB的数据。
使用磁盘最大的好处是可以随机存取数据,而穿孔卡片和磁带只能顺序存取数据。
1951: Univac系统使用磁带和穿孔卡片作为数据存储。
数据库系统的萌芽出现于二十世纪60 年代。
当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。
传统的文件系统已经不能满足人们的需要,能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。
数据模型是数据库系统的核心和基础,各种DBMS软件都是基于某种数据模型的。
所以通常也按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。
最早出现的网状DBMS,是美国通用电气公司Bachman等人在1961年开发的IDS(Integrated Data Store)。
1964年通用电气公司(General ElectricCo.)的Charles Bachman 成功地开发出世界上第一个网状DBMS也即第一个数据库管理系统——集成数据存储(Integrated Data Store IDS),奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。
IDS 具有数据模式和日志的特征,但它只能在GE主机上运行,并且数据库只有一个文件,数据库所有的表必须通过手工编码生成。
之后,通用电气公司一个客户——BF Goodrich Chemical 公司最终不得不重写了整个系统,并将重写后的系统命名为集成数据管理系统(IDMS)。
网状数据库模型对于层次和非层次结构的事物都能比较自然的模拟,在关系数据库出现之前网状DBMS要比层次DBMS用得普遍。
在数据库发展史上,网状数据库占有重要地位。
层次型DBMS是紧随网络型数据库而出现的,最着名最典型的层次数据库系统是IBM 公司在1968 年开发的IMS(Information Management System),一种适合其主机的层次数据库。
这是IBM公司研制的最早的大型数据库系统程序产品。
从60年代末产生起,如今已经发展到IMSV6,提供群集、N路数据共享、消息队列共享等先进特性的支持。
这个具有30年历史的数据库产品在如今的WWW应用连接、商务智能应用中扮演着新的角色。
1973年Cullinane公司(也就是后来的Culli软件公司),开始出售Goodrich公司的IDMS改进版本,并且逐渐成为当时世界上最大的软件公司。
网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。
用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。
而后来出现的关系数据库较好地解决了这些问题。
1970年,IBM的研究员E.F.Codd博士在刊物《munication of the ACM》上发表了一篇名为“A Relational Model of Data for Large Shared Data Banks”的论文,提出了关系模型的概念,奠定了关系模型的理论基础。
尽管之前在1968年Childs已经提出了面向 *** 的模型,然而这篇论文被普遍认为是数据库系统历史上具有划时代意义的里程碑。
Codd的心愿是为数据库建立一个优美的数据模型。
后来Codd又陆续发表多篇文章,论述了范式理论和衡量关系系统的12条标准,用数学理论奠定了关系数据库的基础。
关系模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。
但是当时也有人认为关系模型是理想化的数据模型,用来实现DBMS是不现实的,尤其担心关系数据库的性能难以接受,更有人视其为当时正在进行中的网状数据库规范化工作的严重威胁。
为了促进对问题的理解,1974年ACM牵头组织了一次研讨会,会上开展了一场分别以Codd和Bachman为首的支持和反对关系数据库两派之间的辩论。
这次着名的辩论推动了关系数据库的发展,使其最终成为现代数据库产品的主流。
1969年Edgar F.“Ted” Codd发明了关系数据库。
1970年关系模型建立之后,IBM公司在San Jose实验室增加了更多的研究人员研究这个项目,这个项目就是着名的System R。
其目标是论证一个全功能关系DBMS的可行性。
该项目结束于1979年,完成了第一个实现sql的 DBMS。
然而IBM对IMS的承诺阻止了System R的投产,一直到1980年System R才作为一个产品正式推向市场。
IBM产品化步伐缓慢的三个原因:IBM重视信誉,重视质量,尽量减少故障;IBM是个大公司,官僚体系庞大,IBM内部已经有层次数据库产品,相关人员不积极,甚至反对。
然而同时,1973年加州大学伯克利分校的Michael Stonebraker和Eugene Wong利用System R已发布的信息开始开发自己的关系数据库系统Ingres。
他们开发的Ingres项目最后由Oracle公司、Ingres公司以及硅谷的其他厂商所商品化。
后来,System R和Ingres系统双双获得ACM的1988年“软件系统奖”。
1976年霍尼韦尔公司(Honeywell)开发了第一个商用关系数据库系统——Multics Relational Data Store。
关系型数据库系统以关系代数为坚实的理论基础,经过几十年的发展和实际应用,技术越来越成熟和完善。
其代表产品有Oracle、IBM公司的 DB2、微软公司的MS SQL Server以及Informix、ADABAS D等等。
1974年IBM的Ray Boyce和Don Chamberlin将Codd关系数据库的12条准则的数学定义以简单的关键字语法表现出来,里程碑式地提出了SQL(Structured Query Language)语言。
SQL语言的功能包括查询、操纵、定义和控制,是一个综合的、通用的关系数据库语言,同时又是一种高度非过程化的语言,只要求用户指出做什么而不需要指出怎么做。
SQL集成实现了数据库生命周期中的全部操作。
SQL提供了与关系数据库进行交互的方法,它可以与标准的编程语言一起工作。
自产生之日起,SQL语言便成了检验关系数据库的试金石,而SQL语言标准的每一次变更都指导着关系数据库产品的发展方向。
然而,直到二十世纪七十年代中期,关系理论才通过SQL在商业数据库Oracle和DB2中使用。
1986年,ANSI把SQL作为关系数据库语言的美国标准,同年公布了标准SQL文本。
SQL标准有3个版本。
基本SQL定义是ANSⅨ3135-89,“Database Language - SQL with Integrity Enhancement”[ANS89],一般叫做SQL-89。
SQL-89定义了模式定义、数据操作和事务处理。
SQL- 89和随后的ANSⅨ3168-1989,“Database Language-Embedded SQL”构成了第一代SQL标准。
ANSⅨ3135-1992[ANS92]描述了一种增强功能的SQL,叫做SQL-92标准。
SQL-92包括模式操作,动态创建和SQL语句动态执行、网络环境支持等增强特性。
在完成SQL-92标准后,ANSI和ISO即开始合作开发SQL3标准。
SQL3的主要特点在于抽象数据类型的支持,为新一代对象关系数据库提供了标准。
1976年IBM E.F.Codd发表了一篇里程碑的论文“R系统:数据库关系理论”,介绍了关系数据库理论和查询语言SQL。
Oracle的创始人Ellison非常仔细地阅读了这篇文章,被其内容震惊,这是第一次有人用全面一致的方案管理数据信息。
作者E.F.Codd 1966年就发表了关系数据库理论,并在IBM研究机构开发原型,这个项目就是R系统,存取数据表的语言就是SQL。
Ellison看完后,敏锐意识到在这个研究基础上可以开发商用软件系统。
而当时大多数人认为关系数据库不会有商业价值。
Ellison认为这是他们的机会:他们决定开发通用商用数据库系统Oracle,这个名字来源于他们曾给中央情报局做过的项目名。
几个月后,他们就开发了Oracle 1.0。
但这只不过是个玩具,除了完成简单关系查询不能做任何事情,他们花相当长的时间才使Oracle变得可用,维持公司运转主要靠承接一些数据库管理项目和做顾问咨询工作。
而IBM却没有计划开发,为什么蓝色巨人放弃了这个价值上百亿的产品,原因有很多:IBM的研究人员大多是学术出身,他们最感兴趣的是理论,而非推向市场的产品,从学术上看,研究成果应公开发表论文和演讲能使他们成名,为什么不呢?还有一个很主要的原因就是IBM当时有一个销售得还不错的层次数据库产品IMS。
直到1985年IBM才发布了关系数据库DB2 ,Ellision那时已经成了千万富翁。
Ellison曾将IBM 选择Microsoft 的MS-DOS作为IBM-PC机的操作系统比为:“世界企业经营历史上最严重的错误,价值超过了上千亿美元。”IBM发表R系统论文,而且没有很快推出关系数据库产品的错误可能仅仅次之。
Oracle的市值在1996年就达到了280亿美元。
随着信息技术和市场的发展,人们发现关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理所谓的“表格型数据”,却对技术界出现的越来越多的复杂类型的数据无能为力。
九十年代以后,技术界一直在研究和寻求新型数据库系统。
但在什么是新型数据库系统的发展方向的问题上,产业界一度是相当困惑的。
受当时技术风潮的影响,在相当一段时间内,人们把大量的精力花在研究“面向对象的数据库系统(object oriented database)”或简称“OO数据库系统”。
值得一提的是,美国Stonebraker教授提出的面向对象的关系型数据库理论曾一度受到产业界的青睐。
而Stonebraker本人也在当时被Informix花大价钱聘为技术总负责人。
然而,数年的发展表明,面向对象的关系型数据库系统产品的市场发展的情况并不理想。
理论上的完美性并没有带来市场的热烈反应。
其不成功的主要原因在于,这种数据库产品的主要设计思想是企图用新型数据库系统来取代现有的数据库系统。
这对许多已经运用数据库系统多年并积累了大量工作数据的客户,尤其是大客户来说,是无法承受新旧数据间的转换而带来的巨大工作量及巨额开支的。
另外,面向对象的关系型数据库系统使查询语言变得极其复杂,从而使得无论是数据库的开发商家还是应用客户都视其复杂的应用技术为畏途。
二十世纪六十年代后期出现了一种新型数据库软件:决策支持系统(DSS),其目的是让管理者在决策过程中更有效地利用数据信息。
于是在1970年,第一个联机分析处理工具——Express诞生了。
其他决策支持系统紧随其后,许多是由公司的IT部门开发出来的。
1985年,第一个商务智能系统(business intelligence)由Metaphor计算机系统有限公司为Procter & Gamble公司开发出来,主要是用来连接销售信息和零售的扫描仪数据。
同年, Pilot软件公司开始出售第一个商用客户/服务器执行信息系统——mand Center。
同样在这年,加州大学伯克利分校Ingres项目演变成Postgres,其目标是开发出一个面向对象的数据库。
此后一年, Graphael公司开发了第一个商用的对象数据库系统—Gbase。
1988年,IBM公司的研究者Barry Devlin和Paul Murphy发明了一个新的术语—信息仓库,之后,IT的厂商开始构建实验性的数据仓库。
1991年,W.H. Bill Inmon出版了一本“如何构建数据仓库”的书,使得数据仓库真正开始应用。
1991: W.H.“Bill” Inmon发表了”构建数据仓库”
二十世纪九十年代,随着基于PC的客户/服务器计算模式和企业软件包的广泛采用,数据管理的变革基本完成。
数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。
Inter的异军突起以及XML语言的出现,给数据库系统的发展开辟了一片新的天地。
2. 数据库系统中,最早出现的数据库模型是
最早出现的是网状
dbms,是美国通用电气公司bachman等人在1961年开发成功的ids(integrated
data
store)。1961年通用电气公司的charles
bachman
成功地开发出世界上第一个网状dbms也是第一个数据库管理系统--集成数据存储(integrated
data
store
ids),奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。层次型dbms是紧随网状型数据库而出现的。最着名最典型的层次数据库系统是ibm
公司在1968
年开发的ims(information
management
system),一种适合其主机的层次数据库。这是ibm公司研制的最早的大型数据库系统程序产品。1976年霍尼韦尔公司(honeywell)开发了第一个商用关系数据库系统—multics
relational
data
store。关系型数据库系统以关系代数为坚实的理论基础,经过几十年的发展和实际应用,技术越来越成熟和完善。其代表产品有oracle、ibm公司的db2、微软公司的ms
sql
server以及informix等等。
3. 数据库发展历史是什么
数据库对于普通人来讲
就可以简单理解为有固定格式的数据集合,
专门为解决某一类数据保存和计算问题而存在的,
就像单位用的各种各样的报表和单据,
只不过软件会帮你保存管理这些单据和报表在计算机上,
帮你计算求和等等操作 生成你想要的各种数据报告。
利用数据库软件和计算机的高速运算特性,
可以大大提高工作效率和正确性。
减少工作时间成本和人力成本。
没有他们也可以,但是你不得不用手工的办法处理数据,
不管数据量多少都一样。
4. 数据库技术的应用与发展
数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。
随着计算机技术与网络通信技术的发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。本章主要介绍数据库技术的应用与发展、关系模型的基本概念、关系数据库的设计理论及数据库设计方法等内容,是学习和掌握现代数据库技术的基础。
1.1 数据库技术的发展与应用
从20世纪60年代末期开始到现在,数据库技术已经发展了30多年。在这30多年的历程中,人们在数据库技术的理论研究和系统开发上都取得了辉煌的成就,而且已经开始对新一代数据库系统的深入研究。数据库系统已经成为现代计算机系统的重要组成部分。
1.1.1 数据库技术与信息技术
信息技术(Information Technology,IT)是当今使用频率最高的名词之一,它随着计算机技术在工业、农业以及日常生活中的广泛应用,已经被越来越多的个人和企业作为自己赶超世界潮流的标志之一。而数据库技术则是信息技术中一个重要的支撑。没有数据库技术,人们在浩瀚的信息世界中将显得手足无措。
数据库技术是计算机科学技术的一个重要分支。从20世纪50年代中期开始,计算机应用从科学研究部门扩展到企业管理及政府行政部门,人们对数据处理的要求也越来越高。1968年,世界上诞生了第一个商品化的信息管理系统IMS(Information Management System),从此,数据库技术得到了迅猛发展。在互联网日益被人们接受的今天,Internet又使数据库技术、知识、技能的重要性得到了充分的放大。现在数据库已经成为信息管理、办公自动化、计算机辅助设计等应用的主要软件工具之一,帮助人们处理各种各样的信息数据。
1.1.2 数据库技术的应用及特点
数据库最初是在大公司或大机构中用作大规模事务处理的基础。后来随着个人计算机的普及,数据库技术被移植到PC机(Personal Computer,个人计算机)上,供单用户个人数据库应用。接着,由于PC机在工作组内连成网,数据库技术就移植到工作组级。现在,数据库正在Internet和内联网中广泛使用。
20世纪60年代中期,数据库技术是用来解决文件处理系统问题的。当时的数据库处理技术还很脆弱,常常发生应用不能提交的情况。20世纪70年代关系模型的诞生为数据库专家提供了构造和处理数据库的标准方法,推动了关系数据库的发展和应用。1979年,Ashton-Tate公司引入了微机产品dBase Ⅱ,并称之为关系数据库管理系统,从此数据库技术移植到了个人计算机上。20世纪80年代中期到后期,终端用户开始使用局域网技术将独立的计算机连接成网络,终端之间共享数据库,形成了一种新型的多用户数据处理,称为客户机/服务器数据库结构。现在,数据库技术正在被用来同Internet技术相结合,以便在机构内联网、部门局域网甚至WWW上发布数据库数据。
1.1.3 数据库技术发展历史
数据模型是数据库技术的核心和基础,因此,对数据库系统发展阶段的划分应该以数据模型的发展演变作为主要依据和标志。按照数据模型的发展演变过程,数据库技术从开始到现在短短的30年中,主要经历了三个发展阶段:第一代是网状和层次数据库系统,第二代是关系数据库系统,第三代是以面向对象数据模型为主要特征的数据库系统。数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等相互渗透、有机结合,成为当代数据库技术发展的重要特征。
1. 第一代数据库系统
第一代数据库系统是20世纪70年代研制的层次和网状数据库系统。层次数据库系统的典型代表是1969年IBM公司研制出的层次模型的数据库管理系统IMS。20世纪60年代末70年代初,美国数据库系统语言协会CODASYL(Conference on Data System Language)下属的数据库任务组DBTG(Data Base Task Group)提出了若干报告,被称为DBTG报告。DBTG报告确定并建立了网状数据库系统的许多概念、方法和技术,是网状数据库的典型代表。在DBTG思想和方法的指引下数据库系统的实现技术不断成熟,开发了许多商品化的数据库系统,它们都是基于层次模型和网状模型的。
可以说,层次数据库是数据库系统的先驱,而网状数据库则是数据库概念、方法、技术的奠基者。
2. 第二代数据库系统
第二代数据库系统是关系数据库系统。1970年IBM公司的San Jose研究试验室的研究员Edgar F. Codd发表了题为《大型共享数据库数据的关系模型》的论文,提出了关系数据模型,开创了关系数据库方法和关系数据库理论,为关系数据库技术奠定了理论基础。Edgar F. Codd于1981年被授予ACM图灵奖,以表彰他在关系数据库研究方面的杰出贡献。
20世纪70年代是关系数据库理论研究和原型开发的时代,其中以IBM公司的San Jose研究试验室开发的System R和Berkeley大学研制的Ingres为典型代表。大量的理论成果和实践经验终于使关系数据库从实验室走向了社会,因此,人们把20世纪70年代称为数据库时代。20世纪80年代几乎所有新开发的系统均是关系型的,其中涌现出了许多性能优良的商品化关系数据库管理系统,如DB2、Ingres、Oracle、Informix、Sybase等。这些商用数据库系统的应用使数据库技术日益广泛地应用到企业管理、情报检索、辅助决策等方面,成为实现和优化信息系统的基本技术。
3. 第三代数据库系统
从20世纪80年代以来,数据库技术在商业上的巨大成功刺激了其他领域对数据库技术需求的迅速增长。这些新的领域为数据库应用开辟了新的天地,并在应用中提出了一些新的数据管理的需求,推动了数据库技术的研究与发展。
1990年高级DBMS功能委员会发表了《第三代数据库系统宣言》,提出了第三代数据库管理系统应具有的三个基本特征:
l 应支持数据管理、对象管理和知识管理。
l 必须保持或继承第二代数据库系统的技术。
l 必须对其他系统开放。
面向对象数据模型是第三代数据库系统的主要特征之一;数据库技术与多学科技术的有机结合也是第三代数据库技术的一个重要特征。分布式数据库、并行数据库、工程数据库、演绎数据库、知识库、多媒体库、模糊数据库等都是这方面的实例。
1.1.4 数据库系统访问技术
目前访问数据库服务器的主流标准接口主要有ODBC、OLE DB和ADO。下面分别对这三种接口进行概要介绍。
1. 开放数据库连接(ODBC)
开放数据库连接(Open Database Connectivity,ODBC)是由Microsoft公司定义的一种数据库访问标准。使用ODBC应用程序不仅可以访问存储在本地计算机的桌面型数据库中的数据,而且可以访问异构平台上的数据库,例如可以访问SQL Server、Oracle、Informix或DB2构建的数据库等。
ODBC是一种重要的访问数据库的应用程序编程接口(Application Programming Interface,API),基于标准的SQL语句,它的核心就是SQL语句,因此,为了通过ODBC访问数据库服务器,数据库服务器必须支持SQL语句。
ODBC通过一组标准的函数(ODBC API)调用来实现数据库的访问,但是程序员不必理解这些ODBC,API就可以轻松开发基于ODBC的客户机/服务器应用程序。这是因为在很多流行的程序开发语言中,如Visual Basic、PowerBuilder、Visual C++等,都提供了封装ODBC各种标准函数的代码层,开发人员可以直接使用这些标准函数。
ODBC获得了巨大成功并大大简化了一些数据库开发工作。但是它也存在严重的不足,因此Microsoft公司又开发了OLE DB。
2. OLE DB
OLE DB是Microsoft公司提供的关于数据库系统级程序的接口(System-Level Programming Interface),是Microsoft公司数据库访问的基础。OLE DB实际上是Microsoft公司OLE对象标准的一个实现。OLE DB对象本身是COM(组件对象模型)对象并支持这种对象的所有必需的接口。
一般说来,OLE DB提供了两种访问数据库的方法:一种是通过ODBC驱动器访问支持SQL语言的数据库服务器;另一种是直接通过原始的OLE DB提供程序。因为ODBC只适用于支持SQL语言的数据库,因此ODBC的使用范围过于狭窄,目前Microsoft公司正在逐步用OLE DB来取代ODBC。
因为OLE DB是一个面向对象的接口,特别适合于面向对象语言。然而,许多数据库应用开发者使用VBScript和JScript等脚本语言开发程序,所以Microsoft公司在OLE DB对象的基础上定义了ADO。
3. 动态数据对象(ADO)
动态数据对象(Active Data Objects,ADO)是一种简单的对象模型,可以被开发者用来处理任何OLE DB数据,可以由脚本语言或高级语言调用。ADO对数据库提供了应用程序水平级的接口(Application-Level Programming Interface),几乎使用任何语言的程序员都能够通过使用ADO来使用OLE DB的功能。Microsoft公司声称,ADO将替换其他的数据访问方式,所以ADO对于任何使用Microsoft公司产品的数据库应用是至关重要的。
1.1.5 网络数据库系统编程技术
在当今网络盛行的年代,数据库与Web技术的结合正在深刻改变着网络应用。有了数据库的支持,扩展网页功能、设计交互式页面、构造功能强大的后台管理系统、更新网站和维护网站都将变得轻而易举。随着网络应用的深入,Web数据库技术将日益显示出其重要地位。在这里简单介绍一下Web数据库开发的相关技术。
1. 通用网关接口(CGI)编程
通用网关接口(Common Gateway Interface,CGI)是一种通信标准,它的任务是接受客户端的请求,经过辨认和处理,生成HTML文档并重新传回到客户端。这种交流过程的编程就叫做CGI编程。CGI可以运行在多种平台上,具有强大的功能,可以使用多种语言编程,如Visual Basic、Visual C++、Tcl、Perl、AppletScript等,比较常见的是用Perl语言编写的CGI程序。但是CGI也有其致命的弱点,即速度慢和安全性差等。
2. 动态服务器页面(ASP)
动态服务器页面(Active Server Pages,ASP)是Microsoft公司推出的一种用以取代CGI的技术,是一种真正简便易学、功能强大的服务器编程技术。ASP实际上是Microsoft公司开发的一套服务器端脚本运行环境,通过ASP可以建立动态的、交互的、高效的Web服务器应用程序。用ASP编写的程序都在服务器端执行,程序执行完毕后,再将执行的结果返回给客户端浏览器,这样不仅减轻了客户端浏览器的负担,大大提高了交互速度,而且避免了ASP程序源代码的外泄,提高了程序的安全性。
3. Java 服务器页面(JSP)
Java服务器页面(Java Server Pages,JSP)是Sun公司发布的Web应用程序开发技术,一经推出,就受到了人们的广泛关注。JSP技术为创建高度动态的Web应用程序提供了一个独特的开发环境,它能够适用于市场上大多数的服务器产品。
JSP使用Java语言编写服务器端程序,当客户端向服务器发出请求时,JSP源程序被编译成Servlet并由Java虚拟机执行。这种编译操作仅在对JSP页面的第一次请求时发生。因此,JSP程序能够提供更快的交互速度,其安全性和跨平台性也很优秀。
5. 数据库开发工具的发展大致经历了哪四个主要阶段
一、数据库技术的历史和发展
数据库技术是本世纪60年代开始兴起的一门信息管理自动化的新兴学科,是计算机科学中的
一个重要分支。随着计算机应用的不断发展,在计算机应用领域中,数据处理越来越占主导
地位,数据库技术的应用也越来越广泛。
数据库是数据管理的产物。数据管理是数据库的核心任务,内容包括对数据的分类、组织、
编码、储存、检索和维护。随着计算机硬件和软件的发展,数据库技术也不断地发展。从数据
管理的角度看,数据库技术到目前共经历了人工管理阶段、文件系统阶段和数据库系统阶段。 A.人工管理阶段 人工管理阶段是指计算机诞生的初期(即20世纪50年代后期之前),这个时期的计算机主要用
于科学计算。从硬件看,没有磁盘等直接存取的存储设备;从软件看,没有操作系统和管理
数据的软件,数据处理方式是批处理。 这个时期数据管理的特点是:
1. 数据不保存
该时期的计算机主要应用于科学计算,一般不需要将数据长期保存,只是在计算某一课题
时将数据输入,用完后不保存原始数据,也不保存计算结果。
2. 没有对数据进行管理的软件系统
程序员不仅要规定数据的逻辑结构,而且还要在程序中设计物理结构,包括存储结构、存
取方法、输入输出方式等。因此程序中存取数据的子程序随着存储的改变而改变,数据与
程序不具有一致性。
3. 没有文件的概念
数据的组织方式必须由程序员自行设计。
4. 一组数据对应于一个程序,数据是面向应用的
即使两个程序用到相同的数据,也必须各自定义、各自组织,数据无法共享、无法相互利
用和互相参照,从而导致程序和程序之间有大量重复的数据。 B.文件系统阶段 文件系统阶段是指计算机不仅用于科学计算,而且还大量用于管理数据的阶段(从50年代后
期到60年代中期)。在硬件方面,外存储器有了磁盘、磁鼓等直接存取的存储设备。在软件
方面,操作系统中已经有了专门用于管理数据的软件,称为文件系统。 这个时期数据管理的特点是: 1. 数据需要长期保存在外存上供反复使用 由于计算机大量用于数据处理,经常对文件进行查询、修改、插入和删除等操作,所以数
据需要长期保留,以便于反复操作。 2. 程序之间有了一定的独立性 操作系统提供了文件管理功能和访问文件的存取方法,程序和数据之间有了数据存取的接
口,程序可以通过文件名和数据打交道,不必再寻找数据的物理存放位置,至此,数据有
了物理结构和逻辑结构的区别,但此时程序和数据之间的独立性尚还不充分。 3. 文件的形式已经多样化 由于已经有了直接存取的存储设备,文件也就不再局限于顺序文件,还有了索引文件、链
表文件等,因而,对文件的访问可以是顺序访问,也可以是直接访问。 4. 数据的存取基本上以记录为单位 C.数据库系统阶段 数据库系统阶段是从60年代后期开始的。在这一阶段中,数据库中的数据不再是面向某个应
用或某个程序,而是面向整个企业(组织)或整个应用的。 数据库系统阶段的特点是: 1. 采用复杂的结构化的数据模型 数据库系统不仅要描述数据本身,还要描述数据之间的联系。这种联系是通过存取路径来
实现的。 2. 较高的数据独立性 数据和程序彼此独立,数据存储结构的变化尽量不影响用户程序的使用。 3. 最低的冗余度 数据库系统中的重复数据被减少到最低程度,这样,在有限的存储空间内可以存放更多的
数据并减少存取时间。 4. 数据控制功能 数据库系统具有数据的安全性,以防止数据的丢失和被非法使用;具有数据的完整性,以
保护数据的正确、有效和相容;具有数据的并发控制,避免并发程序之间的相互干扰;具
有数据的恢复功能,在数据库被破坏或数据不可靠时,系统有能力把数据库恢复到最近某
个时刻的正确状态。二、三代数据库系统的发展 数据模型是数据库系统的核心。按照数据模型发展的主线,数据库技术的形成过程和发展可从
以下三个方面反映: A. 第一代数据库系统 层次和网状数据库管理系统 层次和网状数据库的代表产品是IBM公司在1969年研制出的层次模型数据库管理系统。层次
数据库是数据库系统的先驱,而网状数据库则是数据库概念、方法、技术的奠基。 B. 第二代数据库系统 关系数据库管理系统(RDBMS) 1970年,IBM公司的研究员E.F.Codd在题为《大型共享数据库数据的关系模型》的论文中提
出了数据库的关系模型,为关系数据库技术奠定了理论基础。到了80年代,几乎所有新开发
的数据库系统都是关系型的。 真正使得关系数据库技术实用化的关键人物是James Gray。Gray在解决如何保障数据的完整
性、安全性、并发性以及数据库的故障恢复能力等重大技术问题方面发挥了关键作用。 关系数据库系统的出现,促进了数据库的小型化和普及化,使得在微型机上配置数据库系统成
为可能。 C. 新一代数据库技术的研究和发展 目前已从多方面发展了现行的数据库系统技术。我们可以从数据模型、新技术内容、应用领
域三个方面概括新一代数据库系统的发展。 (1) 面向对象的方法和技术对数据库发展的影响最为深远 80年代,面向对象的方法和技术的出现,对计算机各个领域,包括程序设计语言、软件工程、
信息系统设计以及计算机硬件设备等都产生了深远的影响,也给面临新挑战的数据库技术带
来了新的机遇和希望。数据库研究人员借鉴和吸收了面向对象的方法和技术,提出了面向对
象的数据库模型(简称对象模型)。当前有许多研究是建立在数据库已有的成果和技术上的,
针对不同的应用,对传统的DBMS,主要是RDBMS进行不同层次上的扩充,例如建立对象关
系(OR)模型和建立对象关系数据库(ORDB)。 (2) 数据库技术与多学科技术的有机结合 数据库技术与多学科技术的有机结合是当前数据库发展的重要特征。计算机领域中其他新兴
技术的发展对数据库技术产生了重大影响。传统的数据库技术和其他计算机技术的结合、互
相渗透,使数据库中新的技术内容层出不穷。数据库的许多概念、技术内容、应用领域,甚
至某些原理都有了重大的发展和变化。建立和实现了一系列新型的数据库,如分布式数据库、
并行数据库、演绎数据库、知识库、多媒体库、移动数据库等,它们共同构成了数据库大家
族。 (3) 面向专门应用领域的数据库技术的研究 为了适应数据库应用多元化的要求,在传统数据库基础上,结合各个专门应用领域的特点,
研究适合该应用领域的数据库技术,如工程数据库、统计数据库、科学数据库、空间数据库、
地理数据库、Web数据库等,这是当前数据库技术发展的又一重要特征。 同时,数据库系统结构也由主机/终端的集中式结构发展到网络环境的分布式结构,随后又发
展成两层、三层或多层客户/服务器结构以及Internet环境下的浏览器/服务器和移动环境下的
动态结构。多种数据库结构满足了不同应用的需求,适应了不同的应用环境。
6. 最早的数据库是以什么格式进行保存的
数据文件格式。最早的数据库是以数据文件格式进行保存的,保证文件的结构化。数据库技术是20世纪60年代开始兴起的一门信息管理自动化的新兴学科,是计算机科学中的一个重要分支,随着计算机应用的不断发展,数据的爆炸式增长,数据处理也越来越占主导地位,而数据库技术的应用也变得愈加广泛。