Wissen > 1. Klassische Datenbanken > Geschichte von SQL

SQL Geschichte

SQL (Struktured Query Language) ist eine mächtige Datenbanksprache, deren Entwicklung in den frühen 70er Jahren begann. In den IBM Forschungslaboratorien bei San José (Kalifornien) haben die Mitarbeiter R.F.Boyce und D.D.Chamberlain im Rahmen eines Projektes, das sich System R nannte, nach praktischen Ansätzen für die Umsetzung relationaler Datenbank-Theorien gesucht. Man versuchte die Nachteile der bisherigen Datenmodelle (dem hierarchischen und dem Netzwerk-Datenmodell) zu beseitgen, um eine konsequente Trennung von logischer bzw. physikalischer Ebene einer Datenbank zu erreichen.

Als Vorgängersprachen von SQL gelten die Sprachen SEQUEL und SEQUEL/2 was für Structured English Query Language steht. Als man auf der Suche nach einer Definition von abbildungsorientierten Sprachen war, entwickelte man sehr stark mathematiklastige Notationen, die die Sprache SEQUEL prägten. So war man nun besträbt eine einfachere, für den Nicht-Mathematiker verstädliche Sprache mit stark verringertem mathematischen Syntax zu entwickeln. Jedoch erst später wurde sie in SQL (Structured Query Language) umbenannt.

Erste Varianten dieser Sprache waren jedoch kaum praktikabel, da nur einzelne Tabellen verwaltet werden konnten und fortgeschrittene Techniken (z.B. Joins) überhaupt nicht möglich waren.

Nun wuchs der Bedarf an relationalen System stark und damit auch der Bedarf einer wirklich einheitlichen Sprache, welche möglichst bei allen Implementierungen in gleicher Weise verfügbar sein sollte.

So begann man 1982, die Datenbanksprache durch das American Standard Insitut (ANSI) zu standardisieren. Wirklich gelang dies erst im Jahr 1986 mit dem SQL-86 Standard (manchmal auch als SQL-87 bezeichnet - Publikation Anfang 1987). Dieser wurde nun auch von der International Standard Organisation (ISO) übernommen. In diesem Sprachvorschlag fehlten jedoch sowohl Konstrukte zur Einbettung von SQL in eine Wirtsprache als auch große Teile der Datendefinitionssprache. Zusätzlich war es nicht möglich, Integritätsbedingungen zu formulieren. Der nächste Standard, genannt SQL 89 oder SQL-1 nahm sich dieser Mängel an. Hier wurden Sprachmittel definiert, mit denen Integritätsbedingungen auf Datenebene, Schlüsselbedingungen und referenzielle Bedingungen formuliert werden konnten. Nun gab es den Wunsch nach weiteren Verbesserungen und Erweiterungen worauf man SQL-2 (oder SQL-92) etwickelte. Wobei die Einbettung von SQL in Wirtsprachen nun vollständig standardisiert war. Der neueste Standard SQL-3, erweitert um die Fähigkeiten zur Darstellung von abstrakten Datentypen, sowie um obektorientierte Konzepte. Da die Verbindung von SQL und prozeduralen Sprachkonstrukten sehr mächtig ist, soll mit SQL der Zugriff auf objektorientierte Datenbanksysteme möglich sein.

SQL-Dialekte

Es existieren viele verschiede kommerzielle Datenbanken von denen ein Großteil der Produktivsysteme SQL-Dialekte verwendet. Leider muß man von Dialekten sprechen da sich diese Produkte nur teilweise an die zwei folgenden ISO-Standards halten.

Der neueste Standard nennt sich SQL-3 (oder auch SQL-1999). Dieser Standard definiert einige neue Eigenschaften, welche man in objektorientierte und relationale unterteilen kann.

Die Abweichungen der Systeme von den ISO-Normen lassen sich generell in zwei Richtungen gliedern:

  1. Funktionen werden nur teilweise implementiert oder sind nicht in der standardisierten Form vorhanden.

  2. Es wird der Funktionsumfang in inkompatibler Weise erweitert, um sich von der Konkurrenz abzugrenzen bzw. einen Markvorteil zu erreichen. Da der Markt von relativ wenigen Firmen beherrscht wird, entstehen dadurch Produkte die eigene Richtlinien setzen und so zum Quasi-Standard werden.

Weiterführende Abschnitte:

> deklarative Sprachen <fit-gruppe 4>
> Sprachen im Überblick <fit-gruppe 4>
> Computersprachen <fit-gruppe 3>

Quellennachweis

  1. Geschichte von SQL
  2. Generierung von Datenbankformularen