快捷搜索:

有数据的地方必有库,详解关系型数据库的发展历史

  信息系统产生了海量的数据,有数据必须要有数据的存放位置,本文主要考虑对于OLTP和OLAP占据主流的关系型数据库,目前关系型数据库软件主要有:Oracle,DB2,SQL Sever/Sybase,MySQL,PostgreSQL,SQLite。

 

 

\

 

  数据库发展史

 

  信息系统产生了海量的数据,有数据必须要有数据的存放位置,

 

  无库时代 :没有专门的数据库,数据大多以文件形式存放

 

  层次状数据库 :使用层次状模型进行数据库设计和存放

 

  网状数据库 :使用网状模型进行数据库设计和存放

 

  关系型数据库 :使用关系型模型进行数据库设计和存放

 

  非关系型数据库:为适应水平扩展性和处理超大量的数据环境,近几年发展非常迅速的发展,衍生类型非常多。

 

  本文主要考虑对于OLTP和OLAP占据主流的关系型数据库,目前关系型数据库软件主要有:

 

  大型商用关系型数据库:Oracle,DB2,SQL Sever/Sybase;

 

  近年发展较快的开源关系型数据库:MySQL,PostgreSQL,SQLite

 

  关系型数据库主要人物与发展历史

 

  关系型数据库的发展,大致可分为理论奠基、SQL标准、商用成型、多家发展等几个阶段,在每个阶段都有对应的重要人物与贡献。

 

  首先是数学家E.F.Codd发表了数学论文《用于大型共享数据库的关系数据模型》,提出关系和关系运算的概念,奠定了关系型数据库的理论模型;

 

  然后是Codd的同事DonChamberlin将Codd的论文和关系运算,转换成为比较容易理解和使用的SQL语言,并且在后面成为所有关系型数据库的标准;

 

  有了上面的数据理论和SQL基础,LarryElision和他的同事看到商机,开发出第一个商用大型关系型数据库Oracle,Scott作为一个开发的员工,将其测试账户放在里面了;

 

  除了Oracle数据库,IBM也开发出了DB2数据库,但其他主流的关系型数据库都与Michael Stonebraker有关,开发了Postgres并放在BSD版权下,后来演变成了Postgres SQL;87年微软和Sybase合作,开发除了MS SQL和Sybase;后又加入Ingres和Informax,其他的主流关系型数据库几乎都和Michael Stonebraker有关。

 

  关系型数据库之父:E.F.Codd

 

  1970年,Codd划时代的论文《用于大型共享数据库的关系数据模型》

 

  Codd全关系系统十二准则

 

  准则0

 

  一个关系形的关系数据库系统必须能完全通过它的关系能力来管理数据库。

 

  准则1 信息准则

 

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

 

  准则2 保证访问准则

 

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

 

  准则3 空值的系统化处理

 

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

 

  准则4 基于关系模型的动态的联机数据字典

 

  数据库的描述在逻辑级上和普通数据采用同样的表述方式。

 

  准则5 统一的数据子语言

 

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

 

  准则6 视图更新准则

 

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

 

  准则7 高级的插入、修改和删除操作

 

  系统应该对各种操作进行查询优化。

 

  准则8 数据的物理独立性

 

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

 

  准则9 数据逻辑独立性

 

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

 

  准则10 数据完整的独立性

 

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

 

  准则11 分布独立性

 

  关系数据库系统在引入分布数据或数据重新分布时保持逻辑不变。

 

  准则12 无破坏准则

 

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

 

  SQL之父:唐-钱伯林(Don Chamberlin)

 

您可能还会对下面的文章感兴趣: