1.2 数据库系统发展史

  数据库系统从20世纪50年代萌芽,60年代中期产生,到如今,已经超过60年的历史。短短60多年,数据库系统已从第一代的层次型、网状数据库系统,第二代的关系型数据库系统,发展到第三代以面向对象模型为主要特征的数据库系统。其中,数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等互相渗透,互相结合,成为当前数据库技术发展的主要特征。

1.2.1 文件系统

  文件系统是数据库系统的萌芽阶段,出现在20世纪中期,可以提供简单的数据存取功能,但无法提供完整、统一的数据管理功能,例如复杂查询等。所以在管理较少、较简单的数据或者只是用来存取简单数据,没有复杂操作的情况下,会使用文件系统。

1.2.2 层次型、网状数据库系统

  从20世纪60年代开始,第一代数据库系统(层次型数据库系统、网状数据库系统)相继问世,它们为统一管理和共享数据提供了有力的支撑。在这个时期,由于数据库系统的蓬勃发展,形成了著名的“数据库时代”。当然,这两种类型的数据库系统也有一定的不足,最主要表现在它们均脱胎于文件系统,因此,受文件物理结构的影响较大,用户在使用数据库时,需要对数据的物理结构有详细的了解,这对使用数据库带来了许多麻烦。同时,数据库中表示数据模式的结构方式过于烦琐,也影响了数据库应用中越来越多的复杂要求的实现。

  在这个阶段,网状数据库由于其复杂性、专用性,没有被广泛使用。而在层次型数据库中,IBM公司的IMS(Information Management System,信息管理系统)层次型数据库系统则得到了极大的发展,一度成为最大的数据库管理系统,拥有巨大的客户群。

1.2.3 关系型数据库系统

  20世纪70年代初,关系型数据库系统开始走上历史舞台,并一直保持着蓬勃的生命力。

  自1970年IBM研究员德加•考特发表论文,阐述了关系模型的概念后,IBM大力投入关系型数据库系统的研究。关系型数据库底层实现起来比较容易,所以很快被采用,并进入了众多商业数据库的研发计划。Oracle就是当时因关系数据模型的出现,而成立的一家专做关系型数据库系统的公司,之后IBM公司的关系型数据库系统DB2问世。这时关系型数据库系统开始逐步取代层次型数据库系统,成为占主导地位的数据库系统。到目前为止,关系型数据库系统仍占有数据库系统的主导地位。

  关系型数据库系统使用结构化查询语言(Structured Query Language,SQL)作为数据库定义语言DDL和数据库操作语言DML。这种语言和普通的面向过程的语言(如C语言)以及面向对象的语言(如Java)不同,它一诞生,就成为关系型数据库的标准语言。可以这么说,要想学习数据库,必须学习关系型数据库系统,要想学习关系型数据库系统就必须学习SQL结构化查询语言。

1.2.4 面向对象数据库系统

  由于计算机应用的发展,计算机已从传统的科学计算、事务处理等领域,逐步扩展到工程设计统计、人工智能、多媒体、分布式等领域,这些新的领域需要有新的数据库支撑,而传统关系型数据库系统是以商业应用、事务处理为背景而发展起来的,它并不完全适用于新领域。

  另外程序设计开发也逐渐从面向过程编程转向面向对象编程,从面向对象的角度设计、编写程序。把面向对象的方法和数据库技术结合起来,可以使数据库系统的分析、设计最大限度地与人们对客观世界的认识相一致,并且能够有效地为面向对象程序提供更好的数据库支撑。所以面向对象数据库系统是为了满足新的数据库应用需要而产生的新一代数据库系统。

  除了面向对象数据库系统,新一代数据库系统还包括分布式数据库系统、并行数据库系统、多媒体数据库系统等,这里不再一一讲述。