查尔斯·巴赫曼查看源代码讨论查看历史
查尔斯·巴赫曼 |
cha er si ·ba he man |
中文名:查尔斯·巴赫曼 毕业院校:密歇根州立大学 出生地:堪萨斯州的曼哈顿 出生日期:1924年12月11日 |
20世纪60年代中期以来,数据库技术的形成、发展和日趋成熟,使计算机数据处理技术跃上了一个新台阶,并从而极大地推动了计算机的普及与应用。因此,1973年的图灵奖首次授予在这方面作出杰出贡献的数据库先驱查尔斯·巴赫曼(CharlesW.Bachman)。[1]
人物生平
巴赫曼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的系统结构
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年代以后,由于关系数据库的兴起,网状数据库受到冷落。但随着面向对象技术的发展,有人预言网状数据库将有可能重新受到人们的青睐。但无论这个预言是否实现,巴赫曼作为数据库技术先驱的历史作用和地位是学术界和产业界普遍承认的。
发表的文章
巴赫曼发表了很多文章和论文,下面仅列出部分文章
1962年。"Precedence Diagrams: The Key to Production Planning, Scheduling and Control." In: ProCo Features. Supplement No 24, August 24. .
1965年。"Integrated Data Store." in: DPMA Quarterly, January 1965.
1969年。"Software for Random Access Processing." in: Datamation April 1965.
1969年。"Data Structure Diagrams." in: DataBase: A Quarterly Newsletter of SIGBDP. vol. 1, no. 2, Summer 1969.
1972年。"Architecture Definition Technique: Its Objectives, Theory, Process, Facilities, and Practice." co-authored with J.
Bouvard. in: Data Description, Access and Control: Proceedings of the 1972 ACM-SIGFIDET Workshop, November 29-December 1, 1972.
1972年。"The Evolution of Storage Structures." In: Communications of the ACM vol. 15, no. 7, July 1972.
1972-73年。"Set Concept for Data Structure." In: Encyclopedia of Computer Science, 1972-1973.
1973年。"The Programmer as Navigator." In: Communications of the ACM vol. 16, no. 11, November 1973.
1974年。"Implementation Techniques for Data Structure Sets." In: Data Base Management Systems, 1974.
1977年。"Why Restrict the Modeling Capability of Codasyl Data Structure Sets?" In: National Computer Conference vol. 46, 1977.
1978年。"Commentary on the CODASYL Systems Committee's Interim Report on Distributed Database Technology." National Computer Conference vol. 47, 1978.
1978年。"DDP Will Be Infinitely Affected, So Managers Beware!" in: DM, March 1978.
1980年。"The Impact of Structured Data Throughout Computer-Based Information Systems." In: Information Processing 80, 1980.
1980年。"The Role Data Model Approach to Data Structures." In; International Conference on Data Bases, March 24, 1980.
1982年。"Toward a More Complete Reference Model of Computer-Based Information Systems." Co-authored with Ronald G. Ross. In: Computers and Standards 1, 1982.
1983年。"The Structuring Capabilities of the Molecular Data Model." In; Entity-Relationship Approach to Software Engineering. C. G. Davis, S. Jajodia, and R. T. Yeh. eds. June 1983.
1987. "A Case for Adaptable Programming." In: Logic vol. 2, no. 1, Spring 1987.
1989年。"A Personal Chronicle: Creating Better Information Systems, with Some Guiding Principles." In: IEEE Transactions on Knowledge and Data Engineering vol. 1, no. 1, March 1989.
成就及荣誉
巴赫曼是在1973年8月28日在亚特兰大举行的ACM年会上接受图灵奖的,他发表了题为“作为导航员的程序员”(TheProgrammerasNavigator)的图灵奖演说,刊载于CommunicationsofACM,1974年11月,653-658页,也可见《前20年的ACM图灵奖演说集》(ACMTuringAwardLecturesTheFirst20Yean:1966—1985,ACMPr.),269,286页。
计算机数据处理发展史
为了说明巴赫曼的功绩,让我们先简要回顾一下计算机数据处理发展的历史。
20世纪40年代
计算机在20世纪40年代诞生之初只用于科学与工程计算,不能用于数据处理,因为当时的计算机还只能处理数字,不能处理字母和符号,而字母和符号恰是数据处理中的主要处理对象。此外,当时的计算机也还没有数据处理所需要的大容量存储器。
20世纪50年代
20世纪50年代初,发明了字符发生器(CharacterGenerator),使计算机具有了能显示、存储与处理字母及各种符号的能力;又成功地将高速磁带机用于计算机作存储器,这是对计算机得以进入数据处理领域具有决定意义的两大技术进展。但是磁带只能顺序读写,速度也慢,不是理想的存储设备。
1956年
1956年,IBM公司和RemingtonRand公司先后实验成功磁盘存储器方案,推出了商用磁盘系统。磁盘不但转速快,容量大,还可以随机读写,为数据处理提供丁更加理想的大容量、快速存储设备。有了这些硬件的支持,计算机数据处理便日益发展起来。
但是,初期的数据处理软件只有文件管理(filemanagement)这种形式,数据文件和应用程序一一对应,造成数据冗余,数据不一致性和数据依赖(datadependence)。所谓数据依赖就是编写程序依赖于具体数据,拿COBOL这种常用的商用语言来说吧,程序员必须在数据部的文件节(DATADIVISION,FILESECTION)中详细说明文件中各数据项的类型和长度、格式,在设备部的输入一输出节(ENVIRON—MENTDIVISION,INPUT-OUTPUTSECTION)中还要通过SELECT语句和ASSIGN语句把文件和具体设备联系起来,并使用ORGANIZATION语句和ACCESSMODE语句严格规定文件的组织方式和存取方式。根据这些具体规定,程序员再在过程部(PROCEDUREDIVISION)中用一系列命令语句导航,才能使系统完成预期的数据处理任务。应用程序与数据的存储、存取方式密切相关这种状况给程序的编制、维护都造成很大的麻烦。
后来出现了文件管理系统FMS(PileManagementSystem)作为应用程序和数据文件之间的接口,一个应用程序通过FMS可以和若干文件打交道,在一定程度上增加了数据处理的灵活性。但这种方式仍以分散、互相独立的数据文件为基础,数据冗余、数据不一致性、处理效率低等问题仍不可避免。这些缺点在较大规模的系统中尤为突出。以美国在20世纪60年代初制定的阿波罗登月计划为例,阿波罗飞船由约200万个零部件组成,它们分散在世界各地制造生产。为了掌握计划进度及协调工程进展,阿波罗计划的主要合约者Rock-well公司曾研制、开发了一个基于磁带的零部件生产计算机管理系统,系统共用了18盘磁带,虽然可以工作,但效率极低,18盘磁带中60%是冗余数据,维护十分困难。这个系统的状况曾一度成为实现阿波罗计划的重大障碍之一。
针对上述问题,各国学者、计算机公司、计算机用户以及计算机学术团体纷纷开展研究,为改革数据处理系统进行探索与试验,其目标主要就是突破文件系统分散管理的弱点,实现对数据的集中控制,统一管理。结果就是出现了一种全新的高效的管理技术——数据库技术。Rockwell公司就与IBM公司合作,在当时新推出的IBM360系列上研制成功了世界上最早的数据库管理系统之一IMS(1nformationManagementSystem),为保证阿波罗飞船1969年顺利登月作出了贡献。IMS是基于层次模型的。几乎同时,巴赫曼在通用电气公司主持设计与实现了网状的数据库管理系统IDS(IntegratedDataSystem)。