T1#standard

The First SQL Standard — ANSI X3.135-1986 and ISO 9075:1987

Metadata

Date
Decade
1980s
Tier
T1
Sources
09
Connections
00
Tags
#standard

On 16 October 1986 the American National Standards Institute approved a document titled American National Standard for Information Systems — Database Language — SQL, designation X3.135-1986. Twelve years after Chamberlin and Boyce's SEQUEL paper, the query language of an IBM research prototype had become a national standard — and within a year an international one.

If you are looking for the answer to "when was SQL standardized," it is that date. The rest of this article is about what the standard contained, who wrote it, what it left out, and why that mattered.

Who Wrote X3.135-1986

The standard's foreword is specific about its origin. It was developed by Technical Committee X3H2 on Database, under project 363D, authorized by the Accredited National Standards Committee on Information Processing Systems, X3. The secretariat was the Computer and Business Equipment Manufacturers Association. The project's purpose, quoted from SPARC document 81-689, was to "develop a standard for the functionality of the interfaces" to a relational database management system, functions "used in defining, querying, and altering relational databases."

The roster printed in the standard names Donald Deutsch as chair of X3H2, Oris Friesen as vice-chair, Michael Gorman as secretary and Leonard Gallagher as international representative.

The text the committee standardized was not invented from scratch. At the 1995 reunion of the System R team, Jim Gray recalled that the committee had been working on a relational language of its own without making progress until Phil Shaw — whose name is on the X3H2 roster — brought them something close to IBM's SQL manual. Chamberlin added that the document was largely the work of IBM's Bob Engles, who had studied System R and written down exactly what it did, "warts and all" in Chamberlin's telling; Roger Miller, in a note added to the reunion transcript, described Engles's "SQL Control Document" as the foundation for the ANSI and ISO standards. The standards committee, Chamberlin said, blessed it — "They kept all the warts, too."

What the 1986 Standard Specified

The scope clause defines two languages: a schema definition language, SQL-DDL, for declaring the structures and integrity constraints of a database; and a module language plus data manipulation language, SQL-DML, for the procedures and statements of an application program.

ElementWhat X3.135-1986 says
LevelsLevel 2 is the complete language; Level 1 is a defined subset
Host languagesAnnexes give embedded syntax for COBOL, FORTRAN, Pascal and PL/I
Data manipulationDECLARE CURSOR, OPEN, FETCH, CLOSE, INSERT, searched and positioned UPDATE and DELETE, SELECT, COMMIT, ROLLBACK
Query clausesFROM, WHERE, GROUP BY, HAVING, subqueries
Status reportingAn SQLCODE parameter
Stated purpose"a vehicle for portability of database definitions and application programs between conforming implementations"

The annexes assume, in the standard's own words, SQL statements included "in an otherwise standard application program." The 1986 standard treated SQL as something a COBOL or PL/I program carried, as much as something a person typed.

What It Left Out

A note in the scope clause is as revealing as anything in the body. It says additional language was planned for later addenda, and lists the topics under consideration: referential integrity, enhanced transaction management, specification of certain implementor-defined rules, enhanced character handling, and national character sets.

In other words, the first SQL standard had no foreign keys. The relational model's mechanism for keeping one table consistent with another was not in it.

Gray's version of what happened next is a story of a bargain: the international body would accept the American text if it got to write the foreign-key design, which became, in his words, "basically SQL ’89." The ISO catalogue shows the result plainly. The second edition, ISO/IEC 9075:1989, carries the title Database Language SQL with integrity enhancement, was published in April 1989, and runs to 120 pages.

ANSI in 1986, ISO in 1987

The two designations are often merged into "SQL-86," but they are separate documents with separate dates. ISO lists ISO 9075:1987, Information processing systems — Database language — SQL, as edition 1, published in June 1987, now withdrawn and superseded by the 1989 edition. The ANSI text, for its part, notes that it had been adopted for US federal government use through Federal Information Processing Standards Publication 127.

Criticism, Then Correction

