查爾斯·巴赫曼
人物生平
巴赫曼1924年12月11日生于 堪薩斯州的 曼哈頓。1948年在 密歇根州立大學(xué)取得工程 學(xué)士學(xué)位,1950年在 賓夕法尼亞大學(xué)取得碩士學(xué)位。20世紀(jì)50年代在Dow化工公司工作,1961—1970年在 通用電氣公司任程序設(shè)計(jì) 部門(mén)經(jīng)理,1970—1981年在Honeywell公司任總工程師,同時(shí)兼任Cullinet 軟件公司的副總裁和 產(chǎn)品經(jīng)理。Cullinet公司對(duì) 中國(guó)人來(lái)說(shuō)知之者不多,但這個(gè)公司當(dāng)時(shí)在美國(guó)很有名氣,它是1978年第一家在紐約股票交易所上市的軟件公司,其時(shí) 微軟在 新墨西哥州的 阿爾伯克基開(kāi)張不久, 鮮為人知,它的股票是1986年上市的,比Cullinet晚8年之久。但Cullinet最終被 CA公司購(gòu)并。1983年巴赫曼創(chuàng)辦了自己的公司BachmanInformationSystem,Inc.。
主要貢獻(xiàn)
巴赫曼在數(shù)據(jù)庫(kù)方面的主要貢獻(xiàn)有兩項(xiàng),第一就是前面說(shuō)的,在通用電氣公司任程序設(shè)計(jì)部門(mén)經(jīng)理期間,主持設(shè)計(jì)與開(kāi)發(fā)了最早的網(wǎng)狀數(shù)據(jù)庫(kù)管理系統(tǒng)IDS。IDS于1964年推出后,成為最受歡迎的數(shù)據(jù)庫(kù)產(chǎn)品之一,而且它的設(shè)計(jì)思想和實(shí)現(xiàn)技術(shù)被后來(lái)的許多數(shù)據(jù)庫(kù)產(chǎn)品所仿效。其二就是巴赫曼積極推動(dòng)與促成了數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)的制定,那就是美國(guó)數(shù)據(jù)系統(tǒng)語(yǔ)言委員會(huì)CODASYL下屬的數(shù)據(jù)庫(kù)任務(wù)組DBTG提出的網(wǎng)狀數(shù)據(jù)庫(kù)模型以及數(shù)據(jù)定義和數(shù)據(jù)操縱語(yǔ)言即DDL和DML的規(guī)范說(shuō)明,于1971年推出了第一個(gè)正式報(bào)告——DBTG報(bào)告,成為數(shù)據(jù)庫(kù)歷史上具有里程碑意義的文獻(xiàn)。該報(bào)告中基于IDS的經(jīng)驗(yàn)所確定的方法稱為DBTG方法或CODASYL方法,所描述的網(wǎng)狀模型稱為DBTG模型或CODASYL模型。DBTG曾希望美國(guó)國(guó)家標(biāo)準(zhǔn)委員會(huì)ANSI接受DBTG報(bào)告為數(shù)據(jù)庫(kù)管理系統(tǒng)的國(guó)家標(biāo)準(zhǔn),但是沒(méi)有成功。1971年報(bào)告之后,又出現(xiàn)了一系列新的版本,如1973、1978、1981年和1984年的修改版本。DBTG后來(lái)改名為DBLTG(DataBaseLanguageTaskGroup,數(shù)據(jù)庫(kù)語(yǔ)言工作小組)。DBTG首次確定了數(shù)據(jù)庫(kù)的三層體系結(jié)構(gòu),明確了數(shù)據(jù)庫(kù)管理員DBA(DataBaseAdministrator)的概念,規(guī)定了DBA的作用與地位。DBTG系統(tǒng)雖然是一種方案而非實(shí)際的數(shù)據(jù)庫(kù),但它所提出的基本概念卻具有普遍意義,不但國(guó)際上大多數(shù)網(wǎng)狀數(shù)據(jù)庫(kù)管理系統(tǒng),如IDMS、PRIMEDBMS、DMSl70、DMSⅡ和DMS1100等都遵循或基本遵循DBTG模型,而且對(duì)后來(lái)產(chǎn)生和發(fā)展的關(guān)系數(shù)據(jù)庫(kù)技術(shù)也有很重要的影響,其體系結(jié)構(gòu)也遵循DBTG的三級(jí)模式(雖然名稱有所不同)。下面我們簡(jiǎn)要介紹一下DBTG的系統(tǒng)結(jié)構(gòu)。 DBTG的系統(tǒng)結(jié)構(gòu) DBTG的系統(tǒng)結(jié)構(gòu)主要包括模式(schema)、子模式(subschema)、物理模式(physicalschema)、數(shù)據(jù)操縱和數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS,DataBaseManagementSystem)等幾個(gè)部分。模式是對(duì)數(shù)據(jù)庫(kù)整體數(shù)據(jù)邏輯結(jié)構(gòu)的描述,它對(duì)應(yīng)數(shù)據(jù)庫(kù)的概念層,由數(shù)據(jù)庫(kù)管理員借助模式數(shù)據(jù)描述語(yǔ)言DDL(DataDescriptionLanguage)建立。子模式是某一用戶對(duì)他所關(guān)心的那部分?jǐn)?shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的描述,對(duì)應(yīng)于數(shù)據(jù)庫(kù)的外層或用戶視圖(userview),是由該用戶自己或委托數(shù)據(jù)庫(kù)管理員借助子模式數(shù)據(jù)描述語(yǔ)言加以定義的。物理模式或叫存儲(chǔ)模式(storageschema)是對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)的存儲(chǔ)組織方式的描述,對(duì)應(yīng)于數(shù)據(jù)庫(kù)的物理層,由數(shù)據(jù)庫(kù)管理員通過(guò)數(shù)據(jù)存儲(chǔ)描述語(yǔ)言DSDL(DataStorageDescriptionLanguage)加以定義(DSDL是DBTG報(bào)告的1978年版本提出的,之前的報(bào)告用的名稱叫數(shù)據(jù)介質(zhì)控制語(yǔ)言DMCLDataMediaControlLanguage)。數(shù)據(jù)庫(kù)可由多個(gè)用戶、多個(gè)應(yīng)用共享,數(shù)據(jù)庫(kù)應(yīng)用程序利用數(shù)據(jù)操縱語(yǔ)言DML(DataManupilationLanguage)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的操縱,但一個(gè)應(yīng)用程序必須援引某一模式的某一子模式(也就是說(shuō)它操作的數(shù)據(jù)限于某一用戶視圖中的數(shù)據(jù))。DML語(yǔ)句可以嵌在宿主語(yǔ)言(如COBOL,F(xiàn)ortran等)中,在數(shù)據(jù)庫(kù)管理系統(tǒng)的控制下訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù),并通過(guò)一個(gè)稱為用戶工作區(qū)UWA(UserWorkArea)的緩沖區(qū)與數(shù)據(jù)庫(kù)通信,完成對(duì)數(shù)據(jù)庫(kù)的操作。數(shù)據(jù)庫(kù)管理系統(tǒng)的其他功能包括維護(hù)數(shù)據(jù)庫(kù)中數(shù)據(jù)的一致性(consistency)、完整性(integrity)、安全性(security)和一旦出現(xiàn)故障情況下的恢復(fù)(recovery),以及在多個(gè)應(yīng)用程序同時(shí)存取同一數(shù)據(jù)單元時(shí)處理并發(fā)性(concurrency),以避免出現(xiàn)“臟數(shù)據(jù)”(dirtydata)或“丟失更新”(10seupdate)等不正?,F(xiàn)象。由此可見(jiàn),有關(guān)模式的數(shù)據(jù)描述語(yǔ)言DDL是建立數(shù)據(jù)庫(kù)的工具,數(shù)據(jù)操縱語(yǔ)言DML是操作數(shù)據(jù)庫(kù)、存取其中的數(shù)據(jù)的工具,而數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS則是執(zhí)行這種操作并負(fù)責(zé)維護(hù)與管理數(shù)據(jù)庫(kù)的工具,它們各司其職,完成數(shù)據(jù)庫(kù)整個(gè)生命期中的一切活動(dòng)。 由于巴赫曼在以上兩方面的杰出貢獻(xiàn),巴赫曼被理所當(dāng)然地公認(rèn)為“網(wǎng)狀數(shù)據(jù)庫(kù)之父”或“DBTG之父”,在數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生、發(fā)展與推廣應(yīng)用等各方面都發(fā)揮了巨大的作用。 在數(shù)據(jù)庫(kù)的文檔資料中,有一種描述網(wǎng)狀數(shù)據(jù)庫(kù)模型的數(shù)據(jù)結(jié)構(gòu)圖,這種圖解技術(shù)是巴赫曼發(fā)明的,通常被稱為“巴赫曼圖”(Bachmandiagram)。此外,在擔(dān)任ISO/TC97/SC—16主席時(shí),巴赫曼還主持制定了著名的“開(kāi)放系統(tǒng)互連”標(biāo)準(zhǔn),即OSI(OpenSystemInterconection)。OSI對(duì)計(jì)算機(jī)、終端設(shè)備、人員、進(jìn)程或網(wǎng)絡(luò)之間的數(shù)據(jù)交換提供了一個(gè)標(biāo)準(zhǔn)規(guī)程,實(shí)現(xiàn)OSI對(duì)系統(tǒng)之間達(dá)到彼此互相開(kāi)放有重要意義。巴赫曼也是建立在波士頓的計(jì)算機(jī)博物館的創(chuàng)始人之20世紀(jì)70年代以后,由于關(guān)系數(shù)據(jù)庫(kù)的興起,網(wǎng)狀數(shù)據(jù)庫(kù)受到冷落。但隨著面向?qū)ο蠹夹g(shù)的發(fā)展,有人預(yù)言網(wǎng)狀數(shù)據(jù)庫(kù)將有可能重新受到人們的青睞。但無(wú)論這個(gè)預(yù)言是否實(shí)現(xiàn),巴赫曼作為數(shù)據(jù)庫(kù)技術(shù)先驅(qū)的歷史作用和地位是學(xué)術(shù)界和產(chǎn)業(yè)界普遍承認(rèn)的。
發(fā)表的文章
巴赫曼發(fā)表了很多文章和論文,下面僅列出部分文章 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.
成就及榮譽(yù)
巴赫曼是在1973年8月28日在 亞特蘭大舉行的ACM年會(huì)上接受 圖靈獎(jiǎng)的,他發(fā)表了題為“作為導(dǎo)航員的 程序員”(TheProgrammerasNavigator)的圖靈獎(jiǎng)演說(shuō), 刊載于CommunicationsofACM,1974年11月,653-658頁(yè),也可見(jiàn)《前20年的ACM圖靈獎(jiǎng)演說(shuō)集》(ACMTuringAwardLecturesTheFirst20Yean:1966—1985,ACMPr.),269,286頁(yè)。
計(jì)算機(jī)數(shù)據(jù)處理發(fā)展史
1956年
1956年,IBM公司和RemingtonRand公司先后實(shí)驗(yàn)成功磁盤(pán)存儲(chǔ)器方案,推出了商用磁盤(pán)系統(tǒng)。磁盤(pán)不但轉(zhuǎn)速快,容量大,還可以隨機(jī)讀寫(xiě),為數(shù)據(jù)處理提供丁更加理想的大容量、快速存儲(chǔ)設(shè)備。有了這些硬件的支持,計(jì)算機(jī)數(shù)據(jù)處理便日益發(fā)展起來(lái)。
但是,初期的數(shù)據(jù)處理軟件只有文件管理(filemanagement)這種形式,數(shù)據(jù)文件和應(yīng)用程序一一對(duì)應(yīng),造成數(shù)據(jù)冗余,數(shù)據(jù)不一致性和數(shù)據(jù)依賴(datadependence)。所謂數(shù)據(jù)依賴就是編寫(xiě)程序依賴于具體數(shù)據(jù),拿COBOL這種常用的商用語(yǔ)言來(lái)說(shuō)吧,程序員必須在數(shù)據(jù)部的文件節(jié)(DATADIVISION,F(xiàn)ILESECTION)中詳細(xì)說(shuō)明文件中各數(shù)據(jù)項(xiàng)的類型和長(zhǎng)度、格式,在設(shè)備部的輸入一輸出節(jié)(ENVIRON—MENTDIVISION,INPUT-OUTPUTSECTION)中還要通過(guò)SELECT語(yǔ)句和ASSIGN語(yǔ)句把文件和具體設(shè)備聯(lián)系起來(lái),并使用ORGANIZATION語(yǔ)句和ACCESSMODE語(yǔ)句嚴(yán)格規(guī)定文件的組織方式和存取方式。根據(jù)這些具體規(guī)定,程序員再在過(guò)程部(PROCEDUREDIVISION)中用一系列命令語(yǔ)句導(dǎo)航,才能使系統(tǒng)完成預(yù)期的數(shù)據(jù)處理任務(wù)。應(yīng)用程序與數(shù)據(jù)的存儲(chǔ)、存取方式密切相關(guān)這種狀況給程序的編制、維護(hù)都造成很大的麻煩。
后來(lái)出現(xiàn)了文件管理系統(tǒng)FMS(PileManagementSystem)作為應(yīng)用程序和數(shù)據(jù)文件之間的接口,一個(gè)應(yīng)用程序通過(guò)FMS可以和若干文件打交道,在一定程度上增加了數(shù)據(jù)處理的靈活性。但這種方式仍以分散、互相獨(dú)立的數(shù)據(jù)文件為基礎(chǔ),數(shù)據(jù)冗余、數(shù)據(jù)不一致性、處理效率低等問(wèn)題仍不可避免。這些缺點(diǎn)在較大規(guī)模的系統(tǒng)中尤為突出。以美國(guó)在20世紀(jì)60年代初制定的阿波羅登月計(jì)劃為例,阿波羅飛船由約200萬(wàn)個(gè)零部件組成,它們分散在世界各地制造生產(chǎn)。為了掌握計(jì)劃進(jìn)度及協(xié)調(diào)工程進(jìn)展,阿波羅計(jì)劃的主要合約者Rock-well公司曾研制、開(kāi)發(fā)了一個(gè)基于磁帶的零部件生產(chǎn)計(jì)算機(jī)管理系統(tǒng),系統(tǒng)共用了18盤(pán)磁帶,雖然可以工作,但效率極低,18盤(pán)磁帶中60%是冗余數(shù)據(jù),維護(hù)十分困難。這個(gè)系統(tǒng)的狀況曾一度成為實(shí)現(xiàn)阿波羅計(jì)劃的重大障礙之一。
針對(duì)上述問(wèn)題,各國(guó)學(xué)者、計(jì)算機(jī)公司、計(jì)算機(jī)用戶以及計(jì)算機(jī)學(xué)術(shù)團(tuán)體紛紛開(kāi)展研究,為改革數(shù)據(jù)處理系統(tǒng)進(jìn)行探索與試驗(yàn),其目標(biāo)主要就是突破文件系統(tǒng)分散管理的弱點(diǎn),實(shí)現(xiàn)對(duì)數(shù)據(jù)的集中控制,統(tǒng)一管理。結(jié)果就是出現(xiàn)了一種全新的高效的管理技術(shù)——數(shù)據(jù)庫(kù)技術(shù)。Rockwell公司就與IBM公司合作,在當(dāng)時(shí)新推出的IBM360系列上研制成功了世界上最早的數(shù)據(jù)庫(kù)管理系統(tǒng)之一IMS(1nformationManagementSystem),為保證阿波羅飛船1969年順利登月作出了貢獻(xiàn)。IMS是基于層次模型的。幾乎同時(shí),巴赫曼在通用電氣公司主持設(shè)計(jì)與實(shí)現(xiàn)了網(wǎng)狀的數(shù)據(jù)庫(kù)管理系統(tǒng)IDS(IntegratedDataSystem)。
