Vor relationalen Datenbanken bedeutete Abfragen navigieren: Der Nutzer gab Zugriffspfade, Indizes und Prozeduren Satz für Satz vor, und jedes System hatte seine eigene Sprache. 1970 veröffentlichte Edgar Codd bei IBM Research „A Relational Model of Data for Large Shared Data Banks“ und plädierte für ein Modell auf Basis von Tabellen mit dem Ziel der Datenunabhängigkeit.

IBM baute SQL auf dem relationalen Fundament auf, und Mitte der 1980er Jahre hatte die Sprache genug Schwung, um standardisiert zu werden: ANSI X3.135-1986, Database Language SQL. Im März 1987 übernahm das US National Bureau of Standards sie als FIPS PUB 127 und erklärte als Zweck, die Portabilität von Datenbankdefinitionen und Datenbankanwendungsprogrammen zwischen verschiedenen Installationen zu fördern.

Das deklarative Design war der Kern: Anwendungen sagen, welche Daten sie wollen, und die Datenbank entscheidet, wie sie sie bekommt. Diese Trennung ließ SQL über Anbieter hinweg bestehen, von Mainframes bis zu eingebetteten Geräten, und machte es zur einzigen Abfragesprache, die jedes Datenbanksystem sprechen musste.

Deklariere, was du willst; lass das System entscheiden, wie

Deklarative Abfragen befreiten Anwendungen von der Abhängigkeit von den Speicherdetails eines Anbieters.

Ein einziger ANSI-Standard gab Käufern eine gemeinsame Beschaffungssprache.

Die Übernahme durch den Staat (FIPS 127) erzwang Portabilität in den Anforderungen des öffentlichen Sektors.

Die Sprache, die überlebt, verlagert die harte Arbeit auf die Plattform: Deklarative Abfragen lassen Nutzer frei zwischen Datenbanken wechseln, und die Standardisierung machte Portabilität zu einer Beschaffungsanforderung.

SQL wurde zur universellen Datenbanksprache: ISO/IEC 9075 entwickelt sie weiter, jede große Datenbank-Engine implementiert einen Dialekt, und das relationale Modell, das sie verkörperte, trieb die Datenbankbranche jahrzehntelang an. Spätere NoSQL-Systeme definierten sich gegen sie, was ihren Status als Standard nur bestätigt.

DEN BELEGEN FOLGEN

Die Quellen

  1. A Relational Model of Data for Large Shared Data Banks (E.F. Codd, CACM 13(6), 1970) Communications of the ACM / University of Pennsylvania · seas.upenn.edu
  2. FIPS PUB 127: Database Language SQL (adopting ANSI X3.135-1986) US National Bureau of Standards (NIST) · nvlpubs.nist.gov