取路径。而后来出现的关系数据库较好 地解决了这些问题。
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为首的支持和 反对关系数据库两派之间的辩论。这次 著名的辩论推动了关系数据库的发展, 使其最终成为现代数据库产品的主流。 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 SQL Server 以及Informix、ADABASD 等等。 3. 结构化查询语言 (SQL)
1974 年,IBM 的Ray Boyce 和Don Chamberlin 将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亿 美元。
Oracle 的由来 48 程序员2004.06
SQL文本。目前SQL标准有3个版本。基 本SQL定义是ANSIX3135-89,“Database
Lan guage —— SQ L w it h I nt e gri t y Enhancement”[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 d Database)”或简称“OO数据库系统”。 值得一提的是,美国Stonebraker教授提 出的面向对象的关系型数据库理论曾一 度受到产业界的青睐。而Stonebraker本 人也在当时被Informix花大价钱聘为技 术总负责人。
然而,数年的发展表明,面向对象的 关系型数据库系统产品的市场发展情况 并不理想。理论上的完美性并没有带来 市场的热烈反应。不成功的主要原因在 于,这种数据库产品的主要设计思想是 企图用新型数据库系统来取代现有的数 据库系统。这对许多已经运用数据库系 统并积累了大量工作数据的客户,尤其 是大客户来说,无法承受新旧数据间的 转换而带来的巨大工作量及巨额开支。 另外, 面向对象的关系型数据库系统使 查询语言变得极其复杂,从而使得无论 是数据库的开发商家还是应用客户都视 其复杂的应用技术为畏途。 5. 数据管理的变革
二十世纪六十年代后期出现了一种
新型数据库软件:决定支持系统(DSS), 其目的是让管理者在决策过程中更有效 地利用数据信息。于是在1970 年,第一