1.5 数据库系统的发展
1.5.1 数据库系统发展的阶段
数据库技术是计算机科学与技术中发展最快的分支之一。从20世纪60年代末数据库技术诞生至今,按照数据模型发展的阶段划分,数据库系统的发展大致可划分为三代。
1. 第一代数据库系统
采用格式化模型的数据库系统属于第一代数据库系统。格式化模型的数据库系统在20世纪70年代至80年代初非常流行,后逐渐被关系数据库系统所取代。层次模型数据库系统的典型代表是IBM公司的IMS(Information Management System);网状模型的典型代表是DBTG系统,它是20世纪70年代数据库系统语言研究会CODASYL(Conference On Data Systems Language)下属的数据库任务组(Data Base Task Group)提出的一个系统方案。
第一代数据库系统的主要特点有:
(1)支持三级模式体系结构。
(2)用存取路径表示实体间的联系。层次模型用有向树结构表示实体以及实体间的联系;网状模型用有向图结构表示实体以及实体间的联系。
(3)导航式的数据操纵语言。导航是指应用程序需要一步一步地按照数据库中预先定义的存取路径来访问数据库,最终到达要访问的数据目标。访问数据库时,每次只能存取一条记录。
2. 第二代数据库系统
第二代数据库系统是指支持关系模型的关系数据库系统。1970年,美国IBM公司San Jose研究室的研究员E.F.Codd提出数据库的关系模型,之后,又提出了关系代数和关系演算以及范式的概念,开始了数据库关系方法和关系理论的研究,这是对数据库技术的一个重大突破。E.F.Codd的工作奠定了关系数据库的理论基础,为此他获得了1981年的ACM图灵奖。在20世纪70年代末,关系数据库的软件系统研制也取得了成果,最具代表性的实验系统有IBM公司研制的System R和美国加州大学伯克利分校研制的INGRES,商用系统则有由System R发展而来的SQL/DS以及由INGRES实验系统发展而来的INGRES关系数据库软件产品。自20世纪80年代以来,数据库管理系统产品几乎都是支持关系模型的,数据库领域当前的很多研究工作也都是以关系方法为基础的。经过30多年的历程,关系数据库系统的研究和开发取得了辉煌的成就。关系数据库成为最重要、应用最广泛的数据库系统,如广泛使用的小型数据库系统Foxpro、Access,大型数据库系统Oracle、SQL Server、Sybase、DB2、Informix等都是关系数据库系统。
第二代数据库系统的主要特点有:
(1)概念单一,实体以及实体之间的联系都用关系表示。
(2)以关系代数为基础,形式化基础好。
(3)数据独立性强,数据的物理存取路径对用户屏蔽。
(4)关系数据语言实现了标准化,即创建了SQL(Structured Query Language)。关系数据语言是非过程化的,它将用户从数据库记录的导航式检索中解脱出来,大大降低了编程的难度。
通常,将第一代数据库系统和第二代数据库系统称为传统数据库系统。由于传统数据库系统特别是关系数据库系统具有许多优点,它们被广泛用于数据管理,并被应用到许多新领域。如计算机辅助设计/计算机辅助制造(CAD/CAM)、计算机辅助工程(CASE)、地理信息处理、智能信息处理等,这些新领域的应用不仅需要传统数据库所具有的快速检索和修改数据的特点,而且提出了一些新的数据管理需求,如要求数据库能够处理声音、图像、视频等多媒体数据。因此传统数据库在这些新领域中暴露了其局限性,已经不能完全满足应用的需要。在这种情况下,新一代数据库技术应运而生。
3. 第三代数据库系统
第三代数据库系统是指以更丰富的数据模型、更强大的数据管理能力为特征,满足更广泛更复杂的新应用需求的各类数据库系统的大家族。这些新的数据库系统包括:面向对象数据库、分布式数据库、并行数据库、工程数据库、统计数据库、空间数据库等。
1990年,高级DBMS功能委员会发表了《第三代数据库系统宣言》,提出了第三代数据库管理系统的三个基本特征:
(1)第三代数据库系统应支持数据管理、对象管理和知识管理。
(2)第三代数据库系统必须保持或继承第二代数据库系统的技术。即必须保持第二代数据库系统的非过程化数据存取方式和数据独立性等特性。
(3)第三代数据库系统必须对其他系统开放。数据库系统的开放性表现在:支持数据库语言标准,支持网络标准,系统具有良好的可移植性、可连接性、可扩展性和互操作性等。