# 数据库系统发展史

# 概要

数据库系统的研究和开发从 20 世纪 60 年代中期开始到现在,几十年过去了,经历三代演变,取得了十分辉煌的成就:造就了 C.W. Bachman(巴克曼)、E.F.Codd(考特)和 J. Gray(格雷)三位图灵奖得主;发展了以数据建模和数据库管理系统(DBMS)核心技术为主,内容丰富的一门学科;带动了一个巨大的数百亿美元的软件产业。

今天,随着计算机系统硬件技术的进步以及互联网技术的发展,数据库系统所管理的数据以及应用环境发生了很大的变化。其表现为数据种类越来越多、越来越复杂、数据量剧增、应用领域越来越广泛,可以说数据管理无处不需无处不在,数据库技术和系统已经成为信息基础设施的核心技术和重要基础。

数据库技术从诞生到现在,在不到半个世纪的时间里,形成了坚实的理论基础、成熟的商业产品和广泛的应用领域,吸引了越来越多的研究者加入。数据库的诞生和发展给计算机信息管理带来了一场巨大的革命。几十年来,国内外已经开发建设了成千上万个数据库,它已成为企业、部门乃至个人日常工作、生产和生活的基础设施。同时,随着应用的扩展与深入,数据库的数量和规模越来越大,数据库的研究领域也已经大大地拓广和深化了。40 年间数据库领域获得了三次计算机图灵奖(C.W. Bachman、E.F. Codd 和 J. Gray),更加充分地说明了数据库是一个充满活力和创新精神的领域。

# 数据管理的诞生

数据库的历史可以追溯到 50 多年前,那时的数据管理非常简单。通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。

数据库系统的萌芽出现于 20 世纪 60 年代。当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需要。能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。数据模型是数据库系统的核心和基础,各种 DBMS 软件都是基于某种数据模型的。所以通常也按照数据模型的特点将传统数据库系统分成网状数据库(Network database)、层次数据库(Hierarchical database)和关系数据库(Relational database)三类。

最早出现的是网状 DBMS,是美国通用电气公司 Bachman 等人在 1961 年开发成功的 IDS(IntegratedData Store)。1961 年通用电气公司的 CharlesBachman 成功地开发出世界上第一个网状 DBMS 也是第一个数据库管理系统——集成数据存储(IntegratedData Store,IDS),奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。

网状数据库模型对于层次和非层次结构的事物都能比较自然的模拟,在关系数据库出现之前网状 DBMS 要比层次 DBMS 用得普遍。在数据库发展史上,网状数据库占有重要地位。层次型 DBMS 是紧随网络型数据库而出现的。最著名最典型的层次数据库系统是 IBM 公司在 1968 年开发的 IMS(InformationManagement System),一种适合其主机的层次数据库。这是 IBM 公司研制的最早的大型数据库系统程序产品。

# 关系数据库的由来

网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。1970 年,IBM 的研究员 E.F.Codd 博士在刊物《Communication of the ACM》上发表了一篇名为“ARelational Model of Data for Large Shared Data Banks”的论文,提出了关系模型的概念(如图 7.4 左图所示),奠定了关系模型的理论基础。这篇论文被普遍认为是数据库系统历史上具有划时代意义的里程碑。Codd 的心愿是为数据库建立一个优美的数据模型。后来 Codd 又陆续发表多篇文章,论述了范式理论和衡量关系系统的 12 条标准,用数学理论奠定了关系数据库的基础。

关系模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。但是当时也有人认为关系模型是理想化的数据模型,用来实现 DBMS 是不现实的,尤其担心关系数据库的性能难以接受,更有人视其为当时正在进行中的网状数据库规范化工作的严重威胁。为了促进对问题的理解,1974 年 ACM 牵头组织了一次研讨会,会上开展了一场分别以 Codd 和 Bachman 为首的支持和反对关系数据库两派之间的辩论。这次著名的辩论推动了关系数据库的发展,使其最终成为现代数据库产品的主流。

1970 年关系模型建立之后,IBM 公司在 San Jose 实验室增加了更多的研究人员研究这个项目,这个项目就是著名的 System R。其目标是论证一个全功能关系 DBMS 的可行性。该项目结束于 1979 年,完成了第一个实现 SQL 的 DBMS。

