埃德加·科德 - 簡介
埃德加·弗蘭克·科德(EdgarF.Codd,1923-2003)是密執(zhí)安大學哲學博士,IBM公司研究員,被譽為“關系數(shù)據(jù)庫之父”,并因為在數(shù)據(jù)庫管理系統(tǒng)的理論和實踐方面的杰出貢獻于1981年獲圖靈獎。1970年,科德發(fā)表題為“大型共享數(shù)據(jù)庫的關系模型”的論文,文中首次提出了數(shù)據(jù)庫的關系模型。由于關系模型簡單明了、具有堅實的數(shù)學理論基礎,所以一經(jīng)推出就受到了學術界和產(chǎn)業(yè)界的高度重視和廣泛響應,并很快成為數(shù)據(jù)庫市場的主流。20世紀80年代以來,計算機廠商推出的數(shù)據(jù)庫管理系統(tǒng)幾乎都支持關系模型,數(shù)據(jù)庫領域當前的研究工作大都以關系模型為基礎。
作為一位英國計算機科學家。他為關系型數(shù)據(jù)庫理論做出了奠基性的貢獻。他在IBM工作期間,首創(chuàng)了關系模型理論。他一生中為計算機科學做出了很多有價值的貢獻,而關系模型,作為一個在數(shù)據(jù)庫管理方面非常具有影響力的基礎理論,仍然被認為是他最引人矚目的成就。
8月23日,埃德加·弗蘭克·科德生于英格蘭多塞特的波特蘭。在牛津的?巳貙W院研習數(shù)學與化學后,他作為一名英國皇家空軍的飛行員參加了第二次世界大戰(zhàn)。1948年,他來到紐約,加入了IBM公司,成為一名數(shù)學程序員。1953年,出于對參議員約瑟夫·麥卡錫的不滿,他遷往加拿大渥太華居住了十年.之后他回到密歇根大學并取得了計算機科學博士學位。兩年后,科德去往IBM公司位于圣何塞的阿爾馬登研究中心工作。
1981年,科德因在關系型數(shù)據(jù)庫方面的貢獻獲得了圖靈獎。4月18日,科德因心臟病在佛羅里達威廉姆斯島的家中去世,享年76歲。
埃德加·科德 - 改進數(shù)據(jù)庫
早期的計算機太大、太昂對了,以至于不能廣泛地應用于企業(yè)。在二十世紀六十年代,計算機開始變得經(jīng)濟有效,并逐漸被私營機構所采用,同時專門針對企業(yè)應用開發(fā)了許多標準和語言。其中有兩個用于處理數(shù)據(jù)的模型:層次模型和關系網(wǎng)絡模型。
在層次模型中,數(shù)據(jù)記錄以層次方式相互關聯(lián);主要記錄位于上層,后續(xù)的各個記錄類型在下層分支。在網(wǎng)絡模型中,一層中的記錄集可能屬于鄰近的上層中的兩個不同的包含層次中。對于這兩種模型,編寫查詢語句來檢索信息要求深入了解數(shù)據(jù)本身的導航結構,因而這是一個復雜的任務,一般都是由專門的編程人員來完成的。
Codd提出了一個新的解決方案。在最終收集到1970年具有創(chuàng)新性的技術論文--A Relational Model of Data for Large Shared Data Banks(大型共享數(shù)據(jù)庫的關系數(shù)據(jù)模型)中的一系列報告中,Codd建議將數(shù)據(jù)獨立于硬件來存儲,程序員使用一個非過程語言來訪問數(shù)據(jù)。Codd的解決方案的關鍵,是將數(shù)據(jù)保存在由行和列組成的簡單表中(在這種表中,相似數(shù)據(jù)的列將各個表相互聯(lián)系起來),而不是將數(shù)據(jù)保存在一個層次結構中。按照Codd的想法,數(shù)據(jù)庫用戶或應用程序不需要知道數(shù)據(jù)結構來查詢該數(shù)據(jù)。發(fā)表了該論文之后不久,Codd又發(fā)布了更為詳細的指導原則,提出了其指導創(chuàng)建關系數(shù)據(jù)庫的12項原則。
在Codd的理論公開之后,并沒有立即被IBM所采納。IBM已經(jīng)對一個稱為IMS的層次型數(shù)據(jù)庫進行了大量投資,因而它讓其他公司和企業(yè)家去考慮如何進一步發(fā)展Codd的理論。其中的領袖人物是拉里o埃利森,他在1977年與Ed Oates和Bob Miner一起研制了世界上第一個商用關系型數(shù)據(jù)庫管理系統(tǒng),在此過程中,創(chuàng)辦了一個公司,后來成為Oracle公司。其余要說的就是數(shù)據(jù)庫的歷史了。
但是對Ted Codd來說,歷史并沒有停留在那兒。雖然直至二十世紀八十年代初,Codd一直就職于IBM,但他也與長期的合作者Chris Date共同創(chuàng)建了一家咨詢服務公司,而且,直到其今年的早些時候去世,Codd還一直繼續(xù)研究和發(fā)表關于數(shù)據(jù)的規(guī)范化、分析和數(shù)據(jù)建模等主體的文章。
埃德加·科德 - 科德十二定律
科德十二定律(Codd’s 12 rules)是由數(shù)據(jù)庫的關系模型的先驅(qū)埃德加·科德(Edgar F. Codd)提出的,使數(shù)據(jù)庫管理系統(tǒng)關系化需滿足的十三條(從0至12)準則。
全關系系統(tǒng)十二準則
全關系系統(tǒng)應該完全支持關系模型的所有特征。關系模型的奠基人埃德加·科德具體地給出了全關系系統(tǒng)應遵循的基本準則。
準則0
一個關系形的關系數(shù)據(jù)庫系統(tǒng)必須能完全通過它的關系能力來管理數(shù)據(jù)庫。
準則1 信息準則
關系數(shù)據(jù)庫系統(tǒng)的所有信息都應該在邏輯一級上用表中的值這一種方法顯式的表示。
準則2 保證訪問準則
依靠表名、主碼和列名的組合,保證能以邏輯方式訪問關系數(shù)據(jù)庫中的每個數(shù)據(jù)項。
準則3 空值的系統(tǒng)化處理
全關系的關系數(shù)據(jù)庫系統(tǒng)支持空值的概念,并用系統(tǒng)化的方法處理空值。
準則4 基于關系模型的動態(tài)的聯(lián)機數(shù)據(jù)字典
數(shù)據(jù)庫的描述在邏輯級上和普通數(shù)據(jù)采用同樣的表述方式。
準則5 統(tǒng)一的數(shù)據(jù)子語言
一個關系數(shù)據(jù)庫系統(tǒng)可以具有幾種語言和多種終端訪問方式,但必須有一種語言,它的語句可以表示為嚴格語法規(guī)定的字符串,并能全面的支持各種規(guī)則。
準則6 視圖更新準則
所有理論上可更新的視圖也應該允許由系統(tǒng)更新。
準則7 高級的插入、修改和刪除操作
系統(tǒng)應該對各種操作進行查詢優(yōu)化。
準則8 數(shù)據(jù)的物理獨立性
無論數(shù)據(jù)庫的數(shù)據(jù)在存儲表示或存取方法上作任何變化,應用程序和終端活動都保持邏輯上的不變性。
準則9 數(shù)據(jù)邏輯獨立性
當對基本關系進行理論上信息不受損害的任何改變時,應用程序和終端活動都保持邏輯上的不變性。
準則10 數(shù)據(jù)完整的獨立性
關系數(shù)據(jù)庫的完整性約束條件必須是用數(shù)據(jù)庫語言定義并存儲在數(shù)據(jù)字典中的。
準則11 分布獨立性
關系數(shù)據(jù)庫系統(tǒng)在引入分布數(shù)據(jù)或數(shù)據(jù)重新分布時保持邏輯不變。
準則12 無破壞準則
如果一個關系數(shù)據(jù)庫系統(tǒng)具有一個低級語言,那么這個低級語言不能違背或繞過完整性準則。
埃德加·科德 - 關系數(shù)據(jù)庫之父
在數(shù)據(jù)庫技術發(fā)展的歷史中,1970年是發(fā)生偉大轉(zhuǎn)折的一年。這一年的6月,IBM圣約瑟研究實驗室的高級研究員埃德加·科德(Edgar Frank Codd)在Com-munications of ACM上發(fā)表了題為“用于大型共享數(shù)據(jù)庫的關系數(shù)據(jù)模型”(A Relational Model of Da-ta for Lrge Shared Data Banks)一文。
ACM后來在1983年把這篇論文列為從1958年以來的四分之一個世紀中具有里程碑式意義的最重要的25篇研究論文之一,因為它首次明確而清晰地為數(shù)據(jù)庫系統(tǒng)提出了一種嶄新的模型,即關系模型!瓣P系”(rel~ion)是數(shù)學中的一個基本概念,由集合中的任意元素所組成的若干有序偶對(ordered pair)表示,用以反映客觀事物間所存在的一定關系,如數(shù)之間的大小關系,一個組織中的成員之間的領導被領導關系,商品流通中的購銷關系,產(chǎn)品零部件之間的裝配關系,等等。在自然界和社會中,關系是無處不在的。
在計算機科學中,關系的概念也十分普遍,計算機的邏輯設計,編譯程序設計,算法分析和程序結構,信息檢索等,都應用了關系的概念。而用關系的概念來建立數(shù)據(jù)模型,用以描述、設計與操縱數(shù)據(jù)庫,則是科德1970年的這篇論文的創(chuàng)舉。由于關系模型簡單明了,有堅實的數(shù)學基礎,一經(jīng)提出,立即引起學術界和產(chǎn)業(yè)界的廣泛重視和響應,從理論與實踐兩個方面都對數(shù)據(jù)庫技術產(chǎn)生了強烈的沖擊。
在關系模型提出之前已經(jīng)存在多年的基于層次模型(Hierarchical Model)和網(wǎng)狀模型(Network Model)的數(shù)據(jù)庫產(chǎn)品很快走向衰敗以至消亡,一大批關系數(shù)據(jù)庫系統(tǒng)很快被開發(fā)出來并迅速商品化,占領了市場,其交替速度之快,除舊布新之徹底是軟件史上所罕見的;20世紀70年代中后期和80年代初期這一十分引人注目的現(xiàn)象,1981年的圖靈獎很自然地授予了這位“關系數(shù)據(jù)庫之父”。
科德原是英國人,1923年8月19日生于英格蘭中部瀕臨大西洋的港口城市波特蘭(Portland)。第二次世界大戰(zhàn)爆發(fā)以后,年青的科德應征人伍,在皇家空軍服役,1942—1945年間任機長,參與了許多驚心動魄的空戰(zhàn),為反法西斯戰(zhàn)爭立下了汗馬功勞。
二戰(zhàn)結束以后,科德上牛津大學學習數(shù)學,于1948年取得學士和碩士學位以后,遠渡大西洋到美國謀求發(fā)展,先在IBM公司取得一個職位,為IBM初期的計算機之一SSEC(Selective Sequence Electronic Calculator)編制程序,為他的計算機生涯奠定了基礎。1953年,他應聘到加拿大渥太華的Computing Device公司工作,出任加拿大開發(fā)導彈項目的經(jīng)理。
1957年科德重返美國IBM,任“多道程序設計系統(tǒng)”(Multiprogramming Systems)的部門主任,其間參加了IBM第一臺科學計算機701,第一臺大型晶體管計算機STRETCH的邏輯設計。STRETCH完成于1961年。STRETCH首次采用先行控制方式,最多可重疊執(zhí)行6條連續(xù)的指令,是后來流水線方式的原型,因而被認為是第一臺流水線計算機。它還采用交換器和多道程序技術,用多個存儲器交叉工作等許多創(chuàng)新技術,因而在計算機發(fā)展史上有重要意義和影響。科德在STRETCH的研制中主持了第一個有多道程序設計能力的操作系統(tǒng)的開發(fā)。
1959年11月,他在《ACM通訊》上發(fā)表的介紹STRETCH的多道程序操作系統(tǒng)的文章,是這方面的最早的學術論文之一。而尤其難能可貴的是,科德由于在工作中發(fā)覺自己缺乏硬件知識,影響了在這些重大工程中發(fā)揮更大的作用,在20世紀60年代初毅然決定重返大學校園(當時他已年近40),到密歇根大學進修計算機與通信專業(yè),并于1963年獲得碩土學位,1965年又獲得博土學位。這使他的理論基礎更加扎實,專業(yè)知識更加豐富,加上他在此之前十幾年的實踐經(jīng)驗的豐富積累,終于在1970年進發(fā)出智慧的閃光,為數(shù)據(jù)庫技術開辟了一個新時代。由于數(shù)據(jù)庫是計算機各種應用的基礎,關系模型的提出不僅為數(shù)據(jù)庫技術的發(fā)展奠定了基礎,同時也為計算機的普及應用提供了極大的動力。
在科德提出關系模型以后,IBM投巨資開展關系數(shù)據(jù)庫管理系統(tǒng)的研究,其System 項目的研究成果極大地推動了關系數(shù)據(jù)庫技術的發(fā)展,在此基礎上推出的DB2和SQL等產(chǎn)品成為IBM的主流產(chǎn)品。
System 本身雖作為原型并未問世,但鑒于其作用與影響,ACM把1988年的“軟件系統(tǒng)獎”授予了System ,獲獎的開發(fā)小組6個成員中就包括后來在1998年榮獲圖靈獎的格雷(J.Gray)。這一年的軟件系統(tǒng)獎還破例同時獎勵了兩個軟件系統(tǒng),另一個得獎軟件也是關系數(shù)據(jù)庫管理系統(tǒng),即INGRES。INGRES是加州大學伯克利分校的斯通勃萊克(M.Stonebracker)等人研制的,后來由美國關系技術公司RTI品化。
1970年以后,科德繼續(xù)致力于完善和發(fā)展關系理論。1972年,他提出了關系代數(shù)(relational algebra)和關系演算(relational calculus),定義了關系的并(union)、交(intersection)、差(difference)、投影(project)、選擇(selection)、連接(join)等各種基本運算,為日后成為標準的結構化查詢語言SQL(Structured Query Language)奠定了基礎?频逻創(chuàng)辦了一個研究所:關系研究所(The Relational Institute)和一個公司:Codd & Associations,進行關系數(shù)據(jù)庫產(chǎn)品的研發(fā)與銷售?频卤救藙t是美國國內(nèi)和國外許多企業(yè)的數(shù)據(jù)庫技術顧問。1990年,他編寫出版了專著《數(shù)據(jù)庫管理的關系模型:第二版》(The Relational Model for Database Management:Version 2,Addison-Wesley),全面總結了他幾十年的理論探索和實踐經(jīng)驗。