The standard arrived after critics had already catalogued SQL's shortcomings — C. J. Date's "A Critique of the SQL Database Language" had appeared in ACM SIGMOD Record in November 1984. Chamberlin's own retrospective is candid about them: the earliest versions of SQL lacked support for primary keys and referential integrity, did not allow subqueries in place of named tables, and gave no way to name the columns of a query result. At the 1995 reunion he gave an example of the non-orthogonal rules inherited from System R: you could not do a GROUP BY if you also did a UNION — for no special reason, he said, except that somebody had not had time to build it.

All of these, Chamberlin writes, were corrected by the 1992 version of the standard. ISO's record for ISO/IEC 9075:1992 gives a publication date of November 1992 and a length of 587 pages — nearly five times the 1989 edition.

Why a Standard Mattered

The standard did not make SQL implementations identical. Chamberlin notes that vendors "had a regrettable tendency to implement different subsets of the standard and to include proprietary features." What it did, in his assessment, was provide a common ecosystem in which vendors could build competing implementations, tools and training materials — and reassure users that they would not become dependent on a single software vendor. The National Institute of Standards and Technology built a conformance test suite, and many SQL-based products were validated by it between 1988 and 1996.

That reassurance was the commercial point. Commercial implementations such as Oracle and DB2 had been appearing since the late 1970s and early 1980s, by Chamberlin's dating. After October 1986 a buyer choosing an "SQL database" could point to a document that defined what the term meant.

The document kept growing. By the time of the 1995 reunion, Chamberlin said the ISO SQL standard was about 1,600 pages. The current edition of its core part, ISO/IEC 9075-2:2023, is the sixth. The relational systems that came later on this timeline — MySQL, PostgreSQL, SQLite — all speak dialects of the language this document first fixed.

Questions this page answers

When was SQL first standardized?
ANSI approved it as X3.135-1986 on 16 October 1986. The international standard, ISO 9075:1987, was published in June 1987.
Did SQL-86 include foreign keys?
No. The standard itself listed referential integrity among topics planned for later addenda. Foreign keys arrived with ISO/IEC 9075:1989, the edition 'with integrity enhancement', published in April 1989.
Who wrote the SQL standard?
Technical Committee X3H2 on Database, under ANSI's X3 committee, chaired for the 1986 edition by Donald Deutsch. Its base was IBM's specification of SQL.

Sources

  1. PrimaryAmerican National Standard for Information Systems — Database Language — SQL, ANSI X3.135-1986 (as adopted in FIPS PUB 127) — NIST

    The approval date of 16 October 1986, X3H2 and project 363D, the SPARC 81-689 purpose statement, the committee roster, the two levels, embedded syntax for four languages, and the note deferring referential integrity

    Accessed 2026-10-03

  2. PrimaryISO 9075:1987 — Information processing systems — Database language — SQL

    Published June 1987, edition 1, withdrawn, superseded by ISO/IEC 9075:1989

    Accessed 2026-10-03

  3. PrimaryISO/IEC 9075:1989 — Information processing systems — Database Language SQL with integrity enhancement

    Published April 1989, edition 2, 120 pages

    Accessed 2026-10-03

  4. PrimaryISO/IEC 9075:1992 — Information technology — Database languages — SQL

    Published November 1992, edition 3, 587 pages, JTC 1/SC 32

    Accessed 2026-10-03

  5. PrimaryEarly History of SQL — Donald D. Chamberlin, IEEE Annals of the History of Computing 34(4), 78–82, 2012

    NIST conformance testing 1988–1996, the 1992 edition's corrections, vendors' partial implementations and proprietary features

    Accessed 2026-10-03

  6. PrimaryThe 1995 SQL Reunion: People, Projects, and Politics — ed. Paul McJones, DEC SRC Technical Note 1997-018

    Jim Gray's and Chamberlin's recollections of how the standard was made; Bob Engles's 'SQL Control Document'

    Accessed 2026-10-03

  7. TertiarySQL — Wikipedia

    Accessed 2026-10-03

Last updated:

Share