SQL的历史起源

20 世纪 60 年代,网状数据库系统(如 CODASYL )和分层数据库系统(如 IMS TM )是用于自动化银行业务、记帐和订单处理系统的一流技术,这些系统是由于商业大型计算机的引入才启用的。而 SQL 是在 70 年代创建的一种基于关系数据库管理系统( Relational Database Management System RDBMS )模型的数据查询、操作语言。

1.1 CODASYL

CODASYL 是美国数据系统语言协会( Conference on Data System Language )的英文缩写,该协会成立于 1957 年,主要目的是为了开发一种用于创建商业应用的通用语言。 1959 5 28 日该协会召开了首次会议,就语言开发进行讨论。这个语言实际上就是 Cobol 语言。
1963 6 10 日,加利福尼亚州的系统开发公司( System Development Corporation )举办了一个题为“基于计算机的数据库开发和管理”( Development and Management of a Computer-centered Data Base )的研讨会,首次提出并定义了数据库( Database )术语,即:一组文件(表)的集合,其中文件是数据项(行)的有序集合,而每个数据项由数据以及一个或多个键组成。
1965 年, CODASYL 成立了“列表处理任务组”( List Processing Task Force ),后更名为“数据库任务组”( Data Base Task Group )。 1971 4 月任务组发布了一份重要的报告,报告概述了网状数据模型,被称为 CODASYL DBTG (即 Data Base Task Group 的缩写)数据模型。这个模型定义了数据库的几个关键概念,包括定义模式的语法、定义子模式的语法和数据操作语言。

1.2 IMS

IMS 是信息管理系统( Information Management System )的英文缩写,是 IBM 公司的产品,这是一款分层数据库管理和事务处理系统。
IMS 最初的开发目的是为了支持美国的阿波罗太空计划。 1966 年, IBM 公司的 12 名成员、美国洛克维尔公司( American Rockwell )的 10 名成员和卡特彼勒公司( Caterpillar Tractor )的 3 名成员被集合起来,开始开发信息控制系统( Information Control System ICS )和数据语言 / 接口( Data Language/Interface DL/I ),用于辅助跟踪建造太空船所需要的材料。其中, ICS 部分是用于存储和获取数据的数据库部分,而 DL/I 部分则是用来与之交互的查询语言。
在开发过程中, IBM 小组转移到加利福尼亚州南部的洛杉矶,并增加至 21 名开发人员。 1967 年, IBM 团队完成了 ICS 的第一个版本。 1968 4 月开始进行安装测试。 1968 8 14 日,第一个安装成功信息显示在美国国家航空航天局洛克维尔部门的 IBM 2740 打印机终端上。
1969 年, ICS 被更名为信息管理系统,即 IMS 。自第一个版本问世以来, IBM 一直在不断开发和完善 IMS 的功能。 2007 年, IBM 推出了 IMS 10 版本。 IMS 10 具备了增强的 XML 和网络服务功能,并且也是第一个将标准 XML 查询语言应用于层次结构化数据的数据库系统。

1.3 RDBMSSQL

