|
|
|
|
移动端

1.5 数据库管理系统的历史

《数据库系统:设计、实现与原理(基础篇)(原书第6版)》第1章数据库简介,本章将首先介绍数据库系统。本节为大家介绍数据库管理系统的历史。

作者:宁洪/贾丽丽/张元昭 译来源:机械工业出版社|2017-09-27 15:17

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

1.5 数据库管理系统的历史

如前所述,DBMS的前身是基于文件的系统。然而,历史上并不存在一个严格的分界线,表明数据库时代开始,基于文件的系统时代结束。实际上,在特定的领域中,基于文件的系统仍在使用。已经有人提出,DBMS是在20世纪60年代的阿波罗登月计划中出现的,该计划是为了响应时任美国总统肯尼迪提出的在20世纪60年代末将人送上月球的号召而发起的。当时,没有任何一个系统可以胜任处理和管理这个计划中可能产生的巨大数据量。

结果,计划主要承担者—美国北美航空公司(NAA,现在是洛克维尔国际组织)开发了著名的软件GUAM(Generalized Update Access Method,通用的更新访问方法)。GUAM是基于这样一个概念:多个较小构件组成较大构件,直到组装成最终的产品。这符合倒置树的结构,也称为层次结构。在20世纪60年代中期,IBM加入NAA中,将GUMA发展成现在称为IMS(Information Management System,信息管理系统)的系统。IBM限制IMS仅用于管理层次记录,是为了有效使用顺序存储设备,特别是磁带,这符合当时的市场需求。这个限制在后来被放松了。虽然是最早的商品化DBMS之一,IMS现在仍然是最主要的层次DBMS,被许多大型机装载使用。

在20世纪60年代中期,另一个主要的成就来自于美国通用电气公司的IDS(Integrated Data Store,综合数据存储器)。这项工作是由最早的数据库系统的倡导者之一—Charles Bachmann所领导的。这导致了一个新型的、称为网状DBMS的数据库系统的出现,对那个时代的信息系统产生了深远的影响。网状数据库得以发展的原因一部分是为了解决复杂得不能被层次结构模型化的数据关系,一部分是为了强调数据库标准。为了帮助建立这样的标准,包含了美国政府和工商界代表的数据系统语言会议(CODASYL)在1965年成立了表处理任务组,后来在1967年更名为数据库任务组(Data Base Task Group,DBTG)。DBTG的参考术语定义了数据库环境的标准规范,涉及数据库创建和数据操作等内容。1969年发布了DBTG草案,第一个正式的报告于1971年面世。DBTG报告包含三个部分:

网状模式:DBA所看到的整个数据库的逻辑结构,包含数据库名称的定义、每个记录的类型,以及每个记录类型的内部组成。

子模式:用户或者应用程序所看到的数据库部分。

一种数据管理语言,用于定义数据属性和结构以及操作数据。

为了标准化,DBTG指定了三种不同的语言:

模式DDL,帮助DBA定义模式。

子模式DDL,帮助应用程序定义它们需要的数据库部分。

DML,用于操作数据。

尽管这个报告没有被美国国家标准协会(ANSI)正式接受,但一些系统后来还是按照DBTG的方案进行开发。这些系统就是大家所知道的CODASYL或DBTG系统。CODASYL和层次方法代表了第一代DBMS。可以在本书的网站(URL可在前言中找到)上看到这些系统的详细描述。然而,这两种数据模型有以下基本的不足:

必须编写复杂的程序,即使是只需要完成基于记录访问的简单查询。

数据的独立性差。

没有被广泛接受的理论基础。

1970年,IBM研究实验室的E. F. Codd发表了一篇具有很大影响的关于关系数据模型的论文。这篇论文的发表十分及时,解决了之前方法的不足之处。从那以后,许多试验性的关系DBMS被开发,并且在20世纪70年代末、80年代初出现了最早的商业产品。其中最引人注意的是加利福尼亚州的IBM San Jos檠芯渴笛槭业腟ystem R项目,该项目是在20世纪70年代末开发的(Astrahan et al.,1976)。这个项目的开发旨在通过实现数据结构和操作来证明关系模型的实用性,并且直接导致了两个成果:

结构查询语言—SQL的问世,这个语言从那时起成为关系DBMS的标准语言。

自20世纪80年代起各类商品化关系DBMS产品层出不穷,例如IBM的DB2、SQL/DS和Oracle公司的Oracle等。

现在已经有了几百个面向大型机和PC环境的关系DBMS,尽管其中的许多对关系模型定义进行了扩展。另外一些多用户的关系DBMS的例子包括Oracle公司的MySQL、Actian公司的Ingres、Microsoft的SQL Server和IBM公司的Informix。基于个人计算机的关系DBMS包括Microsoft的Office Access和Visual FoxPro、Embarcadero Technologies公司的InterBase和Jdatastore以及R:Base Technologies公司的R:Base。关系DBMS被称为第二代DBMS。第4章将讨论关系数据模型。

关系模型并非没有缺点,尤其是其受限的建模能力。长久以来有许多研究试图解决这个问题。1976年Chen曾提出了实体-联系模型,现在已被广泛接受为概念数据库设计技术,并将作为本书第16和17章内容的基础。1979年,Codd试图通过一个称为RM/T(1979)和后续的RM/V2(1990)的关系模型扩展版本,来解决他初始工作中的一些不足之处。扩展关系模型更加接近于实际世界的描述,被统一归类为语义数据建模。

为了适应越来越复杂的数据库应用,出现了两类新的系统:面向对象的DBMS(OODBMS)和对象关系的DBMS(ORDBMS)。然而,不同于先前的各种数据模型,这些模型的实际组成并不清晰。这些演变导致了第三代DBMS的出现,将在本书第9章和第27~28章详细讨论。

进入20世纪90年代后,Internet、三层C/S结构、单位的数据库必须与Web应用集成成为趋势,势不可挡。90年代后期又出现了XML(可扩展标记语言),它对IT的许多方面产生了显著影响,包括数据集成、图形界面、嵌入式系统、分布式系统和数据库系统。我们将在第29和30章分别讨论Web数据库集成和XML。

一些专门的DBMS也被推出,例如数据仓库。数据仓库能从不同的数据源抽取数据,这些数据源可能原本是由组织机构内不同部门分别维护的。数据仓库这类系统提供数据分析机制,可理解的分析结果能用于决策支持,例如找出历史趋势之类。所有主流的数据库供应商都给出了数据仓库解决方案。我们将在第31~32章讨论数据仓库。专用系统的另一个例子是企业资源规划(ERP),它一般是建在DBMS之上的一个应用层,集成了一个组织机构的所有业务功能,包括制造、销售、财务、市场、运输、库存和人力资源。流行的ERP系统有SAP的SAP R/3和Oracle的PeopleSoft。图1-10总结了数据库系统的发展史。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Grails权威指南

本书译自Grails项目负责人Graeme Keith Rocher所著的“The Definitive Guide to Grails”一书,着重介绍了如何在Grails框架下使用Groovy语...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