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. java动态代码的实现以及Class的卸载 (转至http://dustin.iteye.com/blog/46393)

    JavaWorld一篇题为 Add dynamic code to your application 的文章介绍了如何使用动态代理技术使普通的java源代码具有像jsp一样的动态编译效果,十分有趣.  ...

  2. Asakura的魔法世界

    Font Size:Aa Aa Aa Description Asakura存在于一个魔法世界中.有一天,Asakura在一条魔法通道里偷懒,突然接到一个紧急任务,要高速赶往还有一条通道b去. 我们把 ...

  3. windows环境下mongodb下载、安装和使用总结

    一.首先安装mongodb 1.下载地址:http://dl.mongodb.org/dl/win32/x86_64 2.解压缩到自己想要安装的目录,比如d:\mongodb 3.创建文件夹d:\mo ...

  4. Davlik虚拟机

    过几天得去面试,感觉原来做的东西都忘了. 有点累,无意看了下二师兄的小论文,想来原先自己也参与过一点点,所以记录下: Dalvik虚拟机中共有3种解释器,分别时SWITCH_INTERP,THREAD ...

  5. Ajax在ASP.NET MVC中上传

    HomeController.cs using System; using System.Collections.Generic; using System.Linq; using System.We ...

  6. MathType公式波浪线怎么编辑

    数学公式中有很多符号与数学样式,在用手写时是没有问题的,但是很多论文或者期刊中也是需要用到这些符号或者样式的,比如公式波浪线,那么MathType公式波浪线怎么编辑出来呢? 具体操作步骤如下: 1.打 ...

  7. 使用jquery.uploadify动态传递自己的参数

    上传碰到这个问题在上传文件的时候同时上传文件的类型..上网找了半天.总于解决了..分享一下了..直接例子了.. html <%@ page language="java" i ...

  8. 单行dp复习hdu1087

    我写的想法是每个dp[i]都是前dp[i]的最大值 dp[i]就等于前全部dp[0...i-1]的最大值加上dp[i] 最大值是一个中间变量 最大值得选取条件就是序列的值大小都是递增的,也就是a[i] ...

  9. swift学习笔记之--类的计算属性

    1,Swift中类可以使用计算属性,即使用get和set来间接获取/改变其他属性的值,代码如下 class Calcuator{ ; ; var sum:Int{ get{ return a + b ...

  10. 第五篇:浅谈CPU 并行编程和 GPU 并行编程的区别

    前言 CPU 的并行编程技术,也是高性能计算中的热点,也是今后要努力学习的方向.那么它和 GPU 并行编程有何区别呢? 本文将做出详细的对比,分析各自的特点,为将来深入学习 CPU 并行编程技术打下铺 ...