The SQL Standard – ISO/IEC 9075:2016

SQL Standard ISO IEC 9075 2016

SQL (standing for Structured Query Language) is the standard language for relational database management systems. When it originated back in the 1970s, the domain-specific language was intended to fulfill the need of conducting a database query that could navigate through a network of pointers to find the desired location. Its application in handling structured data has fostered in the Digital Age. In fact, the powerful database manipulation and definition capabilities of SQL and its intuitive tabular view have become available in some form on virtually every important computer platform in the world.

Some notable features of SQL include the ability to process sets of data as groups instead of individual units, automatic navigation to data, and the use of statements that are complex and powerful individually. Used for a variety of tasks, such as querying data, controlling access to the database and its objects, guaranteeing database consistency, updating rows in a table, and creating, replacing, altering and dropping objects, SQL lets users work with data at the logical level.

The “ANSI Standard” for SQL

There is no such thing as “ANSI Standards,” as ANSI does not develop standards. Instead, there’s American National Standards and other documents written by ANSI-approved committees of standards developing organizations. Nonetheless, we get a lot of inquiries for the “ANSI standard” for SQL. It’s worth noting that, while this phrase is misleading and inaccurate for numerous reasons, it is referring to existing standard documents. SQL, just like many great things that outlasted the 70s, has a powerful history auspiciously intertwined with standards. At the conception of SQL’s specifications was ANSI (just another great feat throughout our 100-year history).

The Current Edition of ISO/IEC 9075 for SQL

If you don’t want to read all the history on SQL that we’ve detailed below, to make things short, SQL was standardized in ANSI X3.135 in 1986, and, within a few months, it was adopted by ISO as ISO 9075-1987. While most vendors modify SQL to meet their needs, they generally base their programs off the current version of this standard. The international standard (now ISO/IEC 9075) has been revised periodically ever since, most recently in 2016. It exists in 9 parts:

ISO/IEC 9075-1:2016 – Information technology – Database languages – SQL – Part 1: Framework (SQL/Framework)

This document has a corrigendum: ISO/IEC 9075-1:2011/Cor1:2013

ISO/IEC 9075-2:2016 – Information technology – Database languages – SQL – Part 2: Foundation (SQL/Foundation)

ISO/IEC 9075-3:2016 – Information technology – Database languages – SQL – Part 3: Call-Level Interface (SQL/CLI)

ISO/IEC 9075-4:2016 – Information technology – Database languages – SQL – Part 4: Persistent stored modules (SQL/PSM)

ISO/IEC 9075-9:2016 – Information technology – Database languages – SQL – Part 9: Management of External Data (SQL/MED)

ISO/IEC 9075-10:2016 – Information technology – Database languages – SQL – Part 10: Object language bindings (SQL/OLB)

ISO/IEC 9075-11:2016 – Information technology – Database languages – SQL – Part 11: Information and definition schemas (SQL/Schemata)

ISO/IEC 9075-13:2016 – Information technology – Database languages – SQL – Part 13: SQL Routines and types using the Java TM programming language (SQL/JRT)

ISO/IEC 9075-14:2016 – Information technology – Database languages – SQL – Part 14: XML-Related Specifications (SQL/XML)

Please note that the developer of the original standard, ANSI X3.135-1986, was the Accredited Standards Committee (ASC) X3, which is now the ANSI-accredited standards developing organization INCITS. Today, while the ISO/IEC Joint Technical Committee (JTC) 1 for Information Technology develops the international standard, INCITS adopts the ISO/IEC 9075 series into American National Standards.

Read on if you’re interested in how SQL came to be.

SQL: A Standardized History

When SQL was established in the early 70s, it was called SEQUEL (Structured English Query Language). However, due to a copyright issue, it was changed it to SQL. In fact, SQL is typically pronounced “sequel” today, but some favor the non-acronym pronunciation of “ess-cue-el” (in case you didn’t know, an acronym is an abbreviation you can pronounce like a word, e.g. SQL or ANSI).

