面向对象的程序设计语言
1. 第一代:层次和网状数据库:
(1) 层次数据库系统:
IBM公司于1968年研制成功的数据库管理系统(IMS---Information Management System信息管理系统),允许多个COBOL程序共享数据库,该系统的设计是面向程序员的,操作难度较大。但由于IBM公司产品竞争力强,因此,IMS成了较为著名的数据库系统,曾得到广泛的使用。
层次数据库IMS是世界上第一个DBMS系统,采用层次数据模型,只能处理数据之间1:1和1:N的关系。
(2) 网状数据库系统:
1969年10月CODASYL(Conference on Data System Language数据系统语言协会)组织的下属组织DBTG(Data
Base Task Group数据库任务组)提出了关于网状模型的数据库系统。该组织一系列关于数据库的工作和报告澄清了许多数据库的概念,为数据库的成熟奠定了基础。DBTG报告规定了网状数据库所有的术语和规范。网状数据库系统提供:
・ 数据定义语言 DDL (Data Description Language)
・ 数据操纵语言 DML (Data manipulation Language)
网状数据库系统均以美国的 CODASYL的 DBTG报告为基础。网状模型可以描述现实世界中数据之间的1:1、1:N和M:N(多对多)的关系。但是,要处理多对多的关系还要进行转换,操作也不方便。
2. 第二代:关系数据库系统RDBMS(Relational DBMS)
1970年6月IBM公司San Joe研究所的E.F.Code发表了"大型共享数据库的数据关系模型"论文,提出了关系数据库模型的概念,奠定了关系数据库数据模型的理论基础,使数据库技术成为计算机科学的重要分支,开创了数据库的关系方法和关系规范化的研究。关系方法由于理论上的完美和结构上的简单,对数据库技术的发展起到了关键性的作用。从此一些关系数据库系统陆续出现。1974年,IBM公司的San
Joe研究所研制成功了关系数据库管理系统System R。而1984年David Marer所著"关系数据库理论"一书标志着关系数据库理论的成熟。
80年代是关系数据库发展的鼎盛时期,并且至今久盛不衰。它的最大优点是:
・ 使用了非过程化的数据库语言SQL;
・ 具有很好的形式化理论基础,高度的数据独立性;
・ 使用方便,二维表格可直接处理多对多的关系。
目前我国应用较多的RDBMS有ORACLE, SQL SERVER,INFORMIX,DB2,SYBASE等。
由于关系数据库的许多优点,如具有很好的形式化基础,高度的数据独立性,非过程化的数据库语言,以及很方便的利用二维关系表可以直接处理1:1,1:N和M:N(多对多)的关系,使得关系数据库到了21世纪仍然被得到广泛的应用。
程序语言分为过程化的语言和非过程化的语言。所谓过程化的语言是指要提出"做什么",必须明确指明如何去做才能完成你的命令。如我们已经学习过的程序设计语言:C和PASCAL等都是过程化的语言。在这些语言编程过程中,你要打印一个数据,你必须指明如何找到这个数据的过程,也就是要指明它的存储位置或变量。而非过程化的语言,是指你只要提出"做什么",不用指明如何去做,系统自动就能完成你的任务。关系数据库语言SQL就是非过程化的语言。
3. 第三代:面向对象的数据库系统OODBMS(Object Oriented DBMS)
随着计算机技术的发展,计算机的应用领域不断扩大,由科学计算到企业资源管理,到工程设计领域,如计算机辅助设计CAD,计算机辅助制造CAM,多媒体应用,人工智能等领域,这些新的领域,对数据库技术提出了许多非传统的应用要求:
・ 存储和管理大量复杂的数据和实体,如:多媒体数据、图形图像数据、超文本数据、空间数据和时态数据等。这些复杂的数据类型是关系数据库中不能完全支持的。
・ 保留设计的历史和设计的版本数据。在工程设计过程中,一个设计部件会有多种设计阶段,每个设计阶段又会有多个不同的设计方案,每个设计方案又可产生不同的设计修订版。为了支持工程设计过程的反复性和试探性设计,需要保留每个设计对象的多个版本。
・ 存储大量标准部件和工程数据。存储大量国标或部标的标准数据及工程设计要求、规范等数据。
・ 随着工程设计的进展,设计对象的模型结构也会有变化,数据模型要能动态的修改等。
随着新的应用领域的要求,在20世纪80年代后期出现了支持面向对象数据模型的面向对象数据库管理系统OODBMS。已经商品化的OODBMS如objectStore、ONTOS、VERSANT、GemStore等。
|