图灵奖|从空军机长到大厂程序员,关系数据库之父传奇


图灵奖|从空军机长到大厂程序员,关系数据库之父传奇
文章插图
作者 | 年素清
责编 | 王晓曼
出品 | 程序人生 (ID:coder _life)
埃德加·弗兰克·科德(EdgarF.Codd)在二战时是一名空军机长,退役后进入 IBM 工作,首创关系模型理论,被誉为“关系数据库之父”,并因为在数据库管理系统的理论和实践方面的杰出贡献于1981年获图灵奖。
他一生中为计算机科学做出了很多有价值的贡献,而关系模型作为在数据库管理方面举足轻重的基础理论,被认为是他最引人瞩目的成就。
空军机长转行做程序员
科德于1923出生在英国英格兰多塞特郡的波特兰,长大后进入在牛津的埃克塞特学院学习数学与化学。第二次世界大战爆发以后,年轻的科德应征入伍,在皇家空军服役,受训成为一名出色的飞行员。在1942至1945年间,科德以空军机长的身份参与了许多惊心动魄的空战,为反法西斯战争立下了汗马功劳。
二战结束以后,科德进入牛津大学学习数学,并于1948年取得学士和硕士学位。之后,科德远渡大西洋来到美国谋求发展。机缘巧合之下,科德进入 IBM 公司成了一名程序员,为 IBM 初期的计算机 SSEC编制程序,从此开启了他漫长的计算机生涯。
40岁重返校园学习
1953年,因为对参议员约瑟夫·麦卡锡的不满,他离开美国迁往加拿大渥太华,并应聘到加拿大渥太华的 Computing Device 公司工作,担任开发导弹项目的经理。
1957年,科德重返美国,进入 IBM 公司位于圣何塞的阿尔马登研究中心工作,任“多道程序设计系统”的部门主任一职,期间参加了 IBM 第一台科学计算机701及第一台大型晶体管计算机 STRETCH 的逻辑设计。
STRETCH 完成于1961年。STRETCH 首次采用先行控制方式,最多可重叠执行6条连续的指令,是后来流水线方式的原型,因而被认为是第一台流水线计算机。它还采用交换器和多道程序技术,用多个存储器交叉工作等许多创新技术,因而在计算机发展史上有重要意义和影响。科德在 STRETCH 的研制中主持了第一个有多道程序设计能力的操作系统的开发。
1959年11月,科德在《ACM 通讯》上发表相关文章介绍STRETCH的多道程序操作系统,是这方面的最早的学术论文之一。
在这段工作经历中,科德发觉自己虽然数学基础扎实,但是缺乏计算机相关方面的硬件知识,这无疑影响了自己在这些重大工程中发挥更大的作用,于是他决定重返校园进修。年近四十的科德进入密歇根大学学习计算机与通信专业,并于1963年获得硕土学位,1965年又获得博土学位。经过这段校园学习,科德的理论基础更加扎实,专业知识也更加的丰富。
改进数据库,成为“关系型数据库之父”
上世纪六十年代,计算机逐渐被私营机构所使用,为了针对的不同的企业应用,开发了许多标准和语言。其中有两个用于处理数据的模型:层次模型和关系网络模型。然而,对于这两种模型,编写查询语句来检索信息要求深入了解数据本身的导航结构,因而这是一个十分复杂的任务,一般都是由专门的编程人员来完成。
为此,科德经过多年的潜心研究提出了一个新的解决方案,该方案最早发表在1970年具有创新性的技术论文——《大型共享数据库的关系数据模型》及一系列报告中。
科德建议将数据独立于硬件来存储,程序员使用一个非过程语言来访问数据。该解决方案的关键,是将数据保存在由行和列组成的简单表中,而不是将数据保存在一个层次结构中。按照科德的想法,数据库用户或应用程序不需要知道数据结构来查询该数据。
科德发表该论文之后不久,又发布了更为详细的指导原则,提出了其指导创建关系数据库的12项原则,这些原则为日后关系型数据库的发展奠定了基础,被成为“黄金十二定律”,科德也被誉为“关系型数据库之父”。
荣获图灵奖
美国计算机协会后来把科德的这篇论文列为从1958年以来的四分之一个世纪中具有里程碑式意义的最重要的25篇研究论文之一,因为它首次明确而清晰地为数据库系统提出了一种崭新的模型,即“关系模型”。
“关系”本是数学中的一个基本概念,用来反映客观事物间所存在的一定关系。在计算机科学领域,虽然“关系”的概念十分普遍,比如计算机的逻辑设计、编译程序设计、算法分析和信息检索等,都应用了关系的概念,但是用关系的概念来建立数据模型,用以描述、设计与操纵数据库,却是首次提出。
由于关系模型简单明了,经得起反复推敲,一经提出,便立即引起学术界的极度重视,对数据库理论和实践方面都产生了强烈的冲击。