E.F.Codd IBM Oracle
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的更多相关文章
- Oracle介绍(初学者必须知道的)
1.为什么学习数据库?(两个概念) 数据库的概念: 数据库是按照数据结构组织,存储和管理数据的仓库. 数据库,简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增. ...
- Oracle 11g
Oracle 11g 第一章 Oracle 11g数据库简介 1.1 认识Oracle11g Oracle 11g是Oracle 数据库最新的版本,目前已经被企业广泛的应用. 1.2 Oracl ...
- 关系和非关系型数据库区别(以及oracle和mysql的区别)
一.关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库. 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐 ...
- Oracle 与 postgreSQL 事务处理区别(多版本与undo区别)
2015年左右,因为工作需要用MongoDB.CouchBase这两种文档型数据库,时不时到这两个数据库官网上查资料.报BUG.时常可以在MongoDB官网上看到这样一些新闻,“某某企业成功将MySQ ...
- Oracle 笔记(一)
Oracle基本理论 l 主流数据库 微软公司:SQL Server ACCESS IBM公司:DB2 infomix Oracle公司:Oracle MySQL(AB公司) 小型数据库 AC ...
- Oracle数据库 —— DML完结
时间:2016-8-18 01:17 ----------------------------------------------------------------------------停下休息的 ...
- 关系型数据库和非关系型数据库区别、oracle与mysql的区别
一.关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库. 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐 ...
- oracle卸载Oracle Clusterware(转载)
1.脚本自动删除 切换到root用户 $Su – root #cd $ORA_CRS_HOME/install 1.执行rootdelete.sh脚本 # ./rootdelete.sh 2.执行ro ...
- oracle数据库自学笔记(持续更新中……)
以前的项目都是使用mysql数据库开发的,如今进了新的公司,开始接触到了Oracle数据库,而自己以前没有接触过,就自己挤时间来学习一下. 一.关系型数据库的概念 关系型数据理论由E.F.Codd博士 ...
随机推荐
- sdut2852 小鑫去爬山9dp入门)
#include<stdio.h> int a[100][100]; int main() { int n; while(scanf("%d",&n)!=EOF ...
- asp.net 后端验证
using EntryRegistration.Filters; using EntryRegistration.Models.Entity; using System; using System.C ...
- js unicode处理
//岗位详细界面 var str="1.\u000D\u21B52.\u000D\u21B53"; var pad = function() { var tbl = []; ret ...
- 【Deeplearning】关注书目
Deep Learning: A Practitioner's Approach http://www.amazon.com/Deep-Learning-Practitioners-Adam-Gibs ...
- Invalidate()函数
Invalidate( ) :使整个窗口客户区无效, 并进行更新显示的函数 介绍 void Invalidate( BOOL bErase = TRUE ); 参数: bErase 决定了是否要在WM ...
- web.xml 中的listener、filter、servlet 加载顺序及其【配置详解】
在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是 ...
- C++第15周(春)项目3 - OOP版电子词典(二)
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 [项目3-OOP版电子词典](本程序须要的相关 ...
- 工作流JBPM_day01:3-使用JBPM的API添加与执行流程
工作流JBPM_day01:3-使用JBPM的API添加与执行流程 流程定义画完得到压缩文件--->部署流程定义-->启动流程实例-->查询我的个人任务列表-->办理任务--& ...
- Extjs学习笔记--(三,调试技巧)
FireFox 1.firedebug(略) 2.illuminations 在illuminations页面可也看到缩写的extjs的代码,同时可以进行相应的调试 3,Firedebug AutoC ...
- sublime常用插件及配置
以下是我的sublime插件列表: SideBarEnhancements增强版侧边栏 这个插件官方不支持通过package安装了,只能手动了,下载地址https://github.com/S ...