数据管理的诞生
数据库的历史可以追溯到五十年前,那时的数据管理非常简单。通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。
然而,1 9 5 1 年雷明顿兰德公司(Remington Rand Inc)的一种叫做Univac I 的计算机推出了一种一秒钟可以输入数百条记录的磁带驱动器,从而引发了数据管理的革命。
1956 年IBM生产出第一个磁盘驱动器—— the Model 305 RAMAC。此驱动器有50 个盘片,每个盘片直径是2 英尺,可以储存5MB的数据。使用磁盘最大的好处是可以随机地存取数据,而穿孔卡片和磁带只能顺序存取数据。
1951: Univac系统使用磁带和穿孔卡片作为数据存储。 数据库系统的萌芽出现于60 年代。当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需要。能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。数据模型是数据库系统的核心和基础,各种DBMS 软件都是基于某种数据模型的。所以通常也按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。
最早出现的是网状 DBMS,是美国通用电气公司Bachman等人在1961年开发成功的IDS(Integrated DataStore)。
1961年通用电气公司(General ElectricCo.)的Charles Bachman 成功地开发出世界上第一个网状DBMS也是第一个数据库管理系统—— 集成数据存储(Integrated DataStore
IDS),奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。IDS 具有数据模式和日志的特征。但它只能在GE主机上运行,并且数据库只有一个文件,数据库所有的表必须通过手工编码来生成。之后,通用电气公司一个客户——BF Goodrich Chemical 公司最终不得不重写了整个系统。并将重写后的系统命名为集成数据管理系统(IDMS)。
网状数据库模型对于层次和非层次结构的事物都能比较自然的模拟,在关系数据库出现之前网状DBMS要比层次DBMS用得普遍。在数据库发展史上,网状数据库占有重要地位。
层次型DBMS是紧随网络型数据库而出现的,最著名最典型的层次数据库系统是
IBM 公司在1968 年开发的IMS。 (Information Management System),一种适合其主机的层次数据库。这是IBM公司研制的最早的大型数据库系统程序产品。从60 年代末产生起,如今已经发展到IMSV6,提供群集、N路数据共享、消息队列共享等先进特性的支持。这个具有3 0 年历史的数据库产品在如今的WWW应用连接、商务智能应用中扮演着新的角色。
1973 年Cullinane 公司(也就是后来的Cullinet软件公司),开始出售Goodrich 公司的IDMS 改进版本,并且逐渐成为当时世界上最大的软件公司。
关系数据库的由来
网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。而后来出现的关系数据库较好地解决了这些问题。
1970年,IBM的研究员E.F.Codd博士在刊物《Communication 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、ADABASD等等。
本文章转自于http://www.vip400.cc 仅供参考
数据库的发展
数据库的发展
数据库的发展2010-06-03 13:041.1.1数据库发展
数据库管理技术的发展主要经历了如下三个不同的发展阶段:人工管理阶段、文件管理阶段和数据库管理阶段,目前新兴的数据库管理技术还有面向对象的技术等方面。
人工管理阶段(20世纪50年代中期以前)
这一阶段,计算机主要用于科学计算。外部存储器只有磁带、卡片和纸带等还没有磁盘等直接存取存储设备。软件只有汇编语言,尚无数据管理方面的软件。数据处理方式基本是批处理。这个阶段有如下几个特点:
计算机系统不提供对用户数据的管理功能。用户编制程序时,必须全面考虑好相关的数据,包括数据的定义、存储结构以及存取方法等。程序和数据是一个不可分割的整体。数据脱离了程序就无任何存在的价值,数据无独立性。用户用机器指令编码,通过纸带机输入程序和数据,程序运行完毕后,由用户取走纸带和运算结果,再让下一用户上机操作。
数据不能共享。不同的程序均有各自的数据,这些数据对不同的程序通常是不相同的,不可共享;即使不同的程序使用了相同的一组数据,这些数据也不能共享,程序中仍然需要各自加人这组数据,谁也不能省略。基于这种数据的不可共享性,必然导致程序与程序之间存在大量的重复数据,浪费了存储空间。
不单独保存数据。基于数据与程序是一个整体,数据只为本程序所使用,数据只有与相应的程序一起保存才有价值,否则就毫无用处。所以,所有程序的数据均不单独保存。
基本上没有文件的概念
文件系统阶段(20世纪50年代后期至60年代中后期)
文件系统是数据库系统的初级阶段,可以提供简单的数据共享和管理,但无法提供完整统一的管理和数据共享能力。由于它的功能较为简单,均附属于操作系统,并不成为独立的软件,所以一般把它视为数据库系统的原形,而不是严格意义上的数据库系统。文件系统的发展如下:
数据库这个名词起源于20世纪50时年代,当时美国为了战争(朝鲜战争)的需要,把各种情报集中在一起,粗如计算机,称为Information Base或Database 1963年,美国Honeywell公司的IDSIntegrated Data Store)系统投入运行,揭开了数据库技术的序幕。
1965年美国利用数据库帮助设计了阿波罗登月火箭,推动了数据库技术的产生。当时社会上产生了许多形形色色的Database或Databank,但基本上都是文件的扩充。
在这一阶段,计算机不仅用于科学计算,还利用在信息管理方面。随着数据量的增加,数据的存储、检索和维护问题成为紧迫的需要,数据结构和数据管理技术迅速发展起来。此时,外部存储器已有磁盘、磁鼓等直接存取的存储设备。软件领域出现了操作系统和高级软件。操作系统中的文件系统是专门管理外存的数据管理软件,文件是操作系统管理的重要资源之一。数据处理方式有批处理,也有联机实时处理。这个阶段有如下几个特点:
数据以"文件"形式可长期保存在外部存储器的磁盘上。由于计算机的应用转向信息管理,因此对文件要进行大量的查询、修改和插人等操作。
数据的逻辑结构与物理结构有了区别,但比较简单。程序与数据之间具有"设备独立性",即程序只需用文件名就可与数据打交道,不必关心数据的物理位置。由操作系统的文件系统提供存取方法(读/写)。
文件组织已多样化。有索引文件、链接文件和直接存取文件等。但文件之间相互独立、缺乏联系。数据之间的联系要通过程序去构造。
数据不再属于某个特定的程序,可以重复使用,即数据面向应用。但是文件结构的设计仍然是基于特定的用途,程序基于特定的物理结构和存取方法,因此程序与数据结构之间的依赖关系并未根本改变。对数据的操作以记录为单
位。这是由于文件中只存储数据,不存储文件记录的结构描述信息。文件的建立、存取、查询、插人、删除、修改等所有操作,都要用程序来实现。
随着数据管理规模的扩大,数据量急剧增加,文件系统显露出一些缺陷:
数据冗余。由于文件之间缺乏联系,造成每个应用程序都有对应的文件,有可能同样的数据在多个文件中重复存储。
不一致性。这往往是由数据冗余造成的,在进行更新操作时,稍不谨慎,就可能使同样的数据在不同的文件中不一样。
数据联系弱。这是由于文件之间相互独立,缺乏联系造成的。
文件系统阶段是数据管理技术发展中的一个重要阶段。在这一阶段中,得到充分发展的数据结构和算法丰富了计算机科学,为数据管理技术的进一步发展打下了基础,现在仍是计算机软件科学的重要基础。
数据库阶段(20世纪60年代末开始)
数据管理技术进入数据库阶段的标志是20世纪60年代末的三件大事:
1968年美国IBMInternational Business Machine)公司推出层次模型的IMS(Information Management System,信息管理系统,并于1969年形成产品。
1969年美国CODASYLConference on Data System Language)组织发布了DBTG(数据库任务组)报告,总结了当时各式各样的数据库,提出网状模型。20世纪70年代是数据库蓬勃发展的年代,网状系统和层次系统占据了整个数据库商用市场。
1970年美国IBM公司的E.F.Codd(德加.考特)连续发表论文,提出关系模型,奠定了关系数据库的理论基础。20世纪80年代,关系系统由于使用简便以及硬件性能的改善,逐步代替网状系统和层次系统占领了市场。20世纪90年代,关系数据库已成为数据库技术的主流。
数据库阶段的数据管理具有以下特点:
采用数据模型表示复杂的数据结构。
有较高的数据独立性。
数据库系统为用户提供了方便的用户接口。
数据库系统提供以下四方面的数据控制功能:数据库的并发控制,数据库的恢复,数据的完整性和数据安全性。
增加了系统的灵活性
高级数据库阶段(20世纪70年代后期开始)
由于计算机应用的发展,计算机已从传统的科学计算、事务处理等领域逐步扩展到工程设计统计、人工智能、多媒体、分布式等领域。高级数据库阶段的主要标志是分布式数据库系统、面向对象数据库、智能数据库系统的出现。进入21世纪以后,无论是市场的需求还是技术条件的成熟,对象数据库技术、网络数据库技术的推广和普及已成定局。
时下流行的数据库:
OracleOracle公司的产品、"关系-对象"型数据库、产品免费、服务收费
SQL Server:针对不同用户群体的五个特殊的版本、易用性好
DB2IBM公司的产品、支持多操作系统、多种类型的硬件和设备
段雄飞
数据库技术发展简史
数据库技术发展简史
数据库技术从诞生到现在,在不到半个世纪的时间里,形成了坚实的理论 基础、成熟的商业产品和广泛的应用领域,吸引越来越多的研究者加入。数据 库的诞生和发展给计算机信息管理带来了一场巨大的革命。三十多年来,国内 外已经开发建设了成千上万个数据库,它已成为企业、部门乃至个人日常工作、 生产和生活的基础设施。同时,随着应用的扩展与深入,数据库的数量和规模 越来越大,数据库的研究领域也已经大大地拓广和深化了。
30年间数据库领域获得了三次计算机图灵奖(C.W. Bachman,E.F.Codd, J.Gray ) ,更加充分地说明了数据库是一个充满活力和创新精神的领域。就让我 们沿着历史的轨迹,追溯一下数据库的发展历程。
数据库发展简史
1. 数据管理的诞生
数据库的历史可以追溯到五十年前,那时的数据管理非常简单。通过大量 的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运 行结果在纸上打印出来或者制成新的穿孔卡片。而数据管理就是对所有这些穿 孔卡片进行物理的储存和处理。然而, 1 9 5 1 年雷明顿兰德公司(Remington Rand Inc. )的一种叫做 Univac I 的计算机推出了一种一秒钟可以输入数百条记 录的磁带驱动器, 从而引发了数据管理的革命。 1956 年 IBM 生产出第一个磁盘 驱动器—— the Model305 RAMAC。此驱动器有 50 个盘片,每个盘片直径是 2 英尺,可以储存 5MB 的数据。使用磁盘最大的好处是可以随机地存取数据,而 穿孔卡片和磁带只能顺序存取数据。 数据库系统的萌芽出现于 60 年代。 当时计 算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。传统 的文件系统已经不能满足人们的需要。能够统一管理和共享数据的数据库管理
系统 (DBMS ) 应运而生。 数据模型是数据库系统的核心和基础, 各种 DBMS 软 件都是基于某种数据模型的。所以通常也按照数据模型的特点将传统数据库系 统分成网状数据库、层次数据库和关系数据库三类。
最早出现的是网状 DBMS , 是美国通用电气公司 Bachman 等人在 1961年开 发成功的 IDS (Integrated DataStore) 。 1961年通用电气公司(General Electric Co. )的 Charles Bachman 成功地开发出世界上第一个网状 DBMS 也是第一个 数据库管理系统—— 集成数据存储(Integrated DataStore IDS ) ,奠定了网状数 据库的基础,并在当时得到了广泛的发行和应用。 IDS 具有数据模式和日志的 特征。 但它只能在 GE 主机上运行, 并且数据库只有一个文件, 数据库所有的表 必须通过手工编码来生成。之后,通用电气公司一个客户—— BF Goodrich Chemical 公司最终不得不重写了整个系统。并将重写后的系统命名为集成数据 管理系统(IDMS ) 。网状数据库模型对于层次和非层次结构的事物都能比较自 然的模拟,在关系数据库出现之前网状 DBMS 要比层次 DBMS 用得普遍。 在数 据库发展史上,网状数据库占有重要地位。
层次型 DBMS 是紧随网络型数据库而出现的。最著名最典型的层次数据库 系统是 IBM 公司在 1968 年开发的 IMS (Information Management System) ,一 种适合其主机的层次数据库。这是 IBM 公司研制的最早的大型数据库系统程序 产品。从 60 年代末产生起,如今已经发展到 IMSV6,提供群集、 N 路数据共 享、消息队列共享等先进特性的支持。这个具有 3 0 年历史的数据库产品在如 今的 WWW 应用连接、商务智能应用中扮演着新的角色。
1973 年 Cullinane 公司(也就是后来的 C u l l i n e t 软件公司) ,开始出售 Goodrich 公司的 IDMS 改进版本,并且逐渐成为当时世界上最大的软件公司。 2. 关系数据库的由来
网状数据库和层次数据库已经很好 1951:Univac I 系统使用磁带和穿孔卡 片作为数据存储管理成功地解决了数据的集中和共享问题,但是在数据独立性 和抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明 确数据的存储结构,指出存取路径。而后来出现的关系数据库较好地解决了这 些问题。
1970 年, IBM 的研究员 E.F.Codd 博士在刊物 Communication of the ACM 上发表了一篇名为“ A Relational Modelof Data for Large Shared Data Banks” 的论 文,提出了关系模型的概念,奠定了关系模型的理论基础。尽管之前在 1968年 Childs 已经提出了面向集合的模型,然而这篇论文被普遍认为是数据库系统历 史上具有划时代意义的里程碑。 Codd 的心愿是为数据库建立一个优美的数据模 型。后来 Codd 又陆续发表多篇文章,论述了范式理论和衡量关系系统的 12条 标准,用数学理论奠定了关系数据库的基础。关系模型有严格的数学基础,抽 象级别比较高,而且简单清晰,便于理解和使用。但是当时也有人认为关系模 型是理想化的数据模型,用来实现 DBMS 是不现实的,尤其担心关系数据库的 性能难以接受,更有人视其为当时正在进行中的网状数据库规范化工作的严重 威胁。为了促进对问题的理解, 1974年 ACM 牵头组织了一次研讨会,会上开 展了一场分别以 Codd 和 Bachman 为首的支持和反对关系数据库两派之间的辩 论。这次著名的辩论推动了关系数据库的发展,使其最终成为现代数据库产品 的主流。
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 Dat a Store。 关系型数据库系统以关系代数为坚实的理论基础, 经过几十年的发展和实际应用,技术越来越成熟和完善。其代表产品有 Oracle 、 IBM 公司的 DB2、 微软公司的 MS SQLServer 以及 Informix 、 ADABASD 等等。 3. 结构化查询语言 (SQL)
1974 年, IBM 的 Ray Boyce 和 DonChamberlin 将 Codd 关系数据库的 12条准则的数学定义以简单的关键字语法表现出来,里程碑式地提出了 S Q L (Structured Query Language)语言。 SQL 语言的功能包括查询、操纵、定义和 控制,是一个综合的、通用的关系数据库语言,同时又是一种高度非过程化的 语言,只要求用户指出做什么而不需要指出怎么做。 SQL 集成实现了数据库生 命周期中的全部操作。 SQL 提供了与关系数据库进行交互的方法,它可以与标 准的编程语言一起工作。自产生之日起, SQL 语言便成了检验关系数据库的试 金石,而 SQL 语言标准的每一次变更都指导着关系数据库产品的发展方向。然 而,直到二十世纪七十年代中期,关系理论才通过 SQL 在商业数据库 Oracle 和 DB2中使用。
1986年, ANSI 把 SQL 作为关系数据库语言的美国标准,同年公布了标准
1969:Edgar F. Codd发明了关系数据库。 1976年 IBM E.F.Codd发表了一篇里程 碑的论文“ R 系统 :数据库关系理论” ,介绍了关系数据库理论和查询语言 SQL 。 Oracle 的创始人 Ellison 非常仔细地阅读了这篇文章,被其内容震惊,这是第一 次有人用全面一致的方案管理数据信息。作者 E.F.Codd 十年前就发表了关系数 据库理论, 并在 IBM 研究机构开发原型, 这个项目就是 R 系统, 存取数据表的 语言就是 SQL 。 Ellison 看完后,敏锐意识到在这个研究基础上可以开发商用软 件系统。而当时大多数人认为关系数据库不会有商业价值。 Ellison 认为这是他 们的机会 :他们决定开发通用商用数据库系统 Oracle ,这个名字来源于他们曾给 中央情报局做过的项目名。 几个月后, 他们就开发了 Oracle 1.0 。 但这只不过是 个玩具,除了完成简单关系查询不能做任何事情,他们花相当长的时间才使 Oracle 变得可用, 维持公司运转主要靠承接一些数据库管理项目和做顾问咨询工 作。而 IBM 却没有计划开发,为什么蓝色巨人放弃了这个价值上百亿的产品, 原因有很多:IBM 的研究人员大多是学术出身,他们最感兴趣的是理论,而非 推向市场的产品,从学术上看,研究成果应公开,发表论文和演讲能使他们成 名, 为什么不呢?还有一个很主要的原因就是 IBM 当时有一个销售得还不错的 层次数据库产品 IMS 。直到 1985年 I B M 才发布了关系数据库 D B 2 ,Ellision那时已经成了千万富翁。 Ellison 曾将 IBM 选择 Microsoft 的 MS-DOS 作为 IBM-PC 机的操作系统比为:“世界企业经营历史上最严重的错误,价值超过了 上千亿美元。 ” IBM 发表 R 系统论文,而且没有很快推出关系数据库产品的错 误可能仅仅次之。 Oracle 的市值在 1996年就达到了 280亿美元。
SQL 文本。目前 SQL 标准有 3个版本。基本 SQL 定义是 ANSIX3135-89, “ DatabaseLan guage —— SQ L w it h I nt e gri t yEnhancement” [ANS89],一般 叫做 SQL-89。 SQL-89 定义了模式定义、数据操作和事务处理。 S Q L - 8 9 和
随后的 ANSIX3168-1989, “ Database Language—— Embedded SQL”构成了第一 代 SQL 标准。 ANSIX3135-1992[ANS92]描述了一种增强功能的 SQL ,现在叫做 SQL-92标准。 SQL-92 包括模式操作,动态创建和 SQL 语句动态执行、网络环 境支持等增强特性。 在完成 SQL-92标准后, ANSI 和 ISO 即开始合作开发 SQL3标准。 SQL3的主要特点在于抽象数据类型的支持,为新一代对象关系数据库提 供了标准。
4. 面向对象数据库
随着信息技术和市场的发展,人们发现关系型数据库系统虽然技术很成熟, 但其局限性也是显而易见的:它能很好地处理所谓的“表格型数据” ,却对越来 越多复杂类型的数据无能为力。九十年代以后,技术界一直在研究和寻求新型 数据库系统。但什么是新型数据库系统的发展方向,产业界一度相当困惑。受 当时技术风潮的影响,在相当一段时间内,人们把大量的精力花在研究“面向 对象的数据库系统 (O b j e c t - O r i e n t e dDatabase) ” 或简称 “ OO 数据库系统” 。 值得一提的是,美国 Stonebraker 教授提出的面向对象的关系型数据库理论曾一 度受到产业界的青睐。而 Stonebraker 本人也在当时被 Informix 花大价钱聘为技 术总负责人。
然而,数年的发展表明,面向对象的关系型数据库系统产品的市场发展情 况并不理想。理论上的完美性并没有带来市场的热烈反应。不成功的主要原因 在于,这种数据库产品的主要设计思想是企图用新型数据库系统来取代现有的 数据库系统。这对许多已经运用数据库系统并积累了大量工作数据的客户,尤 其是大客户来说,无法承受新旧数据间的转换而带来的巨大工作量及巨额开支。 另外, 面向对象的关系型数据库系统使查询语言变得极其复杂,从而使得无论 是数据库的开发商家还是应用客户都视其复杂的应用技术为畏途。
5. 数据管理的变革
二十世纪六十年代后期出现了一种新型数据库软件:决定支持系统 (DSS ) , 其目的是让管理者在决策过程中更有效地利用数据信息。 于是在 1970 年, 第一 个联机分析处理工具—— Express 诞生了。其他决策支持系统紧随其后,许多 是由公司的 IT 部门开发出来的。
1 9 8 5 年,第一个商务智能系统(business intelligence)由 Metaphor 计算 机系统有限公司为 Procter & Gamble公司开发出来, 主要用来连接销售信息和零 售的扫描仪数据。同年, Pilot 软件公司开始出售第一个商用客户 / 服务器执行 信息系统—— Command Center。 同样在这年, 加州大学伯克利分校 Ingres 项目 演变成 Postgres ,其目标是开发出一个面向对象的数据库。此后一年, Graphael 公司开发了第一个商用的对象数据库系统—— Gbase 。 1988 年, IBM 公司的研 究者 BarryDevlin 和 Paul Murphy 发明了一个新的术语——信息仓库,之后, IT 厂商开始构建实验性的数据仓库。 1991年, W.H.Inmon 出版了一本《如何构建 数据仓库》的书,使得数据仓库真正开始应用 , 因此 Inmon 也被尊称为“数据仓 库之父” 。
二十世纪九十年代,随着客户 / 服务器计算模式和企业软件包的广泛采用, 数据管理的变革基本完成。数据管理不再仅仅是存储和管理数据,而转变成用 户需要的各种数据管理的方式。 Internet 的异军突起以及 XML 语言的出现,给 数据库系统的发展开辟了一片新天地。数据库未来发展趋势随着信息管理内容 的不断扩展,出现了丰富多样的数据模型(层次模型,网状模型,关系模型, 面向对象模型, 半结构化模型等) , 新技术也层出不穷 (数据流, Web 数据管理, 数据挖掘等) 。目前每隔几年,国际上一些资深的数据库专家就会聚集一堂,探 讨数据库研究现状,存在的问题和未来需要关注的新技术焦点。过去已有的几
个类似报告包括:1989 年 Future Directions inDBMS Research-The Laguna BeachParticipants , 1990 年 DatabaseS y s t e m s : A c h i e v e m e n t s a n dOpportunities , 1995 年的 Database1991:W.H. Inmon 发表了 《构建数据仓库》 数据库发展大事记:
1951:Univac 系统使用磁带和穿孔卡片作为数据存储。
1956:IBM 公司在其 Model 305 RAMAC中第一次引入了磁盘驱动器
1961:通用电气 (GE)公司的 CharlesBachman 开发了第一个数据库管理系统—— IDS
1969:E.F. Codd发明了关系数据库。
1973:John J.Cullinane领导 Cullinane 公司开发了 IDMS ——一个针对 IBM 主 机的基于网络模型的数据库。
1976:Honeywell 公司推出了 MulticsRelational Data Store ——第一个商用关系 数据库产品。
1979:Oracle 公司引入了第一个商用 SQL 关系数据库管理系统。
1983:IBM 推出了 DB2 数据库产品。
1985:为 Procter & Gamble 系统设计的第一个商务智能系统产生。 1991:W.H.Inmon 发表了《构建数据仓库》 。
Research; Achievements and Opportunitiesinto the 21st Century, 1996年 Strategic Directions in DatabaseSystems-Breaking Out of the Box 和 1998 年的 The Asilomar Report onDatabase Research。
2003 年的聚会于 5月初在 Lowell Mass举行, 共 25位资深数据库学者参加, 集 中讨论了信息存储、组织、管理和访问等问题。信息的本质和来源在不断变化, Internet 、 Web 、自然科学、电子商务是信息和信息处理的巨大源泉。而廉价的
微型传感器技术使得大部分物体可以实时汇报他们的位置和状态。这类信息能 支持对移动对象的状态和位置的监视应用。传感信息的处理将会引发许多新环 境下极有趣味的数据库问题。而在应用领域, Internet 是目前主要的驱动力,特 别是在支持“跨企业”的应用上。历史上,应用都是企业内部的,可以在一个 行政领域内进行完善的指定和优化。但现在,大部分企业感兴趣的是如何与供 应商、客户进行更密切的交流以便共享信息,以便提供更好的客户支持。这类 应用需要安全和信息集成的有力工具。由此产生了数据库相关的新问题。另一 个重要应用领域是自然科学,特别是物理科学、生物科学、保健科学和工程领 域。这些领域产生了大量复杂的数据集,需要比现有的数据库产品更高级的数 据库支持。这些领域同样也需要信息集成机制的支持。除此之外,还需要对数 据分析器产生的数据管道的管理, 需要对有序数据的存储和查询 (如 :时间序列、 图像分析、网格计算和地理信息) ,需要世界范围内数据网格的集成。除了在信 息管理领域的这些挑战外,在传统的 DBMS 上,诸如数据模型、访问方法、查 询处理代数、并发控制、恢复、查询语言和 DBMS 的用户界面等也面临着巨大 的变化。这些问题过去已经得到充分的研究,但是技术的发展不断改变其应用 规则。比如说, 磁盘和 RAM 容量的不断变大, 存储每个比特数据的花费不断降 低。虽然访问次数和带宽也在不断提高,但是他们不像前者发展得那样快,不 断变化的比率要求重新评估存储管理和查询处理代数。除此之外,处理器高速 缓存的规模和层次的提高,要求 DBMS 算法能够适应 cache 大小的变化。上述 只是由于技术改变而对原有算法重新评价的两个例子。另一个推动数据库研究 发展的动力是相关技术的成熟。如过去几十年里,数据挖掘技术已成为数据库 系统重要的组成部分。 Web 搜索引导致了信息检索的商品化,并和传统的数据 库查询技术集成。许多人工智能领域的研究成果也和数据库技术融合起来,这
些新组件使得我们处理语音、自然语言、进行不确定性推理和机器学习等。整 体上,这些都要求一个与我们现在完全不同的信息管理架构,并重新考虑信息 存储、组织、管理
和访问等方面的问题。
近 40年中,数据库研究工作集中在
数据库管理系统开发的核心领域上,而
数据管理的研究范畴远比这宽的多。如
果忽视一些新的应用领域面临的数据管
理问题,就会使数据库研究局限于传统
的数据管理应用上而失去活力。
在众多新技术应用中,对数据库研
究最具影响力,推动数据库研究进入新
纪元的无疑将是 I n t e r n e t 的发展。
Internet 从深度和广度两方面对数据库技
术提出了挑战。从深度上讲, Internet 环
境中,一些数据管理的基本假设不再成
立,需要重新考虑在新情况下对传统数
据库技术的改进。从广度上讲,新问题的
出现需要开拓思路,寻求创新性的技术
突破。
数据库发展
史上重要人物
埃德加·考特(EdgarF.Codd )
计算机界公认的关系数据库之父。
1970年他提出了关系模型的理论, 1970年 以后, E.F.Codd 继续完善和发展关系理 论;之后创办了一个研究所 The Relational Institute 和一个公司 Codd & Associations; 1990 年出版了专著 The Relational Model for Database Management:Version 2。 E.F.Codd 以其对关系数据库的卓越贡献 获得了 1983 年 ACM 图灵奖。
C.J. 戴特 (C.J.Date)
C.J.Date 是最早认识到 Codd 在关
系模型方面所做的开创性贡献的学者之 一,他是关系数据库技术领域中非常著 名的独立撰稿人、学者和顾问,他使得关 系模型的概念普及化。他参与了 IBM 公 司的 SQL/DS和 DB2两大产品的技术规 划和设计。 30多年来, Date 一直活跃在 数据库领域中,其著作有《数据库系统导 论》 , 《对象关系数据库基础:第三次宣 言》 (1998)等。
吉姆·格雷(Jim Gray)
Jim Gray使关系模型的技术实用化, 他为 RDBMS 成熟并顺利进入市场起到了
关键性的作用。他在事务处理方面取得 了突出的贡献,使他成为该技术领域公 认的权威,他也成为图灵奖诞生 32 年来 第三位在数据库技术的发展中作出重大 贡献而获此殊荣的学者。曾参与主持过 IMS 、 System R、 SQL/DS、 DB2等项目 的开发。他的研究成果反映在他发表的 一系列论文和研究报告之中,最后结晶 为一部厚厚的专著 Transaction Processing: Concepts and
Techniques 。
Michael Stonebraker
Michael Stonebraker是 Ingres
的创始人。他是加州大学伯克利分 校的教授,著名的数据库学者,他在 1992 年提出对象关系数据库模型。 S t o n e b r a k e r 教授领导了称为 Postgres 的后 Ingres 项目。这个项 目的成果是非常巨大的,在现代数 吉姆·格雷
50 程序员 2004.06
据库的许多方面都做出的大量的贡献。
Stonebraker 教授还做出了一件造福全人 类的事情,那就是把 Postgres 放在了 BSD 版权的保护下。
Jeffrey D. Ullman
Jeffrey D. Ullman 是国际知名的
数据库专家。现为斯坦福大学的 Stanford W. Ascherman计算机科学教 授。 1996 年获得 Sigmod 贡献奖和 1998 年 Karl V. Karstrom 杰出教育家奖获 得者。出版了多本数据库专著。
数据库领域研
究组织和机构
ACM SIGMOD
国际计算机学会数据管理专业委员 会 (ACM SIGMOD)是国际数据库领域最 高级别的国际会议。其主要致力于数据 库以及信息技术的研究,开发和应用。 SIGMOD 每年召开一次 ,SIGMOD Record 是其发行的数据库期刊。
VLDB
国际超大型数据库会议(Int ernational Conference on Very Large Data Bases, VLDB )是一个专门从事超大规模数据
库管理理论、方法和应用研究的专业性 学术机构,它涉及的内容也很丰富,包 括研究及应用的诸多方面,基本上 能够 较全面地反映当前数据库研究的前沿方 向、工业界的最新技术以及各国的研发 水平。 1975年,以美籍华裔科学家肖开 美教授(Dave Hsiao)为首的一批数据库 学者发起组织了第一届 VLDB 会议。此 后每年召开一次,已成为是数据库领域 中最主要、规模最大的国际学术会议。 ICDE
数据工程国际学术会议 (ICDE)是由
IEEE 计算机数据工程技术学会(TCDE ) 主办的数据库领域的最高级别的国际性 会议之一。会议产生出版季刊数据工程 通报 (英文 Data Engineering Bulletin)。 TCDE 致力于研究数据在信息系统的设 计、实现与管理中的作用,面向的主要问 题包括数据库设计、数据处理、数据库存 储与操纵语言、数据采集的策略与机制、 数据库的安全性与完整性控制、数据库 的工程应用以及分布式系统。
CCF DBS
中国计算机学会数据库专业委员会
(CHINA COMPUTER FEDERATION DATABASE SOCIETY,简称 CCF
DBS )是中国计算机学会领导下的数据 库学术组织,于 1999 年 8 月 24日在兰州 大学召开的第十六届全国数据库学术会 议上正式成立。由数据库专业委员会主 办的全国数据库学术会议(NDBC )始于 1977 年,至今已举办 20 届。 NDBC 这一 传统的数据库盛会已成为国内数据库领 域较为权威的会议。
商业公司及
数据库产品
1. IBM 的 DB2
作为关系数据库领域的开拓者和领
航人, IBM 在 1997年完成了 System R 系统的原型, 1980年开始提供集成的数 据库服务器—— System/38,随后是 SQL/DSforVSE和 VM ,其初始版本与 SystemR 研究原型密切相关。 DB2 for MVSV1 在 1983年推出。该版本的目标 是提供这一新方案所承诺的简单性,数 据不相关性和用户生产率。 1988年 DB2
for MVS 提供了强大的在线事务处理 (OLTP )支持, 1989 年和 1993 年分别 以远程工作单元和分布式工作单元实现 了分布式数据库支持。最近推出的 DB2 Universal Database 6.1则是通用数据 库的典范,是第一个具备网上功能的多 媒体关系数据库管理系统,支持包括 Linux 在内的一系列平台。
2. Oracle
O r a c l e 前身叫 SDL ,由 Larry
Ellison 和另两个编程人员在 1977创办, 他们开发了自己的拳头产品,在市场上 大量销售, 1979 年, Oracle 公司引入了 第一个商用 SQL 关系数据库管理系统。 Oracle 公司是最早开发关系数据库的厂 商之一,其产品支持最广泛的操作系统 平台。目前 Oracle 关系数据库产品的市 场占有率名列前茅。
3. Informix
Informix 在 1980年成立,目的是为 Unix 等开放操作系统提供专业的关系型 数据库产品。公司的名称 Informix 便是 取自 Information 和 Unix 的结合。
Informix 第一个真正支持 SQL 语言
的关系数据库产品是 I n f o r m i x S E
(StandardEngine ) 。 InformixSE 是在
当时的微机 Unix 环境下主要的数据库
产品。它也是第一个被移植到 Linux 上
的商业数据库产品。
4. Sybase
Sybase 公司成立于 1984年,公司名
称“ Sybase ”取自“ system ”和“ database ”
相结合的含义。 Sybase 公司的创始人之
一 Bob Epstein 是 Ingres 大学版(与
System/R同时期的关系数据库模型产
品)的主要设计人员。公司的第一个关系
数据库产品是 1987年 5月推出的 Sybase
SQLServer1.0。 Sybase 首先提出了 Client/
Server 数据库体系结构的思想,并
率先在 Sybase SQLServer 中实现。
5. SQL Server
1987 年,微软和 IBM 合作开发完成 OS/2, IBM 在其销售的 OS/2 ExtendedEdition 系统中绑定了 OS/2Database Manager ,而微软产品线中尚缺少 数据库产品。为此,微软将目光投向 Sybase ,同 Sybase 签订了合作协议,使用 Sybase 的技术开发基于 OS/2平台的关系型数据库。 1989年,微软发布了 SQL Server 1.0 版。
6. PostgreSQL
PostgreSQL 是一种特性非常齐全的自由软件的对象——关系性数据库管理 系统(ORDBMS ) ,它的很多特性是当今许多商业数据库的前身。 PostgreSQL 最早开始于 BSD 的 Ingres 项目。 PostgreSQL 的特性覆盖了 SQL-2/SQL-92和 SQL-3。首先,它包括了可以说是目前世界上最丰富的数据类型的支持;其次, 目前 PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性 检查等特性的唯一的一种自由软件的数据库管理系统 .
554-数据库发展简史
数据库发展简史
1. 数据管理的诞生
数据库的历史可以追溯到五十年前,那时的数据管理非常简单。通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。然而,1 9 5 1 年雷明顿兰德公司(Remington Rand Inc.)的一种叫做Univac I 的计算机推出了一种一秒钟可以输入数百条记录的磁带驱动器,从而引发了数据管理的革命。1956 年IBM生产出第一个磁盘驱动器—— the Model 305 RAMAC。此驱动器有50 个盘片,每个盘片直径是2 英尺,可以储存5MB的数据。使用磁盘最大的好处是可以随机地存取数据,而穿孔卡片和磁带只能顺序存取数据。
1951: Univac系统使用磁带和穿孔卡片作为数据存储。
数据库系统的萌芽出现于60 年代。当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需要。能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。数据模型是数据库系统的核心和基础,各种DBMS 软件都是基于某种数据模型的。所以通常也按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。
最早出现的是网状 DBMS,是美国通用电气公司Bachman等人在1961年开发成功的IDS(Integrated DataStore)。1961年通用电气公司(General ElectricCo.)的Charles Bachman 成功地开发出世界上第一个网状DBMS也是第一个数据库管理系统—— 集成数据存储(Integrated DataStore IDS),奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。IDS 具有数据模式和日志的特征。但它只能在GE主机上运行,并且数据库只有一个文件,数据库所有的表必须通过手工编码来生成。之后,通用电气公司一个客户——BF Goodrich Chemical 公司最终不得不重写了整个系统。并将重写后的系统命名为集成数据管理系统(IDMS)。
网状数据库模型对于层次和非层次结构的事物都能比较自然的模拟,在关系数据库出现之前网状DBMS要比层次DBMS用得普遍。在数据库发展史上,网状数据库占有重要地位。
层次型DBMS是紧随网络型数据库而出现的。最著名最典型的层次数据库系统是IBM 公司在1968 年开发的IMS
(Information Management System),一种适合其主机的层次数据库。这是IBM公司研制的最早的大型数据库系统程序产品。从60 年代末产生起,如今已经发展到IMSV6,提供群集、N路数据共享、消息队列共享等先进特性的支持。这个具有3 0 年历史的数据库产品在如今的WWW应用连接、商务智能应用中扮演着新的角色。
1973 年Cullinane 公司(也就是后来的Cullinet软件公司),开始出售Goodrich
公司的IDMS 改进版本,并且逐渐成为当时世界上最大的软件公司。
2. 关系数据库的由来
网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。而后来出现的关系数据库较好地解决了这些问题。
1970年,IBM的研究员E.F.Codd博士在刊物《Communication 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、ADABASD等等。
3. 结构化查询语言 (SQL)
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定义是ANSIX3135-89,“Database Language - SQL with Integrity Enhancement”[ANS89],一般叫做SQL-89。SQL-89定义了模式定义、数据操作和事务处理。SQL- 89和随后的ANSIX3168-1989,“Database
Language-Embedded SQL”构成了第一代SQL标准。ANSIX3135-1992[ANS92]描述了一种增强功能的SQL,现在叫做SQL-92标准。SQL-92包括模式操作,动态创建和SQL语句动态执行、网络环境支持等增强特性。在完成SQL-92标准后,ANSI和ISO即开始合作开发SQL3标准。SQL3的主要特点在于抽象数据类型的支持,为新一代对象关系数据库提供了标准。
4、数据库巨人的诞生——甲骨文公司(Oracle)
1976 年IBM E.F.Codd发表了一篇里程碑的论文“R系统:数据库关系理论”,介绍了关系数据库理论和查询语言SQL。Oracle的创始人Ellison非常仔细地阅读了这篇文章,被其内容震惊,这是第一次有人用全面一致的方案管理数据信息。作者E.F.Codd十年前就发表了关系数据库理论,并在IBM 研究机构开发原型,这个项目就是R系统,存取数据表的语言就是SQL。Ellison看完后,敏锐意识到在这个研究基础上可以开发商用软件系统。而当时大多数人认为关系数据库不会有商业价值。Ellison认为这是他们的机会:他们决定开发通用商用数据库系统Oracle,这个名字来源于他们曾给中央情报局做过的项目名。几个月后,他们就开发了Oracle 1.0 。但这只不过是个玩具,除了完成简单关系查询不能做任何事情,他们花相当长的时间才使Oracle变得可用,维持公司运转主要靠承接一些数据库管理项目和做顾问咨询工作。而IBM却没有计划开发,为什么蓝色巨人放弃了这个价值上百亿的产品,原因有很多:IBM的研究人员大多是学术出身,他们最感兴趣的是理论,而非推向市场的产品,从学术上看,研究成果应公开,发表论文和演讲能使他们成名,为什么不呢,还有一个很主要的原因就是IBM 当时有一个销售得还不错的层次数据库产品IMS。直到1985年I B M 才发布了关系数据库D
B 2 ,Ellision那时已经成了千万富翁。Ellison曾将IBM 选择Microsoft 的MS-DOS作为IBM-PC机的操作系统比为:“世界企业经营历史上最严重的错误,价值超过了上千亿美元。”IBM 发表R系统论文,而且没有很快推出关系数据库产品的错误可能仅仅次之。Oracle 的市值在1996年就达到了280亿美元。
5. 面向对象数据库
随着信息技术和市场的发展,人们发现关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理所谓的“表格型数据”,却对技术界出现的越来越多的复杂类型的数据无能为力。九十年代以后,技术界一直在研究和寻求新型数据库系统。但在什么是新型数据库系统的发展方向的问题上,产业界一度是相当困惑的。受当时技术风潮的影响,在相当一段时间内,人们把大量的精力花在研究“面向对象的数据库系统(object oriented database)”或简称“OO数据库系统”。值得一提的是,美国Stonebraker教授提出的面向对象的关系型数据库理论曾一度受到产业界的青睐。而Stonebraker本人也在当时被Informix花大价钱聘为技术总负责人。
然而,数年的发展表明,面向对象的关系型数据库系统产品的市场发展的情况并不理想。理论上的完美性并没有带来市场的热烈反应。其不成功的主要原因在于,这种数据库产品的主要设计思想是企图用新型数据库系统来取代现有的数据库系统。这对许多已经运用数据库系统多年并积累了大量工作数据的客户,尤其是大客户来说,是无法承受新旧数据间的转换而带来的巨大工作量及巨额开支的。另外,面向对象的关系型数据库系统使查询语言变得极其复杂,从而使得无论是数据库的开发商家还是应用客户都视其复杂的应用技术为畏途。
6. 数据管理的变革
二十世纪六十年代后期出现了一种新型数据库软件:决定支持系统(DSS),其目的是让管理者在决策过程中更有效地利用数据信息。于是在1970年, 第一个联机分析处理工具——Express诞生了。其他决策支持系统紧随其后,许多是由公司的IT部门开发出来的。
1985年,第一个商务智能系统(business intelligence)由Metaphor计算机系统有限公司为Procter & Gamble公司开发出来,主要是用来连接销售信息和零售的扫描仪数据。同年, Pilot 软件公司开始出售第一个商用客户/服务器执行信息系统——Command Center。同样在这年,加州大学伯克利分校Ingres项目演变成Postgres,其目标
是开发出一个面向对象的数据库。此后一年, Graphael公司开发了第一个商用的对象数据库系统—Gbase。
1988年,IBM公司的研究者Barry Devlin和Paul Murphy发明了一个新的术语—信息仓库,之后,IT的厂商开始构建实验性的数据仓库。1991年,W.H. "Bill" Inmon
出版了一本“如何构建数据仓库”的书,使得数据仓库真正开始应用。
1991: W.H.“Bill” Inmon发表了”构建数据仓库”
二十世纪九十年代,随着基于PC的客户/服务器计算模式和企业软件包的广泛采用,数据管理的变革基本完成。数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。Internet的异军突起以及XML语言的出现,给数据库系统的发展开辟了一片新的天地。
数据库的发展阶段
1.2 数据库的发展阶段
数据库发展阶段大致划分为如下几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。
1.人工管理阶段
50年代中期之前,计算机的软硬件均不完善。硬件存储设备只有磁带、卡片和纸带,软件方面还没有操作系统,当时的计算机主要用于科学计算。这个阶段由于还没有软件系统对数据进行管理,程序员在程序中不仅要规定数据的逻辑结构,还要设计其物理结构,包括存储结构、存取方法、输入输出方式等。当数据的物理组织或存储设备改变时,用户程序就必须重新编制。由于数据的组织面向应用,不同的计算程序之间不能共享数据,使得不同的应用之间存在大量的重复数据,很难维护应用程序之间数据的一致性。用图形来表示如图1.1所示。
图1.1 人工管理阶段图示
这一阶段的主要特征可归纳为如下几点:
1) 计算机中没有支持数据管理的软件。
2) 数据组织面向应用,数据不能共享,数据重复。
3) 在程序中要规定数据的逻辑结构和物理结构,数据与程序不独立。 4) 数据处理方式——批处理。
下面通过一个简单例子来说明。
求5个数据之和以及最大值。(编程语言为C 语言)
2.文件系统阶段
这一阶段的主要标志是计算机中有了专门管理数据库的软件——操作系统(文件管理)。 上世纪50年代中期到60年代中期,由于计算机大容量存储设备(如硬盘)的出现,推动了软件技术的发展,而操作系统的出现标志着数据管理步入一个新的阶段。在文件系统阶段,数据以文件为单位存储在外存,且由操作系统统一管理。操作系统为用户使用文件提供了友好界面。文件的逻辑结构与物理结构脱钩,程序和数据分离,使数据与程序有了一定的独立性。用户的程序与数据可分别存放在外存储器上,各个应用程序可以共享一组数据,实现了以文件为单位的数据共享。
但由于数据的组织仍然是面向程序,所以存在大量的数据冗余。而且数据的逻辑结构不能方便地修改和扩充,数据逻辑结构的每一点微小改变都会影响到应用程序。由于文件之间互相独立,因而它们不能反映现实世界中事物之间的联系,操作系统不负责维护文件之间的联系信息。如果文件之间有内容上的联系,那也只能由应用程序去处理。如图1.2所示。
图1.2 文件管理阶段
同一个例子在文件处理阶段的方式有所不同。
求5个数据之和和最大值。(数据来自同一个文件C:\ data.dat)
3.数据库系统阶段
60年代后,随着计算机在数据管理领域的普遍应用,人们对数据管理技术提出了更高的要求:希望面向企业或部门,以数据为中心组织数据,减少数据的冗余,提供更高的数据共享能力,同时要求程序和数据具有较高的独立性,当数据的逻辑结构改变时,不涉及数据的物理结构,也不影响应用程序,以降低应用程序研制与维护的费用。数据库技术正是在这样一个应用需求的基础上发展起来的。 数据库技术有如下特点:
a) 面向企业或部门,以数据为中心组织数据,形成综合性的数据库,为各应用共享。 b) 采用一定的数据模型。数据模型不仅要描述数据本身的特点,而且要描述数据之间
的联系。
c) 数据冗余小,易修改、易扩充。不同的应用程序根据处理要求,从数据库中获取需
要的数据,这样就减少了数据的重复存储,也便于增加新的数据结构,便于维护数据的一致性。
d) 程序和数据有较高的独立性。
e) 具有良好的拥护接口,用户可方便地开发和使用数据库。
f) 对数据进行统一管理和控制,提供了数据的安全性、完整性、以及并发控制。 从文件系统发展到数据库系统,这在信息领域中具有里程碑的意义。在文件系统阶段,人们在信息处理中关注的中心问题是系统功能的设计,因此程序设计占主导地位;而在数据库方式下,数据开始占据了中心位置,数据的结构设计成为信息系统首先关心的问题,而应用程序则以既定的书结构为基础进行设计。如图1.3所示。
图1.3 数据库系统阶段
同一例子在数据库系统阶段的处理方式如下。 求5个数据之和和最大值。
SELECT sum(数据) AS 数据和 FROM 数据表 –求5个数据之和
SELECT max(数据) AS 最大值 FROM 数据表 --求5个数的最大值