人物生平
巴赫曼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)。