数据库必知词汇:SQL标准

简介: SQL标准是由国际标准化组织(ISO)、美国国家标准委员会ANSI等制定的,对数据库管理系统的统一操作方式。
+关注继续查看

SQL标准是由国际标准化组织(ISO)、美国国家标准委员会ANSI等制定的,对数据库管理系统的统一操作方式。

SQL 是 Structured Query Language 的缩写,规范的发音是 “ˌɛsˌkjuːˈɛl”。但是它的前身是著名的关系数据库原型系统 System R 所采用的 SEQUEL 语言,这也是为什么有很多人将其读作 “ˈsiːkwəl” 的来源。也有人类比 GNU 这个词的定义(GNU’s Not UNIX),认为 SQL 是 SQL Query Language 的缩写。

IBM对关系数据库以及SQL语言的形成和规范化产生了重大的影响,第一个版本的SQL标准SQL86就是基于System R的手册而来的。Oracle在1979年率先推出了支持SQL的商用产品。随着数据库技术和应用的发展,为不同RDBMS提供一致的语言成了一种现实需要。

对SQL标准影响最大的机构自然是那些著名的数据库产商,而具体的制订者则是一些非营利机构,例如国际标准化组织ISO、美国国家标准委员会ANSI等。各国通常会按照ISO标准和ANSI标准制定自己的国家标准。

“美国国家标准化组织(ANSI)”是一个核准多种行业标准的组织。SQL作为关系型数据库所使用的标准语言,最初是基于IBM的实现在1986年被批准的。1987年,“国际标准化组织(ISO)”把ANSI SQL作为国际标准。

SQL发展的简要历史:
1986年,ANSI X3.135-1986,ISO/IEC 9075:1986,SQL-86
1989年,ANSI X3.135-1989,ISO/IEC 9075:1989,SQL-89
1992年,ANSI X3.135-1992,ISO/IEC 9075:1992,SQL-92(SQL2)
1999年,ISO/IEC 9075:1999,SQL:1999(SQL3)
2003年,ISO/IEC 9075:2003,SQL:2003
2008年,ISO/IEC 9075:2008,SQL:2008
2011年,ISO/IEC 9075:2011,SQL:2011
补充
1986 年,ANSI X3.135-1986,ISO/IEC 9075:1986,SQL-86。这是 ANSI 首次将 SQL 语言标准化的版本。
1989 年,ANSI X3.135-1989,ISO/IEC 9075:1989,SQL-89。增加了完整性约束。
1992 年,ANSI X3.135-1992,ISO/IEC 9075:1992,SQL-92(SQL2)。最重要的一个版本。 引入了标准的分级概念。
1999 年,ISO/IEC 9075:1999,SQL:1999(SQL3)。变动最大的一个版本。改变了标准符合程度的定义;增加了面向对象特性、正则表达式、存储过程、Java 等支持。
2003 年,ISO/IEC 9075:2003,SQL:2003。引入了 XML、Window 函数等。
2008 年,ISO/IEC 9075:2008,SQL:2008。引入了 TRUNCATE 等。
2011 年,ISO/IEC 9075:2011,SQL:2011。引入了时序数据等。
2016 年,ISO/IEC 9075:2016,SQL:2016。引入了 JSON 等。

绝大多数人提起SQL标准,涉及的内容其实是SQL92里头最基本或者说最核心的一部分。SQL92本身是分级的,包括入门级、过度级、中间级和完全级,推荐泛读SQL92,增量式式阅读其他标准。而随着SQL标准的发展,其包含的内容实在太多了,而且有很多特性对新的SQL产品而言也越来越不重要了。从SQL99之后,标准中符合程度的定义就不再分级,而是改成了核心兼容性和特性兼容性;也没有机构来推出权威的SQL标准符合程度的测试认证了。

资料来源:
SQL99, SQL/MM, and SQLJ: An SQL99, SQL/MM, and SQLJ: An Overview of the SQL Overview of the SQL Standards
SQL Standards – Oracle https://docs.oracle.com/cd/B28359_01/server.111/b28286/intro002.htm
SQL Introduction https://www.w3schools.com/sql/sql_intro.asp

相关文章
|
SQL Oracle 关系型数据库
SQL 是一种标准
SQL 是一种标准
56 0
|
SQL Oracle 关系型数据库
SQL标准对schema如何定义?
ISO/IEC 9075-1 SQL标准中将schema定义为描述符的持久命名集合(a persistent, named collection of descriptors),如果你之前对schema的定义疑惑不解,希望看了我的这篇文章会好一些,起码不会更差。 广义上 造成疑惑的另一个原因可能是由于schema这一术语具有如此广泛的含义,因为它在不同的环境下有不同的含义,schema一词源于希腊语skhēma,意思是形态(form),轮廓(figure),形状(shape)或方案(plan)。Schema在心理学中被用来描述组织信息类别及其之间关系的有组织的思维或行为模式。我们在设计一个数
210 0
|
SQL
国际站 SQL Server 发布 标准单机基础版
信息摘要: 国际站 SQL Server 发布 标准单机基础版,提供更高性价比的SQL Server 实例适用客户: 使用SQL Server 的用户,适用于中小企业管理软件,如财务管理、进销存管理、ERP、CRM等系统。
806 0
|
SQL Java 分布式数据库
Phoenix使用注意事项以及跟标准sql的不同
phoenix是一个客户端的库,它在HBase基础上提供SQL功能层,让我们可以使用标准的JDBC接口操作HBase。 全部支持的特性可以浏览官方最新版本支持的SQL语法,下面列举一些phoenix 4.6版本不支持的特性及与普通MySQL SQL用法有差异的地方。
2711 0
|
SQL 测试技术 关系型数据库
|
SQL Shell 数据库
推荐文章
更多