Die Entstehung von SQL beginnt mit einer Frage, die heute selbstverständlich wirkt: Wie kann man Daten abfragen, ohne ihren Speicherort und die internen Zugriffswege kennen zu müssen? Eine Antwort darauf lieferte Edgar F. Codd mit dem relationalen Modell. Aus einem Forschungsprojekt bei IBM entstand wenige Jahre später eine Sprache, die bis heute den Umgang mit relationalen Datenbanken prägt.

Vor SQL: Daten suchen hieß Wege kennen

In den 1960er-Jahren waren viele Datenbanksysteme hierarchisch oder netzwerkartig organisiert. Programme mussten häufig wissen, wie Datensätze miteinander verknüpft waren und welchen Weg sie durch diese Struktur nehmen sollten. Wenn sich die interne Organisation änderte, mussten Anwendungen oft angepasst werden. Für neue Fragestellungen brauchte es entsprechend viel technisches Wissen.

SQL setzte später an einer anderen Stelle an: Eine Abfrage beschreibt vor allem, welches Ergebnis gebraucht wird. Wie die Datenbank passende Zeilen findet, entscheidet das Datenbanksystem mit seinen Speicherstrukturen und dem Abfrageoptimierer. Das ist ein wesentlicher Grund, warum dieselbe Tabelle für viele verschiedene Auswertungen verwendet werden kann.

1970: Edgar F. Codd legt die Grundlage

Edgar F. Codd veröffentlichte 1970 den Aufsatz A Relational Model of Data for Large Shared Data Banks. Darin formulierte er ein Modell, das Daten über Relationen und ihre Werte beschreibt, statt Anwendungen an physische Verknüpfungen zu binden. In der Praxis lassen sich Relationen vereinfacht als Tabellen mit Zeilen und Spalten vorstellen. Diese Vereinfachung hilft beim Einstieg, auch wenn das theoretische Modell genauer definiert ist.

Codd hat damit die Grundlage für relationale Datenbanksysteme geschaffen. Die Sprache SQL stammt jedoch nicht von ihm allein. Wer die Entstehung von SQL verstehen will, muss deshalb zwischen Datenmodell und Abfragesprache unterscheiden. Codds Originalaufsatz ist über die ACM-Veröffentlichung von 1970 zugänglich.

IBM System R und die Sprache SEQUEL

Ab 1973 arbeitete IBM an System R, einem Forschungsprojekt zur praktischen Umsetzung relationaler Datenbanken. Innerhalb dieses Umfelds entwickelten Donald D. Chamberlin und Raymond F. Boyce eine Sprache für Abfragen auf relationalen Daten. Ihr 1974 veröffentlichter Beitrag nannte sie SEQUEL, kurz für Structured English Query Language.

SEQUEL sollte verständliche, kombinierbare Ausdrücke für die Arbeit mit tabellarischen Daten bieten. Der Name wurde später zu SQL verkürzt. Heute wird die Abkürzung üblicherweise als Structured Query Language ausgeschrieben. Historisch erklärt SEQUEL auch, warum manche Menschen SQL „Sequel“ aussprechen; andere buchstabieren „S-Q-L“.

System R war ein Forschungsprototyp und kein Produkt, das Kunden einfach installieren konnten. Das Projekt zeigte jedoch, dass relationale Abfragen in einem realen Datenbanksystem funktionieren. Dazu gehörte auch die Arbeit an der automatischen Wahl geeigneter Ausführungswege. Eine IBM-Veröffentlichung von Chamberlin und Boyce dokumentiert die frühe Sprache aus erster Hand.

Warum die Entstehung von SQL wichtig war

Der Unterschied lässt sich an einer einfachen Frage zeigen: „Welche Bestellungen gehören zu Kunden aus Berlin?“ Mit SQL formulierst du die Tabellen, die Verknüpfung und den Filter. Du legst nicht fest, welche Datenseite zuerst gelesen oder welchem physischen Zeiger gefolgt werden muss:

SELECT k.Name, b.Bestellnummer
FROM Kunden AS k
JOIN Bestellungen AS b
  ON b.KundenID = k.KundenID
WHERE k.Ort = 'Berlin';

Das Beispiel setzt passende Tabellen und Spalten voraus und dient der Veranschaulichung. Eine SQL-Abfrage kann mehr als Daten lesen: Mit INSERT, UPDATE und DELETE änderst du Daten; mit CREATE TABLE definierst du Strukturen. SQL ist damit eine Sprache für die Arbeit mit Datenbanken, nicht nur eine Suchsyntax. Die Grundlagen erklärt auch die Einführung in die Datenbanksprache SQL.

Von der Forschung zum kommerziellen Einsatz

Die Entstehung von SQL blieb nicht auf IBM beschränkt. 1979 brachte Relational Software, Inc. die Datenbank Oracle V2 heraus. Laut Oracle-Dokumentation war sie das erste kommerziell verfügbare SQL-basierte relationale Datenbanksystem. Die Firma erhielt später den Namen Oracle.

