首页 | 旧版 |中国计算机报 |中国电子报 |通信产业报 |计算机用户 |电脑教育报 |软件世界 |数字时代
高级检索
读者之声 | 天下 | 新闻 | 记者观察 | 评论 | 商道 | 封面故事 |
CIO | 管理 | 技术圈 | 案例点评 | 专栏 | 博客 | 读书 |  
第16期 总第805期
浏览往期
当前位置:首页>>赛迪媒体>计算机用户>老故事
关系数据库突围
作者:李晓慧 

埃德加·科德提出的关系模型改变了当时层次和网状模型的统治地位,直到现在其主流地位依然未被撼动。

1970年6月,对于数据库领域来说是个值得纪念的日子, IBM圣约瑟研究实验室的高级研究员埃德加·科德,在刊物《Communication of the ACM》发表了题为“用于大型共享数据库的关系数据模型”一文,首次明确地为数据库系统提出了一种崭新的模型—关系模型。

在关系模型提出之前已经存在多年的基于层次模型和网状模型的数据库产品很快走向衰败以致消亡,一大批关系数据库系统很快被开发出来并迅速商品化。

ACM后来在1983年把这篇论文列为从1958年以来的四分之一个世纪中具有里程碑式意义的最重要的25篇研究论文之一。

无处不在的“关系”

1968年年末,受过专业训练的数学家科德,首先意识到数学可以对数据库管理领域注入坚实的理论和严密性—在那之前,数据管理领域太缺乏这些理论的支持。在1969年,他的关于关系模型最初的定义出现在一篇IBM研究报告中。

“关系”是数学中的一个基本概念,由集合中的任意元素所组成的若干有序偶对表示,用以反映客观事物间所存在的一定关系,如数之间的大小关系,一个组织中的成员之间的领导与被领导关系,商品流通中的购买与销售的关系,产品零部件之间的装配关系,等等。

在自然界和社会中,关系是无处不在的。在计算机科学中,关系的概念也十分普遍,计算机的逻辑设计,编译程序设计,算法分析和程序结构,信息检索等,都应用了关系的概念。而用关系的概念来建立数据模型,用以描述、设计与操纵数据库,则是科德1970年的这篇论文的创举。

他在论文中提到研究关系模型的目标有以下几点:一、提供高度的数据独立性;二、提供了一致的简洁的数据视图,使得企业内众多的用户,不论对计算机熟悉与否,都能够在一种公共的模型下交互;三、简化了数据库管理员潜在的令人生畏的工作;四、在数据库管理领域引入了(适度的)理论基础(此领域缺乏坚实的理论基础和指导方针);五、合并了事实检索和文件管理领域,为让业界的产品可以加入推论功能做好准备;六、把数据库应用开发提高到新的层次,集合(准确地说是关系)可被视为操作数,而不是作为被处理的一个个元素。

在关系数据模型之前出现的网状数据模型和层次数据模型,与底层的实现联系很紧密,并且使数据建模复杂化。而关系数据库简单易用,它用表的集合来表示数据和数据间的联系。每个表有多个列,每列有惟一的列名。

程序员在使用网状数据模型和层次数据模型时,必须处理许多底层的实现细节,并且不得不将他们要做的查询任务编码成过程化的形式。更重要的是,他们在设计应用程序时还要时时考虑效率问题,而这需要付出很大的努力。

相反,在关系数据库中,几乎所有的底层工作都由数据库自动来完成,使得程序员可以只考虑逻辑层的工作。到最后关系数据库几乎完全取代了网状和层次数据库。

1970年以后,科德继续致力于完善和发展关系理论。他又陆续发表多篇文章,论述了范式理论和衡量关系系统的12条标准,用数学理论奠定了关系数据库的基础。关系模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。

由模型到商品

关系模型一被提出,就在学术上受到极大重视。但是最初并没有实际的应用,这是因为它被认识到的性能上的不足,关系型数据库在性能上还不能和当时已有的网状和层次数据库相提并论。当时也有人认为关系模型是理想化的数据模型,用来实现数据库管理系统是不现实的,更有人视其为当时正在进行中的网状数据库规范化工作的严重威胁。

为了促进对问题的理解,1974年ACM牵头组织了一次研讨会,会上开展了一场分别以Codd和Bachman为首的支持和反对关系数据库两派之间的辩论。这次辩论推动了关系数据库的发展,使其最终成为现代数据库产品的主流。

而在IBM内部,在科德发表了论文后,IBM公司就在圣约瑟研究实验室增加了更多的研究人员研究这个项目,这个项目就是著名的System R。其目标是论证一个全功能关系数据库管理系统的可行性。该项目直到1979年才结束,完成了第一个实现结构化查询语言SQL的数据库管理系统,一直到1980年System R作为一个产品正式推向市场。

