来源:http://www.jcc.com/resources/sql-standards
目前的状态:
大致的意思是:SQL的技术目前已经成熟了。源自ANSI 1986年,改为ISO 1987年。为了更快完成,分成很多部分,有2个部分在1990完成,改进为 SQL-1992。其他部分也在进行,在2003都完成。
While the SQL Standard is often perceived as established technology, rather than the innovative, cutting edge technology it was when the standards process started in early 1980's, it is still an expanding, evolving, relevant standard.
The original SQL standard was completed as a USA ANSI (American National Standards Institute) standard in 1986, and adopted as an ISO (International Standards Organization) standard in 1987. Expansions and revisions were released in 1989 and 1992.
To allow relevant pieces to progress at different rates, the SQL standard has been divided into multiple parts. Two of these parts were completed in the 1990's, as additions to SQL-1992. SQL/CLI (Call Language Interface) was completed in 1995 and SQL/PSM (Persistent Stored Modules) was completed in 1996. Revisions and expansions to Parts one through five were completed in 1999.
Following the completion of SQL:1999, there has been significant work on SQL with Java (a Sun trademark) and XML, as well as the use of SQL to manage data external to an SQL database.
Another revision to all of the parts was completed as SQL:2003. Since SQL:2003, the SQL standards committees have expanded XML support and corrected some errors. The expanded SQL/XML standard was published in 2006 and a full revision of all nine parts was published in 2008.
In 2007, WG3 made the decision that, following the completion of SQL:2008, four of the nine parts were stable enough that they did not need additional expansion. The remaining five parts, SQL/Framework, SQL/Foundation, SQL/PSM, SQL/Schemata, and SQL/XML, are on target for completion of another revision in 2011.
In addition to the SQL standards, there is a separate set of specifications called SQL/MM that is a multi-media expansion of the SQL Standard.
SQL标准分成很多个部分:
Explanation of Parts of the Standard |
Part | Explanation |
Part 1 - SQL/Framework |
Contains information common to all parts of the standard and describes the parts. |
Part 2 - SQL/Foundation |
SQK Data definition and data maniputlation syntax and semantics, including SQL embedded in non-object programming languages. |
SQL/OLAP |
Online Analytical Processing: Amendment describing functions and operations useful for analytical processing. |
Part 3 - SQL/CLI |
Call Level Interface: Corresponds to ODBC. |
Part 4 - SQL/PSM |
Persistent Stored Modules: Stored routines, external routines, and procedural language extensions to SQL. |
Part 5 - SQL/Bindings |
Embedded SQL. |
Part 6 - SQL/Transaction |
SQL specialization of the X-Open XA specification. Project has been canceled. |
Part 7 - SQL/Temporal |
Extensions to SQL to deal with time-oriented data types. There has been some difference of opinion on the requirements and details of Temporal. For more details on this topic, see the books Developing Time-Oriented Database Applications in SQL by Richard Snodgrass and Christian Jensen and Temporal Data and the Relational Model by C.J. Date, Hugh Darwen, and Nikos Lorentzos. This project has been withdrawn. |
Part 8 - SQL/Objects Extended Objects |
During the development of SQL-1999, there was a great deal of discussion and change in the object model to be supported. To isolate these changes, the Object portion was separated into a separate part. As the object model stabilized during the completion of SQL-1999, the object oriented capabilities were merged back into SQL/Foundation, so this part no longer exists. |
Part 9 - SQL/MED |
Management of External Data: Adds syntax and definitions to SQL/Foundation to allow SQL access to non-SQL data sources (files). |
Part 10 - SQL/OLB |
Object Language Bindings: Specifies the syntax and semantics of embedding SQL in Java™. Works in conjunction with JDBC but supports applications that do not need the dynamic SQL capabilities provided by JDBC. This corresponds to what the SQLJ group refers to as SQLJ part 0. Martin Gruber refers to this as "Embedded SQL.J" |
Part 11 - SQL/Schemata |
Information and Definition Schemas |
Part 12 - SQL/Replication |
Replication facilities for SQL. This project began in 2000. The goal is to define syntax and semantics to allow definition of replication schemes and rules, including rules for resolution of update conflicts. |
Part 13 - SQL/JRT |
Java Routines and Types: Routines using the Java™ Programming Language (Persistent Stored SQLJ) |
Part 14 - SQL/XML |
SQL and XML |
Part 15 - SQL/MDA |
SQL support for Multi-Dimensional Arrays |
ISO/IEC 9075:
Timeline |
Part | SQL 1992 | SQL 1999 | SQL 2003 | SQL 2008 | SQL 2011 | SQL 2016 |
Part 1 - SQL/Framework |
|
Completed |
Completed |
Completed |
Completed |
Completed |
Part 2 - SQL/Foundation |
Completed (includes bindings and schema information tables) |
Completed |
Completed (SQL/Bindings merged in; schema information tables separated out) |
Incremental expansions and some bug fixes. |
Added support for System Versioned Tables |
Support for Row Pattern Recognition -- Regular expressions across sequences of rows, polymorphic table functions, and JSON |
SQL/OLAP |
|
Processed as an amendment to SQL/Foundation |
OLAP amendment merged into SQL/Foundation |
Part 3 - SQL/CLI |
Completed in '95 as an expansion to SQL-92 |
Completed |
Completed |
Completed |
Not updated |
Completed |
Part 4 - SQL/PSM |
Completed in '96 as an expansion to SQL-92 |
Completed (stored routines and call statement moved to SQL/Foundation) |
Completed |
Completed |
Completed |
Completed |
Part 5 - SQL/Bindings |
|
Specification for embedding SQL in programming languages moved to a separate part. |
SQL/Bindings merged back into SQL/Foundation, |
Part 6 - SQL/Transaction |
|
Project canceled due to lack of need |
Part 7 - SQL/Temporal |
|
|
Project Canceled due to lack of progress. |
Part 8 - SQL/Objects Extended Objects |
|
Merged into SQL/Foundation |
Part 9 - SQL/MED |
|
ISO version based on SQL-99 |
Revision completed |
Completed |
Not updated |
Completed |
Part 10 - SQL/OLB |
completed in '98 as an ANSI only standard |
ISO version based on SQL-99 completed |
Revision completed |
Completed |
Not updated |
Completed |
Part 11 - SQL/Schemata |
|
|
Schema information tables extracted from SQL-99 completed |
Completed |
Completed |
Completed |
Part 12 - SQL/Replication |
|
Became a project in 2000, with goal of defining syntax and semantics to support definition of replication schemes and rules, including rules for resolution of update conflicts. |
Project canceled due to lack of progress. |
Part 13 - SQL/JRT |
completed in '99 as an ANSI only standard |
|
Revision completed |
Completed |
Not updated |
Completed |
Part 14 - SQL/XML |
|
|
Completed |
Expansion completed in 2006. Support for XQuery Update added in 2008. |
Completed |
Completed |
Part 15 - SQL/MDA |
|
|
|
|
|
Published in 2019 |
标准文档各部分的页数:
Pages Devoted to Different Sections |
Part | SQL 1992 Pages | SQL 1999 Pages | SQL 2003 Pages | SQL 2008 Pages | SQL 2011 Pages | SQL 2016 Pages |
Part 1 - SQL/Framework |
|
85 |
81 |
93 |
90 |
89 |
Part 2 - SQL/Foundation |
628 |
1,147 |
1,267 |
1,366 |
1,422 |
1732 |
Part 3 - SQL/CLI (1995) |
236 |
421 |
402 |
405 |
|
404 |
Part 4 - SQL/PSM (1996) |
256 |
170 |
184 |
191 |
196 |
201 |
Part 5 - SQL/Bindings |
|
261 |
|
|
|
|
Part 9 - SQL/MED |
|
|
498 |
486 |
|
488 |
Part 10 - SQL/OLB |
|
|
405 |
415 |
|
399 |
Part 11 - SQL/Schemata |
|
|
296 |
298 |
298 |
338 |
Part 13 - SQL/JRT |
|
|
204 |
208 |
|
162 |
Part 14 - SQL/XML |
|
|
266 |
447 |
447 |
459 |
Part 15 - SQL/MDA |
|
|
|
|
|
176 |
Total |
1,120 |
2,084 |
3,606 |
3,906 |
2,456 |
4,348 |