出品 | 程序人生 (ID:coder _life)
埃德加·弗兰克·科德(EdgarF.Codd)在二战时是一名空军机长,退役后进入 IBM 工作,首创关系模型理论,被誉为“关系数据库之父”,并因为在数据库管理系统的理论和实践方面的杰出贡献于1981年获图灵奖。
他一生中为计算机科学做出了很多有价值的贡献,而关系模型作为在数据库管理方面举足轻重的基础理论,被认为是他最引人瞩目的成就。
科德于1923出生在英国英格兰多塞特郡的波特兰,长大后进入在牛津的埃克塞特学院学习数学与化学。第二次世界大战爆发以后,年轻的科德应征入伍,在皇家空军服役,受训成为一名出色的飞行员。在1942至1945年间,科德以空军机长的身份参与了许多惊心动魄的空战,为反法西斯战争立下了汗马功劳。
二战结束以后,科德进入牛津大学学习数学,并于1948年取得学士和硕士学位。之后,科德远渡大西洋来到美国谋求发展。机缘巧合之下,科德进入 IBM 公司成了一名程序员,为 IBM 初期的计算机 SSEC编制程序,从此开启了他漫长的计算机生涯。
1953年,因为对参议员约瑟夫·麦卡锡的不满,他离开美国迁往加拿大渥太华,并应聘到加拿大渥太华的 Computing Device 公司工作,担任开发导弹项目的经理。
1957年,科德重返美国,进入 IBM 公司位于圣何塞的阿尔马登研究中心工作,任“多道程序设计系统”的部门主任一职,期间参加了 IBM 第一台科学计算机701及第一台大型晶体管计算机 STRETCH 的逻辑设计。
STRETCH 完成于1961年。STRETCH 首次采用先行控制方式,最多可重叠执行6条连续的指令,是后来流水线方式的原型,因而被认为是第一台流水线计算机。它还采用交换器和多道程序技术,用多个存储器交叉工作等许多创新技术,因而在计算机发展史上有重要意义和影响。科德在 STRETCH 的研制中主持了第一个有多道程序设计能力的操作系统的开发。
1959年11月,科德在《ACM 通讯》上发表相关文章介绍STRETCH的多道程序操作系统,是这方面的最早的学术论文之一。
在这段工作经历中,科德发觉自己虽然数学基础扎实,但是缺乏计算机相关方面的硬件知识,这无疑影响了自己在这些重大工程中发挥更大的作用,于是他决定重返校园进修。年近四十的科德进入密歇根大学学习计算机与通信专业,并于1963年获得硕土学位,1965年又获得博土学位。经过这段校园学习,科德的理论基础更加扎实,专业知识也更加的丰富。
上世纪六十年代,计算机逐渐被私营机构所使用,为了针对的不同的企业应用,开发了许多标准和语言。其中有两个用于处理数据的模型:层次模型和关系网络模型。然而,对于这两种模型,编写查询语句来检索信息要求深入了解数据本身的导航结构,因而这是一个十分复杂的任务,一般都是由专门的编程人员来完成。
为此,科德经过多年的潜心研究提出了一个新的解决方案,该方案最早发表在1970年具有创新性的技术论文——《大型共享数据库的关系数据模型》及一系列报告中。
科德建议将数据独立于硬件来存储,程序员使用一个非过程语言来访问数据。该解决方案的关键,是将数据保存在由行和列组成的简单表中,而不是将数据保存在一个层次结构中。按照科德的想法,数据库用户或应用程序不需要知道数据结构来查询该数据。
科德发表该论文之后不久,又发布了更为详细的指导原则,提出了其指导创建关系数据库的12项原则,这些原则为日后关系型数据库的发展奠定了基础,被成为“黄金十二定律”,科德也被誉为“关系型数据库之父”。
美国计算机协会后来把科德的这篇论文列为从1958年以来的四分之一个世纪中具有里程碑式意义的最重要的25篇研究论文之一,因为它首次明确而清晰地为数据库系统提出了一种崭新的模型,即“关系模型”。
“关系”本是数学中的一个基本概念,用来反映客观事物间所存在的一定关系。在计算机科学领域,虽然“关系”的概念十分普遍,比如计算机的逻辑设计、编译程序设计、算法分析和信息检索等,都应用了关系的概念,但是用关系的概念来建立数据模型,用以描述、设计与操纵数据库,却是首次提出。
由于关系模型简单明了,经得起反复推敲,一经提出,便立即引起学术界的极度重视,对数据库理论和实践方面都产生了强烈的冲击。
数据库关系模型提出之后,先前主导市场的基于层次模
型和网状模型的数据库产品很快走向衰败,最后黯然退场,一大批关系数据库系统很快被开发出来并迅速占领了商业市场,其交替速度之快,刷新了软件历史。
因为在关系型数据库方面的杰出贡献,ACM 将1981年的图灵奖授予了科德。
尽管科德后来因关系型数据库方面的研究而获得了图灵奖,但当他的理论最初被公开之后,并没有立即被 IBM 所采纳。当时的 IBM 已经投资了一个称为 IMS 的层次型数据库,而且 IBM 也并没有考虑到关系型数据库潜在的巨大商业利益,所以没有足够重视科德的研究成果,转而它让其他公司去考虑如何进一步实践科德的理论。
后来,一个叫做拉里·埃利森(Larry Ellison)的人决定涉足关系型数据库。他在1977年与埃德·奥茨(Ed Oates)和鲍勃·米勒(Bob Miner)一起研制了世界上第一个商用关系型数据库管理系统,并在此过程中,创办了一个公司,这个公司后来发展壮大成了我们今天所熟知的 Oracle 公司。
而对于科德本人来说,他自1970年以后,一直致力于完善和发展关系理论。1972年,他提出了关系代数和关系演算,定义了关系的并、交、差(difference)、投影、选择、连接等各种基本运算,为日后成为标准的结构化查询语言SQL奠定了基础。
科德还创办了一个研究所和一个公司,它们分别是关系研究所和Codd & Associations公司,进行关系数据库产品的研发与销售。科德也成为美国国内和国外许多企业的数据库技术顾问。
1990年,科德编写出版了专著《数据库管理的关系模型:第二版》,全面总结了他几十年的理论探索和实践经验。
2003年4月18日,科德因心脏病在佛罗里达威廉姆斯岛的家中去世,享年79岁。直到去世前,科德还一直继续研究和发表关于数据的规范化、分析和数据建模等主体的文章。
https://baike.baidu.com/item/%E5%9F%83%E5%BE%B7%E5%8A%A0%C2%B7%E7%A7%91%E5%BE%B7/4006235?fr=aladdin
http://www.gerenjianli.com/Mingren/05/1ggcggc6in6nds8.html
http://www.wanweibaike.com/wiki-%E5%9F%83%E5%BE%B7%E5%8A%A0%C2%B7%E7%A7%91%E5%BE%B7
更多精彩推荐
☞开源商业化未来究竟如何?国际开源圈网红这样说
☞2020 最烂密码 TOP 200 大曝光,霸榜的竟然是它?
☞腾讯 AI 医学进展破解“秃头”难题,登 Nature 子刊!
☞用Python分析5000+抖音大V,粉丝最喜欢的视频类型是它
☞亿级大表分库分表实战总结(万字干货,实战复盘)
☞优秀!一鼓作气学会“一致性哈希”,就靠这 18 张图了