然而同时,1973年加州大学伯克利分校的Michael Stonebraker和Eugene Wong利用System R已发布的信息开始开发自己的关系数据库系统Ingres。他们开发的Ingres项目最后由Oracle公司、Ingres公司以及硅谷的其他厂商所商品化。

关系数据库之父埃德加·科德

衡量关系系统的12条标准

准则1 信息准则 关系数据库管理系统的所有信息都应该在逻辑一级上用表中的值这一种方法显式的表示。

准则2 保证访问准则 依靠表名、主码和列名的组合,保证能以逻辑方式访问关系数据库中的每个数据项。

准则3 空值的系统化处理 全关系的关系数据库管理系统支持空值的概念,并用系统化的方法处理空值。

准则4 基于关系模型的动态的联机数据字典 数据库的描述在逻辑级上和普通数据采用同样的表述方式。

准则5 统一的数据子语言 一个关系数据库管理系统可以具有几种语言和多种终端访问方式,但必须有一种语言,它的语句可以表示为严格语法规定的字符串,并能全面的支持各种规则。

准则6 视图更新准则 所有理论上可更新的视图也应该允许由系统更新。

准则7 高级的插入、修改和删除操作 系统应该对各种操作进行查询优化。

准则8 数据的物理独立性 无论数据库的数据在存储表示或存取方法上作任何变化,应用程序和终端活动都保持逻辑上的不变性。

准则9 数据逻辑独立性 当对基本关系进行理论上信息不受损害的任何改变时,应用程序和终端活动都保持逻辑上的不变性。

准则10 数据完整的独立性 关系数据库的完整性约束条件必须是用数据库语言定义并存储在数据字典中的。

准则11 分布独立性 关系数据库管理系统在引入分布数据或数据重新分布时保持逻辑不变。

准则12 无破坏准则 如果一个关系数据库管理系统具有一个低级语言,那么这个低级语言不能违背或绕过完整性准则。

埃德加·科德

科德原是英国人,1923年8月19日生于英格兰中部濒临大西洋的港口城市波特兰(Portland)。第二次世界大战爆发以后,年青的科德应征入伍,在皇家空军服役,参与了许多惊心动魄的空战。二战结束以后,科德进入牛津大学学习数学,于1948年取得学士和硕士学位以后,远渡大西洋到美国谋求发展,先在IBM公司取得一个职位,为IBM初期的计算机之一SSEC(Selective Sequence Electronic Calculator)编制程序,这为他的计算机生涯奠定了基础。

1957年他任“多道程序设计系统”(Multiprogramming Systems)的部门主任,其间参加了IBM第一台科学计算机701,第一台大型晶体管计算机STRETCH的逻辑设计。STRETCH完成于1961年。STRETCH首次采用先行控制方式,最多可重叠执行6条连续的指令,是后来流水线方式的原型,因而被认为是第一台流水线计算机。它还采用交换器和多道程序技术,用多个存储器交叉工作等许多创新技术,因而在计算机发展史上有重要意义和影响。科德在STRETCH的研制中主持了第一个有多道程序设计能力的操作系统的开发。

科德由于在工作中发觉自己缺乏硬件知识,影响了在这些重大工程中发挥更大的作用,在20世纪60年代,当他已年近40岁时,毅然决定重返大学校园,他来到密歇根大学进修计算机与通信专业,于1963年获得硕土学位,1965年又获得博土学位。这使他的理论基础更加扎实,专业知识更加丰富,加上他在此之前十几年的实践经验的丰富积累,终于在1970年在数据库技术领域开辟了一个新时代。

由于数据库是计算机各种应用的基础,关系模型的提出不仅为数据库技术的发展奠定了基础,同时也为计算机的普及应用提供了极大的动力。

赛迪网JAVA专区,JAVA开发者乐园!
相关文章
· 四大IT巨头联盟推广家庭网络(2008.05.13)
· 蒙牛成功的“支点”(2008.04.29)
· 跟抑郁说再见(2008.04.29)
· 如何看待湿件搜索?(2008.04.29)
· 再造南车(2008.04.29)
·特别专辑

专题:千橡融资4亿 陈一舟备战社区冬天全文
专题:微软宣布放弃收购雅虎 不排除二次出价全文


· 专题:解读IBM“蜕变” 下一步走到哪里?
· 知识产权:除了“侵犯”,咱还能做什么?
· 专题:黄光裕配售股份套现19亿 为购三联商社?
· 专题:三星李健熙逃税遭起诉 面临终身监禁
· 思科CEO钱伯斯第七次访华 中国将成战略市场
· 专题:“吸费电话”背后真相 仅为欺诈性宣传
· 专题:卓越亚马逊遭淘宝"收编" 易趣腾讯策反
· 专题:唐骏盛大再“卸甲” 10亿转会新华都
· 专题:荧光灯下的黑暗 GE被曝"血汗工厂"
· 专题:手机电视国标陷僵持 广电不睬新岸线

·赛迪社区


·IT博客