查尔斯·巴赫曼
20世纪60年代中期以来,数据库技术的形成、发展和日趋成熟,使计算机数据处理技术跃上了一个新台阶,并从
而极大地推动了计算机的普及与应用。因此,1973年的图灵奖首次授予在这方面作出杰出贡献的数据库先驱查尔斯·巴赫曼(CharlesW.Bachman)。
巴赫曼1924年12月11日生于堪萨斯州的曼哈顿。1948年在密歇根州立大学取得工程学士学位,1950年在宾夕法尼亚大学取得硕土学位。20世纪50年代在Dow化工公司工作,1961—1970年在通用电气公司任程序设计部门经理,1970—1981年在Honeywell公司任总工程师,同时兼任Cullinet软件公司的副总裁和产品经理。Cullinet公司对中国人来说知之者不多,但这个公司当时在美国很有名气,它是1978年第一家在纽约股票交易所上市的软件公司,其时微软在新墨西哥州的阿尔伯克基开张不久,鲜为人知,它的股票是1986年上市的,比Cullinet晚8年之久。但Cullinet最终被CA公司购并。1983年巴赫曼创办了自己的公司BachmanInformationSystem,Inc.。
巴赫曼在数据库方面的主要贡献有两项,第一就是前面说的,在通用电气公司任程序设计部门经理期间,主持设计与开发了最早的网状数据库管理系统IDS。IDS于1964年推出后,成为最受欢迎的数据库产品之一,而且它的设计思想和实现技术被后来的许多数据库产品所仿效。其二就是巴赫曼积极推动与促成了数据库标准的制定,那就是美国数据系统语言委员会CODASYL下属的数据库任务组DBTG提出的网状数据库模型以及数据定义和数据操纵语言即DDL和DML的规范说明,于1971年推出了第一个正式报告——DBTG报告,成为数据库历史上具有里程碑意义的文献。该报告中基于IDS的经验所确定的方法称为DBTG方法或CODASYL方法,所描述的网状模型称为DBTG模型或CODASYL模型。DBTG曾希望美国国家标准委员会ANSI接受DBTG报告为数据库管理系统的国家标准,但是没有成功。1971年报告之后,又出现了一系列新的版本,如1973、1978、1981年和1984年的修改版本。DBTG后来改名为DBLTG(DataBaseLanguageTaskGroup,数据库语言工作小组)。DBTG首次确定了数据库的三层体系结构,明确了数据库管理员DBA(DataBaseAdministrator)的概念,规定了DBA的作用与地位。DBTG系统虽然是一种方案而非实际的数据库,但它所提出的基本概念却具有普遍意义,不但国际上大多数网状数据库管理系统,如IDMS、PRIMEDBMS、DMSl70、DMSⅡ和DMS1100等都遵循或基本遵循DBTG模型,而且对后来产生和发展的关系数据库技术也有很重要的影响,其体系结构也遵循DBTG的三级模式(虽然名称有所不同)。下面我们简要介绍一下DBTG的系统结构。
DBTG的系统结构如上图所示,主要包括模式(schema)、子模式(subschema)、物理模式(physicalschema)、数据操纵和数据库管理系统(DBMS,DataBaseManagementSystem)等几个部分。模式是对数据库整体数据逻辑结构的描述,它对应数据库的概念层,由数据库管理员借助模式数据描述语言DDL(DataDescriptionLanguage)建立。子模式是某一用户对他所关心的那部分数据的数据结构的描述,对应于数据库的外层或用户视图(userview),是由该用户自己或委托数据库管理员借助子模式数据描述语言加以定义的。物理模式或叫存储模式(storageschema)是对数据库的数据的存储组织方式的描述,对应于数据库的物理层,由数据库管理员通过数据存储描述语言DSDL(DataStorageDescriptionLanguage)加以定义(DSDL是DBTG报告的1978年版本提出的,之前的报告用的名称叫数据介质控制语言DMCLDataMediaControlLanguage)。数据库可由多个用户、多个应用共享,数据库应用程序利用数据操纵语言DML(DataManupilationLanguage)实现对数据库数据的操纵,但一个应用程序必须援引某一模式的某一子模式(也就是说它操作的数据限于某一用户视图中的数据)。DML语句可以嵌在宿主语言(如COBOL,Fortran等)中,在数据库管理系统的控制下访问数据库中的数据,并通过一个称为用户工作区UWA(UserWorkArea)的缓冲区与数据库通信,完成对数据库的操作。数据库管理系统的其他功能包括维护数据库中数据的一致性(consistency)、完整性(integrity)、安全性(security)和一旦出现故障情况下的恢复(recovery),以及在多个应用程序同时存取同一数据单元时处理并发性(concurrency),以避免出现“脏数据”(dirtydata)或“丢失更新”(10seupdate)等不正常现象。由此可见,有关模式的数据描述语言DDL是建立数据库的工具,数据操纵语言DML是操作数据库、存取其中的数据的工具,而数据库管理系统DBMS则是执行这种操作并负责维护与管理数据库的工具,它们各司其职,完成数据库整个生命期中的一切活动。
由于巴赫曼在以上两方面的杰出贡献,巴赫曼被理所当然地公认为“网状数据库之父”或“DBTG之父”,在数据库技术的产生、发展与推广应用等各方面都发挥了巨大的作用。
在数据库的文档资料中,有一种描述网状数据库模型的数据结构图,这种图解技术是巴赫曼发明的,通常被称为“巴赫曼图”(Bachmandiagram)。此外,在担任ISO/TC97/SC—16主席时,巴赫曼还主持制定了著名的“开放系统互连”标准,即OSI(OpenSystemInterconection)。OSI对计算机、终端设备、人员、进程或网络之间的数据交换提供了一个标准规程,实现OSI对系统之间达到彼此互相开放有重要意义。巴赫曼也是建立在波士顿的计算机博物馆的创始人之20世纪70年代以后,由于关系数据库的兴起,网状数据库受到冷落。但随着面向对象技术的发展,有人预言网状数据库将有可能重新受到人们的青睐。但无论这个预言是否实现,巴赫曼作为数据库技术先驱的历史作用和地位是学术界和产业界普遍承认的。
巴赫曼是在1973年8月28日在亚特兰大举行的ACM年会上接受图灵奖的,他发表了题为“作为导航员的程序员”(TheProgrammerasNavigator)的图灵奖演说,刊载于CommunicationsofACM,1974年11月,653-658页,也可见《前20年的ACM图灵奖演说集》(ACMTuringAwardLecturesTheFirst20Yean:1966—1985,ACMPr.),269,286页。