无论 CODASYL ,还是 IMS ,虽然这些系统为早期系统提供了良好的基础,但它们的基本体系结构将数据的物理操作与逻辑操作混合在一起。当数据的物理位置改变时,也必须更新应用程序来引用新的位置,给数据查询带来了不便。
SQL 是一种关系型数据库查询语言,要介绍 SQL 的起源,就不得不介绍 IBM 公司的两个重量级人物 ―E.F. Codd 博士和 Don Chamberlin 博士。 E. F. Codd 博士最早提出了关系数据库管理系统( Relational Database Management System RDBMS )模型,而 Don Chamberlin 博士则是 SQL XQuery 语言的主要创造者之一。他们对数据库的变革起到了革命性的作用。
Don Chamberlin 最初在 IBM T.J.Watson 研究中心( http://www.watson.ibm.com/ )工作,当时该中心的主要研究方向是操作系统。 Chamberlin 一开始从事的项目是 System A ,但项目很快变以失败而告终。当时担任项目经理的 Leonard Liu (现为 Augmentum  公司 CEO http://www.augmentum.com )很有远见地预见到数据库的美好前景,他转变了整个小组的研究方向。 Chamberlin 因此在数据库软件和查询语言方面进行了大量研究,并成为了小组中最好的网状数据库  CODASYL 专家。
此时的 E. F. Codd 博士在 IBM San Jose 研究中心(即现在的 Almaden 研究中心, http://www.almaden.ibm.com/ )工作, 1970 6 月,他发表了里程碑性的论文《大型共享数据库数据的关系模型》,确立了关系数据库的概念。但是,由于 IBM 正在从事 IMS 的开发,这种思想对 IBM 本身产品造成了威胁,所以公司内部最初持压制态度。当然这也与 Codd 采用了大量的数学方法,不容易理解有关。
1973 年, IBM 在外部竞争压力下,开始加强在关系数据库方面的投入。 Chamberlin 被调到 San Jose 研究中心,加入新成立的项目 System R System R 基于 Codd 提出的关系数据库管理系统模型。
System R 项目包括研究高层的关系数据系统( Relational Data System RDS )和研究底层的存储系统( Research Storage System RSS )两个小组, Chamberlin 担任 RDS 组的经理。 RDS 实际上就是一个数据库语言编译器,由于 Codd 提出的关系代数和关系演算过于数学化,影响了易用性。于是 Chamberlin 选择了自然语言作为研究方向,其结果就是诞生了结构化英语查询语言( Structured English Query Language SEQUEL )。后来,由于商标之争, SEQUEL 更名为 SQL
System R 是一个具有开创性意义的项目。它第一次实现了结构化查询语言,并具以成为标准的关系数据查询语言。同时,它也是第一个证明了关系数据库管理系统可以提供良好事务处理性能的系统。 System R 系统中的设计决策,以及一些基本算法选择(如查询优化中的动态编程算法)对以后的关系系统都产生了积极影响。
System R 本身作为原型虽然并未问世,但鉴于其影响,计算机协会( Association for Computing Machinery  ACM http://www.acm.org/ )还是把 1988 年的  “软件系统奖”授予了 System R 开发小组。

1.4 ANSITransact-SQL

ANSI 是美国国家标准学会( American National Standards Institute )的英文简称,成立于 1918 年。当时,美国的许多企业和专业技术团体,已开始了标准化工作,但因彼此间没有协调,存在不少矛盾和问题。为了进一步提高效率,数百个科技学会、协会组织和团体,均认为有必要成立一个专门的标准化机构,并制订统一的通用标准。 1918 年,美国材料试验协会( ASTM )、美国机械工程师协会( ASME )、美国矿业与冶金工程师协会( ASMME )、美国土木工程师协会( ASCE )和美国电气工程师协会( AIEE )等组织,共同成立了美国工程标准委员会( AESC )。美国政府的商务部、陆军部和海军部也参与了该委员会的筹备工作。 1928 年,美国工程标准委员会改组为美国标准协会( ASA )。为致力于国际标准化事业和消费品方面的标准化, 1966 8 月,又改组为美利坚合众国标准学会( USASI )。 1969 10 6 日改成现名:美国国家标准学会( ANSI )。
虽然 IBM 首创了关系数据库理论,但 Oracle 却是第一家在市场上推出了这套技术的公司。随着时间的推移, SQL 的简洁、直观,在市场上获得了的不错反响,从而引起了 ANSI 的关注,分别在 1986 年、 1989 年、 1992 年、 1999 年及 2003 年发布了 SQL 标准。 SQL Server 2000 遵循 ANSI SQL:1992 标准,而 SQL Server 2005 2008 还实现了 ANSI SQL:1999 ANSI SQL:2003 中的一些重要特性。
数据库生产商在遵循 ANSI 标准的同时,也会根据自己产品的特点对 SQL 进行了一些改进和增强,于是也就有了 SQL Server Transact-SQL Oracle PL/SQL 等语言。在学习 Transact-SQL 语言时,没有必要刻意关心哪些语句或关键字是 SQL 标准,哪些是 Transact-SQL 的扩展。事实上,常见的数据库操作,在绝大多数支持 SQL 语言的数据库中差别并不大,所以数据库开发人员在跨越不同的数据库产品时,一般不会遇到什么障碍。但是对于数据库管理员来说,则需要面对很多挑战,不同数据库产品在管理、维护和性能调整方面区别很大。

你可能感兴趣的:(sql,数据库,职场,休闲)