http://blog.sciencenet.cn/home.php?mod=space&uid=287179&do=blog&id=883429

《传奇》: “宁愿用这一生等你发现,…,今生的爱情故事不会再改变。”

  接下来,E.F.Codd的路上,少有鲜花,多有荆棘。

  1983年,笔者到美国学习数据库,导师为鼓励我们克服困难和坚持学术观点,说, E.F Codd 也曾遭遇到压力山大,以至于影响健康,还进过医院;又说,要学习他不怕困难,坚持自己认为正确的学术观点,最后冲出重围,….,

  但语焉不详,可能是有一些难言的细节。由于人们不太愿意多写尴尬事,现在网上仅仅能查到一些蛛丝马迹。例如下列的”但书”:  

  …..但是,有人认为,关系模型…..是理想化模型,…..不现实…,担心性能难以接受;

  有人视其为(当时正在进行中的)网状数据库规范化工作的严重威胁….  

  日子艰难了,就觉得时间慢,但E.F.Codd坚持着, 就像《传奇》唱的“宁愿用这一生等你发现,…,今生的爱情故事不会再改变….”。

  又是五个春来秋去,终于迎来转机。

  

  明争取代暗斗  1974年ACM牵头组织了一次有思想交锋的研讨会。

  正方:E.F.Codd及其支持者;

  反方:Bachman及其支持者;

Bachman何许人也?就是上篇博文主人公,数据库界第一个(当时唯一的)图灵奖获得者。轻量级对重量级,E.F.Codd能坚持得住吗?悬念...

幸好,E.F.Codd足够坚强,坚持下来了。这次的辩论改善了作为新生事物的关系数据库的生存环境,推动了关系数据库的发展。

  花香墙外,嘴仗结束,新技术的美妙吸引了新的IT人;虽然,知识有产权,但本质上,知识是人类共创共享的(当然,在一定法规下)。

  世界上不乏有眼光,有胆略的人,拉里.埃利森及其团队就是典型,他们认定关系数据库的前景,在1977年建立一个新的小的公司,实现了第一用商用关系型数据库管理系统,后来发展成为Oracle。

  当墙外花香日益浓厚,大赚其钱的时候,IBM才发现自己有点亏,才承认关系数据库的确好,急起直追研发DB2等等。

  以后的事实表明,关系数据库易学易用,基础坚实,理论丰厚,用户不需知道存储结构细节(用今天关于“透明”的时髦术语,有结构透明性),终于让网状数据库和层次数据库(保留了在历史地位)退出了历史舞台,RDB登堂入室,成为现代数据库产品的主流。

E.F.Codd IBM Oracle的更多相关文章

  1. Oracle介绍(初学者必须知道的)

    1.为什么学习数据库?(两个概念) 数据库的概念: 数据库是按照数据结构组织,存储和管理数据的仓库. 数据库,简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增. ...

  2. Oracle 11g

    Oracle 11g 第一章  Oracle 11g数据库简介 1.1  认识Oracle11g Oracle 11g是Oracle 数据库最新的版本,目前已经被企业广泛的应用. 1.2  Oracl ...

  3. 关系和非关系型数据库区别(以及oracle和mysql的区别)

    一.关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库.    关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐 ...

  4. Oracle 与 postgreSQL 事务处理区别(多版本与undo区别)

    2015年左右,因为工作需要用MongoDB.CouchBase这两种文档型数据库,时不时到这两个数据库官网上查资料.报BUG.时常可以在MongoDB官网上看到这样一些新闻,“某某企业成功将MySQ ...

  5. Oracle 笔记(一)

    Oracle基本理论 l  主流数据库 微软公司:SQL Server  ACCESS IBM公司:DB2  infomix Oracle公司:Oracle  MySQL(AB公司) 小型数据库 AC ...

  6. Oracle数据库 —— DML完结

    时间:2016-8-18 01:17 ----------------------------------------------------------------------------停下休息的 ...

  7. 关系型数据库和非关系型数据库区别、oracle与mysql的区别

    一.关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库.    关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐 ...

  8. oracle卸载Oracle Clusterware(转载)

    1.脚本自动删除 切换到root用户 $Su – root #cd $ORA_CRS_HOME/install 1.执行rootdelete.sh脚本 # ./rootdelete.sh 2.执行ro ...

  9. oracle数据库自学笔记(持续更新中……)

    以前的项目都是使用mysql数据库开发的,如今进了新的公司,开始接触到了Oracle数据库,而自己以前没有接触过,就自己挤时间来学习一下. 一.关系型数据库的概念 关系型数据理论由E.F.Codd博士 ...

随机推荐

  1. node.js执行shell命令

    nodejs功能强大且多样,不只是可以实现 服务器端 与 客户端 的实时通讯,另一个功能是用来执行shell命令 首先,引入子进程模块 var process = require('child_pro ...

  2. css -- 背景图片自适应屏幕大小

    由于<body>标签的图片不能够拉伸, 解决办法: 1.图片不够大,又background属性不能拉伸图片: 2.只能用个div,把其z-index值设为负,并使这个div大小为整个bod ...

  3. perl readlink 函数-返回软链接指向的文件

    readlink 函数专门用于处理链接,可以返回该链接指向的文件的路径 代码示例: print readlink($prog) if (-f $prog && -l $prog):

  4. 利用Graphviz 可视化GO 数据库

    GO是一个同源蛋白的数据库,按照三大类别BP(生物学过程), MF(分子功能), CC(细胞组分) 对基因的产物-蛋白质进行了分类: 在GO数据库中,本质上是一个有向无环图的数据结构,在三大类别之下, ...

  5. 静默安装oracle 11g,环境预检查时报错,SEVERE: [FATAL] PRVF-0002 : 无法检索本地节点名

    环境描述: 操作系统:Redhat 6.6_x64 oracle:11.2.0.4 x64 问题描述: 今天在安装oracle 11g的数据库,在进行预安装环境检查的时候,报下面的错误: [oracl ...

  6. Maven War包 POM配置文件

    如何为你的Web程序(war包设定配置文件) 约定 http://maven.apache.org/plugins/maven-war-plugin/examples/adding-filtering ...

  7. Environment.GetEnvironmentVariable

    参考: https://jingyan.baidu.com/article/b24f6c82cba6dc86bfe5da9f.html https://msdn.microsoft.com/zh-cn ...

  8. swift开发之 -- 自动轮播图(UIScrollView+UIPageControl+Timer)

    比较简单,原理就不说了,这里只做记录: 代码如下: 1,准备 var pageControl:UIPageControl? var myscrollView:UIScrollView? var myT ...

  9. php-新特性,生成器的创建和使用

    mark 一下~ http://laravelacademy.org/post/4317.html

  10. Django管理工具django-admin.py创建项目

    安装Django之后就安装了可用的管理工具django-admin.py,可以使用它来创建项目,运行django-admin.py来查看命令介绍: