SQL标准


  SQL是Structured Query Language的缩写,一般读作/`si:kju:/或“ess-que-el”,即字母“S”、“Q”、“L”的发音。作为一种访问关系型数据库的标准接口,SQL自问世以来得到了广泛的应用,不仅是著名的大型商用数据库产品Oracle、Sybase、Informix、DB2、Ingres、Microsoft SQL Server支持它,一些小型的产品如Visual Foxpro、Access等也支持SQL,很多开源的数据库产品PostgreSQL、MySQL、Firebird等也支持SQL。如果您是一个初学者,不妨到sqlcourse.comsqlcourse2.com去练习一下,很快就能掌握最基本的SQL语句。

  蓝色巨人IBM对SQL语言的形成和规范化产生了重大的影响,著名的关系数据库原型系统System R就是IBM的研究成果,它就提供了初步的SQL语言,不过那时称为SEQUL2。Oracle在1979年率先推出了支持SQL的商用产品,当然,那时的Oracle并不好用。随着数据库技术和应用的发展,为各种不同的关系数据库系统提供一致的访问接口成了一种现实需要。

  对SQL标准影响最大的机构自然是那些著名的数据库产商,而具体的制订者则是一些所谓的非营利机构,例如ISO、ANSI等。各国通常会按照ISO标准和ANSI标准(这两个东西的标准很多时候是差不多的)制定自己的国标,我国大致就是翻译一个对应的中文版,也许外加一点中国特色。其实标准这个东西本来就很难读,翻译成中文也往往是词不达意,对于学习者和数据库系统实现者而言,还不如直接读英文的好。另外,通常的标准都是要MONEY才能得到的,穷学生们要拜读一下还真是不容易。虽然正式的标准不像RFC那样可以轻易从网络上免费获得,标准草案还是比较容易找到的。想粗略的学习一下标准,有一个标准草案也可以了。

  下面是SQL发展的简要历史:

   细心的读者能发现,从SQL:1999开始,标准简称中的短横线(-)被换成了冒号(:),而且标准制定的年份也改用四位数字了。前一个修改的原因是ISO标准习惯上采用冒号,ANSI标准则一直采用短横线。后一个修改的原因是标准的命名也遇到了2000年问题。

  从SQL:1999开始,SQL标准的个头就非常大了,其内容可以说是包罗万象,已经不仅仅限于SQL语言本身了。SQL:2003就包括以下9个部分:

  1. ISO/IEC 9075-1: Framework (SQL/Framework).
  2. ISO/IEC 9075-2: Foundation (SQL/Foundation).
  3. ISO/IEC 9075-3: Call Level Interface (SQL/CLI).
  4. ISO/IEC 9075-4: Persistent Stored Modules (SQL/PSM).
  5. ISO/IEC 9075-9: Management of External Data (SQL/MED).
  6. ISO/IEC 9075-10: Object Language Bindings (SQL/OLB).
  7. ISO/IEC 9075-11: Information and Definition Schemas (SQL/Schemata).
  8. ISO/IEC 9075-13: Java Routines and Types Using the Java Programming Language (SQL/JRT).
  9. ISO/IEC 9075-14: XML-Related Specifications (SQL/XML).

   负责具体制定工作的是ISO和IEC联合成立的一个技术委员会JTC1/SC32,其全名是:Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 32, Data management and interchange。

  文章《Is SQL a Real Standard Anymore?》对SQL标准化进程提出了置疑?作者是:
    Michael M. Gorman - Whitemarsh Information Systems, Corp.
    Secretary - ANSI NCITS H2 Technical Committee on Database

参考文献:

  1. http://www.ansi.org
  2. http://www.iso.ch
  3. http://sqlstandards.org
  4. http://www.wiscorp.com
  5. SQL99, SQL/MM, and SQLJ: An SQL99, SQL/MM, and SQLJ: An Overview of the SQL Overview of the SQL Standards
  6. SQL:1999, Formerly known as SQL3
  7. ISO/IEC 9075系列标准或其草案

Copyright 2000-2005,zedware_at_gmail_dot_com
Last modified on Tuesday, 2005-08-09