The encyclopedia · Software & IT · Technical decision · 1970-1987
SQL won by letting users say what, not how
Codd's relational model made queries declarative; IBM's SQL became ANSI X3.135-1986, then US federal standard FIPS 127, and the database lingua franca.
IBM · ANSI · National Bureau of Standards
the move
Before relational databases, querying meant navigating: the user specified access paths, indexes and record-at-a-time procedures, and each system had its own language. In 1970 Edgar Codd, at IBM Research, published A Relational Model of Data for Large Shared Data Banks, arguing for a model built on tables and the goal of data independence.
IBM built SQL on the relational foundation, and by the mid-1980s the language had enough momentum to be standardized: ANSI X3.135-1986, Database Language SQL. In March 1987 the US National Bureau of Standards adopted it as FIPS PUB 127, stating its purpose was to promote portability of database definitions and database application programs between different installations.
The declarative design was the point: applications say what data they want, and the database decides how to get it. That separation let SQL survive across vendors, from mainframes to embedded devices, and made it the one query language every database system had to speak.
why it works
- Declarative queries freed applications from depending on one vendor's storage details.
- A single ANSI standard gave buyers a common procurement language.
- Government adoption (FIPS 127) forced portability into public-sector requirements.
what transfers
The language that survives moves the hard work to the platform: declarative queries let users switch databases freely, and standardization turned portability into a procurement requirement.
what came after
SQL became the universal database language: ISO/IEC 9075 continues to evolve it, every major database engine implements a dialect, and the relational model it embodied powered the database industry for decades. Later NoSQL systems defined themselves against it, which only confirms its status as the default.
references
- A Relational Model of Data for Large Shared Data Banks (E.F. Codd, CACM 13(6), 1970)
- FIPS PUB 127: Database Language SQL (adopting ANSI X3.135-1986)
spotted an error? The archive wants to know.