埃德加·科德 ——“关系数据库之父” 在数据库技术发展的历史中,1970年是发生伟大转折的一年。这一年的6月,IBM圣约瑟研究实验室的高级研究员埃德加·科德(Edgar Frank Codd)在Com-munications of ACM上发表了题为“用于大型共享数据库的关系数据模型”(A Relational Model of Da-ta for Lrge Shared Data Banks)一文。 ACM后来在1983年把这篇论文列为从1958年以来的四分之一个世纪中具有里程碑式意义的最重要的25篇研究论文之一,因为它首次明确而清晰地为数据库系统提出了一种崭新的模型,即关系模型。 “关系”(relation)是数学中的一个基本概念,由集合中的任意元素所组成的若干有序偶对(ordered pair)表示,用以反映客观事物间所存在的一定关系,如数之间的大小关系,一个组织中的成员之间的领导被领导关系,商品流通中的购销关系,产品零部件之间的装配关系等等。在自然界和社会中,关系是无处不在的。在计算机科学中,关系的概念也十分普遍,计算机的逻辑设计,编译程序设计,算法分析和程序结构,信息检索等,都应用了关系的概念。而用关系的概念来建立数据模型,用以描述、设计与操纵数据库,则是科德1970年的这篇论文的创举。 关系模型简单明了,有坚实的数学基础,一经提出,立即引起学术界和产业界的广泛重视和响应,从理论与实践两个方面都对数据库技术产生了强烈的冲击。在关系模型提出之前已经存在多年的基于层次模型(Hierarchical Model)和网状模型(Network Model)的数据库产品很快走向衰败以至消亡,一大批关系数据库系统很快被开发出来并迅速商品化,占领了市场,其交替速度之快,除旧布新之彻底是软件史上所罕见的。基于20世纪70年代中后期和80年代初期这一十分引人注目的现象,1981年的图灵奖很自然地授予了这位“关系数据库之父”。 科德原是英国人,1923年8月19日生于英格兰中部濒临大西洋的港口城市波特兰(Portland)。第二次世界大战爆发以后,年青的科德应征人伍,在皇家空军服役,1942—1945年间任机长,参与了许多惊心动魄的空战,为反法西斯战争立下了汗马功劳。二战结束以后,科德上牛津大学学习数学,于1948年取得学士学位以后,远渡大西洋到美国谋求发展,先在IBM公司取得一个职位,为IBM初期的计算机之一SSEC(Selective Sequence Electronic Calculator)编制程序,为他的计算机生涯奠定了基础。1953年,他应聘到加拿大渥太华的Computing Device公司工作,出任加拿大开发导弹项目的经理。1957年科德重返美国IBM,任“多道程序设计系统”(MultiprogrammingSystems)的部门主任,其间参加了IBM第一台科学计算机701,第一台大型晶体管计算机STRETCH的逻辑设计。STRETCH完成于1961年。STRETCH首次采用先行控制方式,最多可重叠执行6条连续的指令,是后来流水线方式的原型,因而被认为是第一台流水线计算机。它还采用交换器和多道程序技术,用多个存储器交叉工作等许多创新技术,因而在计算机发展史上有重要意义和影响。科德在STRETCH的研制中主持了第一个有多道程序设计能力的操作系统的开发。1959年11月,他在《ACM通讯》上发表的介绍STRETCH的多道程序操作系统的文章,是这方面的最早的学术论文之一。 尤其难能可贵的是,科德由于在工作中发觉自己缺乏硬件知识,影响了在这些重大工程中发挥更大的作用,在20世纪60年代初毅然决定重返大学校园(当时他已年近40),到密歇根大学进修计算机与通信专业,并于1963年获得硕土学位,1965年又获得博土学位。这使他的理论基础更加扎实,专业知识更加丰富,加上他在此之前十几年的实践经验的丰富积累,终于在1970年进发出智慧的闪光,为数据库技术开辟了一个新时代。 由于数据库是计算机各种应用的基础,关系模型的提出不仅为数据库技术的发展奠定了基础,同时也为计算机的普及应用提供了极大的动力。在科德提出关系模型以后,IBM投巨资开展关系数据库管理系统的研究,其System 项目的研究成果极大地推动了关系数据库技术的发展,在此基础上推出的DB2和SQL等产品成为IBM的主流产品。System 本身虽作为原型并未问世,但鉴于其作用与影响,ACM把1988年的“软件系统奖”授予了System ,获奖的开发小组6个成员中就包括后来在1998年荣获图灵奖的格雷(J.Gray)。这一年的软件系统奖还破例同时奖励了两个软件系统,另一个得奖软件也是关系数据库管理系统,即INGRES。INGRES是加州大学伯克利分校的斯通勃莱克(M.Stonebracker)等人研制的,后来由美国关系技术公司RTI品化。 1970年以后,科德继续致力于完善和发展关系理论。1972年,他提出了关系代数(relational algebra)和关系演算(relational calculus),定义了关系的并(union)、交(intersection)、差(difference)、投影(project)、选择(selection)、连接(join)等各种基本运算,为日后成为标准的结构化查询语言SQL(Structured Query Language)奠定了基础。科德还创办了一个研究所:关系研究所(The Relational Institute)和一个公司:Codd Associations,进行关系数据库产品的研发与销售。科德本人则是美国国内和国外许多企业的数据库技术顾问。1990年,他编写出版了专著《数据库管理的关系模型:第二版》(The Relational Model for Database Management:Version 2,Addison-Wesley),全面总结了他几十年的理论探索和实践经验。 向科德颁发图灵奖的仪式是1981年11月9日在洛杉矶召开的ACM年会上举行的,由ACM主席邓宁(P.Denning)亲自授奖并致词。科德发表了题为“关系数据库:提高生产率的实际基础”(Relational Database:A practical Foundation for Productivity)的演说,刊于1982年2月的Communications of ACM,109—117页,或见《前20年的ACM图灵奖演说集》(ACM Turing Award Lectures The First 20 Years:1966—1985,ACM P.),391—410页。演说中,科德说明了他当初提出关系模型的动机,强调了数据操纵语言既要有交互能力,又要能嵌入主语言程序的重要性,这是信息系统特殊的应用方式所决定的。 科德是美国工程院院士。 http://202.207.0.245:9001/jisuanjifazhanshi/tuling/16.htm