IBM führte 1983 Db2 als Produkt auf Mainframe-Systemen ein. Damit wurde aus den Ideen des Forschungsprojekts ein Teil des produktiven Datenbankmarkts. Weitere Hersteller entwickelten eigene relationale Datenbanksysteme und übernahmen SQL als gemeinsame Grundlage.

Die wichtigsten Stationen im Überblick

Jahr Entwicklung Bedeutung
1970 Codds Aufsatz zum relationalen Modell Theoretische Grundlage für die Trennung von logischer Datenbeschreibung und physischer Speicherung.
Ab 1973 IBM beginnt das Projekt System R Relationale Datenbanken werden praktisch erprobt.
1974 Chamberlin und Boyce veröffentlichen SEQUEL Frühe Form der späteren Sprache SQL.
1979 Oracle V2 kommt auf den Markt SQL erreicht kommerzielle Datenbanksysteme.
1983 IBM liefert Db2 aus Relationale Datenbanken etablieren sich auch im IBM-Produktportfolio.
1986/1987 ANSI- und ISO-Standardisierung Ein gemeinsamer Sprachkern erhält formale Regeln.
1992 bis heute Fortlaufende Standardrevisionen SQL wird erweitert und an neue Anforderungen angepasst.

1986 und 1987: SQL wird standardisiert

1986 erschien ein ANSI-Standard für SQL, 1987 folgte die internationale ISO-Standardisierung. Spätere Revisionen erweiterten die Sprache; besonders bekannt ist SQL-92. Die Normen gehören zur Reihe ISO/IEC 9075, die weiterhin gepflegt wird. Die Standardisierung schuf eine gemeinsame Grundlage für Syntax und Verhalten, ersetzte aber nicht die Unterschiede zwischen Datenbanksystemen.

SQL Server verwendet beispielsweise T-SQL für zusätzliche Funktionen und prozedurale Logik. Oracle Database nutzt eigene Erweiterungen, darunter PL/SQL. Auch Datentypen, Funktionen, Fehlerbehandlung und Details der Syntax können voneinander abweichen. Wer SQL zwischen Systemen überträgt, muss deshalb immer den konkreten Dialekt prüfen. Einen Einstieg in die Microsoft-Variante bietet der Beitrag Microsoft SQL Server im Überblick.

Was von den ursprünglichen Ideen geblieben ist

Die Entstehung von SQL erklärt, warum viele heutige Datenbankaufgaben ähnlich aussehen: Daten liegen in Tabellen, Beziehungen werden über Werte hergestellt, und Abfragen beschreiben ein gewünschtes Ergebnis. Datenbanksysteme entscheiden, wie sie dieses Ergebnis effizient ermitteln. Das macht Indizes und Ausführungspläne wichtig, ohne dass jede Abfrage einen physischen Suchweg vorgeben muss.

Gleichzeitig ist SQL keine in jeder Datenbank vollständig identische Sprache. Der gemeinsame Kern erleichtert den Einstieg, für produktive Anwendungen zählen jedoch die Regeln des eingesetzten Systems. Wenn du Tabellen sinnvoll aufbauen willst, lies anschließend den Beitrag zur Normalisierung von Datenbanken.

Häufige Fragen zur Entstehung von SQL

Wer hat SQL erfunden?

Donald D. Chamberlin und Raymond F. Boyce entwickelten bei IBM die frühe Sprache SEQUEL, aus der SQL hervorging. Edgar F. Codd lieferte mit seinem relationalen Modell die entscheidende theoretische Grundlage.

Wofür steht SQL?

SQL steht für Structured Query Language. Der frühere Name SEQUEL bedeutete Structured English Query Language.

Ist SQL eine Programmiersprache?

SQL ist eine spezialisierte Sprache für Datenbanken. Sie umfasst Abfragen, Datenänderungen und die Definition von Datenbankobjekten. Viele Datenbanksysteme ergänzen sie um eigene prozedurale Funktionen.

Ist SQL überall gleich?

Es gibt einen standardisierten Kern, aber Produkte wie SQL Server, PostgreSQL, MySQL, Db2 und Oracle Database unterscheiden sich in Erweiterungen und Details. Portabilität muss für jede konkrete Abfrage geprüft werden.

Fazit

Die Entstehung von SQL führte vom relationalen Modell Codds über IBMs System R und SEQUEL zu kommerziellen Datenbanken und internationalen Standards. Der entscheidende Gedanke ist bis heute nützlich: Du formulierst, welche Daten du brauchst, während das Datenbanksystem den Ausführungsweg plant. Wer diese Herkunft kennt, versteht auch besser, warum Tabellen, Schlüssel und Abfragepläne zusammengehören.

Quellen und weiterführende Lektüre