同时,1973 年加州大学伯克利分校的 Michael Stonebraker 和 EugeneWong 利用 System R 已发布的信息开发自己的关系数据库系统 Ingres。他们开发的 Ingres 项目最后被 Oracle 公司、Ingres 公司以及硅谷的其他厂商所商品化。后来,System R 和 Ingres 系统双双获得 ACM 的 1988 年“软件系统奖”。1976 年 Honeywell(霍尼韦尔)公司开发了第一个商用关系数据库系统 ─MulticsRelational Data Store(MRDS)。

关系型数据库系统以关系代数为坚实的理论基础,经过几十年的发展和实际应用,技术越来越成熟和完善。其代表产品有 Oracle、IBM 公司的 DB2、微软公司的 MS SQLServer 以及 Informix、ADABASD 等等。

# 结构化查询语言

1974 年,IBM 的 Ray Boyce 和 DonChamberlin 将 Codd 关系数据库的 12 条准则的数学定义以简单的关键字语法表现出来,里程碑式地提出了 SQL(StructuredQuery Language)语言。SQL 语言的功能包括查询、操纵、定义和控制,是一个综合的、通用的关系数据库语言,同时又是一种高度非过程化的语言,只要求用户指出做什么而不需要指出怎么做。SQL 集成实现了数据库生命周期中的全部操作,提供了与关系数据库进行交互的方法。SQL 可以与标准的编程语言一起工作。自产生之日起,SQL 语言便成了检验关系数据库的试金石,而 SQL 语言标准的每一次变更都指导着关系数据库产品的发展方向。1986 年,ANSI 把 SQL 作为关系数据库语言的美国标准,同年公布了标准 SQL 文本。

1976 年 IBM 的 Codd 发表了一篇里程碑的论文“R 系统:数据库关系理论”,介绍了关系数据库理论和查询语言 SQL。随后,Oracle 的创始人 LarryEllison 非常仔细地阅读了这篇文章,敏锐意识到在这个研究基础上可以开发商用软件系统,而当时大多数人认为关系数据库不会有商业价值。几个月后,Ellison 他们就开发了 Oracle 1.0。今天,Oracle 数据库的最新版本为 11g,包括几乎所有的世界 500 强企业都在使用 Oracle 的数据库。

# 面向对象数据库

随着信息技术和市场的发展,人们发现关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理所谓的“表格型数据”,却对技术界出现的越来越多的复杂类型的数据无能为力。20 世纪 90 年代以后,技术界一直在研究和寻求新型数据库系统。但在什么是新型数据库系统的发展方向的问题上,产业界一度是相当困惑的。受当时技术风潮的影响,在相当一段时间内,人们把大量的精力花在研究“面向对象的数据库系统(Object OrientedDatabase)”或简称“OO 数据库系统”。

然而,数年的发展表明,面向对象的关系型数据库系统产品的市场发展的情况并不理想。理论上的完美性并没有带来市场的热烈反应。其不成功的主要原因在于,这种数据库产品的主要设计思想是企图用新型数据库系统来取代现有的数据库系统。这对许多已经运用数据库系统多年并积累了大量工作数据的客户,尤其是对大客户来说,是无法承受新旧数据间的转换而带来的巨大工作量及巨额开支的。另外,面向对象的关系型数据库系统使查询语言变得极其复杂,从而使得无论是数据库的开发商家还是应用客户都视其复杂的应用技术为畏途。

# 数据管理的变革:决策支持系统和数据仓库

20 世纪 60 年代后期出现了一种新型数据库软件:决策支持系统(Decision Support System,DSS),其目的是让管理者在决策过程中更有效地利用数据信息。

决策支持系统是辅助决策者通过数据、模型和知识,以人机交互方式进行半结构化或非结构化决策的计算机应用系统。它是管理信息系统向更高一级发展而产生的先进信息管理系统。它为决策者提供分析问题、建立模型、模拟决策过程和方案的环境,调用各种信息资源和分析工具,帮助决策者提高决策水平和质量。