The progenitors of SQL, Donald Chamberlin and Ray Boyce, drawing from the model established by E. F. Codd in his paper, “A Relational Model of Data for Large Shared Data Banks,” developed the programming language in their own paper “SEQUEL: A Structured English Query Language.” They took Codd’s languages with the goal of designing a relational language that would be more accessible to users without a formal training in mathematics or computer science. This original SQL version they designed was used to manipulate and retrieve data stored in IBM’s original relational database systems, known as “System R.”

ANSI X3.135 SQL Specification

In the succeeding years, SQL was not publicly available. However, in 1979, Oracle, then known as Relational Software, released its own version of SQL called Oracle V2, which was commercially released. It is important to note that SQL wasn’t the first programming language for navigating databases, but it did cut an impeccable presence due to its intuitiveness, power, and reliability. There’s a reason why we’re still talking about it today.

However, the prolonged success of SQL cannot be attributed to its qualities alone. The helping hand of standards not only aided SQL in approaching universality, but it also added key attributes to what has blossomed into its modern specifications. This all started when ANSI got involved.

In 1986, the SQL language became formally accepted, and the ANSI Database Technical Committee (ANSI X3H2) of the Accredited Standards Committee (ASC) X3 developed the first SQL standard, ANSI X3.135-1986. This was the beginning of what people mistakenly call the ANSI standard for SQL. In truth, there are no ANSI standards, only standards developed by ANSI-approved committees, many operating in accordance with the ANSI Essential Requirements (American National Standards). Within a few months, ISO published a technically identical standard, ISO 9075-1987, bringing SQL, which was once confined to IBM’s databases in its infancy, to the international stage.

Around the time of this standard’s initial publication, more profound specifications regarding SQL were surely needed, but ANSI X3.135-1986 did help to set the groundwork for some important capabilities for the coding language. This standard gave the ability to invoke SQL capabilities from four programming languages: COBOL, FORTRAN, Pascal, and PL/I.

These standards were revised in concert, first in 1989 (ANSI X3.135-1989 and ISO/IEC 9075:1989) and again in 1992 (ANSI X3.135-1992 and ISO/IEC 9075:1992). The 1989 edition added supported for two additional programming languages, Ada and C. These editions colloquially became known as SQL-86, SQL-89, and SQL-92. So, if you hear those names in reference to an SQL format, note that it is referring the various editions of this standard.

SQL Specification ANSI Standard

Prior to the next revision, the Accredited Standards Committee X3, Information Technology, changed. From 1961 to 1996, this ANSI-accredited standards developing committee operated in numerous facets of the industry while being sponsored by ITI, a trade association then known as the Computer and Business Equipment Association (CBEMA). However, at the end of this period. ASC X3 became INCITS (the International Committee for Information Technology Standards), an ANSI-accredited standards developing organization.

The standard was revised again in 1993 (SQL3), 2003, 2008, 2011, and 2016, which remains the current edition. The SQL standard has come in several parts since the turn of the century, but, since the 2003 edition, it has been subdivided into 9 parts, each covering a different aspect of the overall standard and falling under the encompassing title, Information Technology – Database languages – SQL.

The international standard ISO/IEC 9075 for SQL is developed by the ISO/IEC Joint Technical Committee (JTC) 1 for Information Technology. The current edition, ISO/IEC 9075:2016, has had each of its 9 parts adopted by INCITS as American National Standards.

This half-century developmental process brought us a more viable form of the SQL language that we know and depend upon today. SQL is used by numerous vendors, and, while most major vendors do modify the language to meet their desires, most base their SQL programs off the standard version. ISO/IEC 9075:2016, much like many other existing voluntary consensus standards, is designed to foster innovation and competitiveness, not hinder it.

2 thoughts on “The SQL Standard – ISO/IEC 9075:2016

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.