案例库 · 软件与 IT · 技术决策 · 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
那一手
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.
为什么管用
- 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.
可以搬走什么
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.
后来呢
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.
资料来源
- 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)
发现哪里写错了?告诉我们。