1988 年,为解决企业集成问题,IBM 公司的研究员 BarryDevlin 和 Paul Murphy 创造性的提出了一个新的术语 ── 数据仓库(DataWarehouse)。之后,IT 厂商开始构建实验性的数据仓库。1991 年,W. H.Inmon 出版了一本“如何构建数据仓库”的书,使得数据仓库真正开始应用。

数据仓库是决策支持系统和联机分析应用数据源的结构化数据环境,是一个面向主题的(SubjectOriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(TimeVariant)的数据集合,用于支持管理决策(DecisionMaking Support)。

# 数据挖掘和商务智能

数据仓库和数据挖掘是信息领域中近年来迅速发展起来的数据库方面的新技术和新应用。其目的是充分利用已有的数据资源,把数据转换为信息,从中挖掘出知识,提炼成智慧,最终创造出效益。数据仓库和数据分析、数据挖掘的研究和应用,需要把数据库技术、统计分析技术、人工智能、模式识别、高性能计算、神经网络和数据可视化等技术相结合。

随着数据仓库、联机分析技术的发展和成熟,商务智能的框架基本形成,但真正给商务智能赋予“智能”生命的是它的下一个产业链 ── 数据挖掘。

数据挖掘是指通过分析大量的数据来揭示数据之间隐藏的关系、模式和趋势,从而为决策者提供新的知识。之所以称之为“挖掘”,是比喻在海量数据中寻找知识,就像从沙里淘金一样困难。

数据挖掘是数据量快速增长的直接产物。20 世纪 80 年代,它曾一度被专业人士称之为“基于数据库的知识发现”(Knowledge Discovery in Database,KDD)。数据仓库产生以后,如“巧妇”走进了“米仓”,数据挖掘如虎添翼,在实业界不断产生化腐朽为神奇的故事,其中,最为脍炙人口的当属啤酒和尿布。

话说 Wal-Mart(沃尔玛)拥有世界上最大的数据仓库,在一次购物篮分析之后,研究人员发现跟尿布一起搭配购买最多的商品竟是风马牛不相及的啤酒!这是对历史数据进行“挖掘”和深层次分析的结果,反映的数据层面的规律。但这是一个有用的知识吗?沃尔玛的分析人员也不敢妄下结论。经过大量的跟踪调查,终于发现事出有因:在美国,一些年轻的父亲经常要被妻子“派”到超市去购买婴儿尿布,有 30%到 40%的新生爸爸会顺便买点啤酒犒劳自己。沃尔玛随后对啤酒和尿布进行了捆绑销售,不出意料之外,销售量双双增加。这种点“数”成金的能力,是商务智能真正的“灵魂”和魅力所在。

1989 年,可谓数据挖掘技术兴起的元年。这一年,图灵奖的主办单位计算机协会下属的知识发现和数据挖掘小组(SIGKDD)举办了第一届学术年会,出版了专门期刊。此后,数据挖掘被一直追捧,成为炙手可热的话题,并如火如荼的发展。数据挖掘的内容将在本书第 8 章详细介绍。

也正是 1989 年,著名的高德纳 IT 咨询公司(GartnerGroup)为业界提出了商务智能的概念和定义。商务智能(Business Intelligent,BI)指的是一系列以数据为支持、辅助商业决策的技术和方法。商务智能在这个时候完全破茧而出,不是历史的巧合,因为正是数据挖掘这种新技术的出现,商务智能才真正有了“智能”内涵,这也标志着其完整产业链的形成。

商务智能指利用数据仓库、数据挖掘技术对客户数据进行系统地储存和管理,并通过各种数据统计分析工具对客户数据进行分析,提供各种分析报告,如客户价值评价、客户满意度评价、服务质量评价、营销效果评价、未来市场需求等,为企业的各种经营活动提供决策信息。商务智能也是企业利用现代信息技术收集、管理和分析结构化和非结构化的商务数据和信息,创造和累积商务知识和见解,改善商务决策水平,采取有效的商务行动,完善各种商务流程,提升各方面商务绩效,增强综合竞争力的智慧和能力。

# 参考

选自:王伟,《计算机科学前沿技术》,清华大学出版社,2012

最近更新: 4 小时前