Seit der ersten Formulierung des relationalen Modells durch Codd (1970) wurde an der Entwicklung einer Datenbanksprache gearbeitet, die am relationalen Modell ausgerichtet ist. Seit Anfang der 80er Jahre existierten erste kommerzielle Implementierungen einer solchen Sprachschnittstelle unter dem Namen SQL (Structured Query Language). SQL wurde erstmals 1987 von der International Organization for Standardization normiert (Standard ISO/IEC 9075:1987).
Heutzutage ist SQL die am meisten verbreitete Sprache zur Bearbeitung von relationalen Datenbanken. In der Praxis wird ein Datenbanksystem als relational bezeichnet, wenn es die SQL-Schnittstelle unterstützt.
Analog zum relationalen Modell erfolgt in SQL die Abbildung der Datenstruktur auf Tabellen. Darin werden Daten abgefragt, eingefügt, verändert oder gelöscht. Über die Verknüpfung von Tabellen bzw. Ergebnismengen mehrerer Abfragen lassen sich komplexe Datenbankoperationen formulieren.
SQL ist eine in den Grundzügen leicht erlernbare und gleichzeitig für komplexe Anwendungen geeignete Sprache für relationale Datenbanken. Die Formulierung der Datenbankoperationen in SQL lehnt sich an die englische Sprache an. SQL besitzt Sprachmittel für einfache, mengenorientierte Grundoperationen, auf die sich alle Datenmanipulationen zurückführen lassen.
Im Gegensatz zu den prozeduralen Sprachen nicht-relationaler Datenbanksysteme ist SQL deskriptiv ausgelegt. Das bedeutet, der Anwender beschreibt in einer mengenorientierten Form - wie im relationalen Modell - das Ergebnis einer Datenbankoperation und nicht die zu diesem Ergebnis führenden Schritte. Eine einzelne SQL-Anweisung kann so eine Vielzahl von Operationen auf der Datenbank bewirken, für die bei satzorientierter Verarbeitungsweise viele Anweisungen notwendig wären.
SESAM/SQL basiert auf dem Standard ISO/IEC 9075:<jahr>, kurz SQL-Norm genannt. Der aktuelle Standard ist ISO/IEC 9075:2008, kurz SQL08 genannt.
SESAM/SQL verfügt über umfangreiche, standardkonforme SQL-Sprachmittel u.a. zur
Datendefinition einschließlich der Verwaltung von Zugriffsrechten
Datenmanipulation
Transaktionsverwaltung
dynamischen SQL
Der Standard ISO/IEC 9075:1992 unterscheidet die drei Stufen der Normkonformität „Entry Level“, „Intermediate Level“ und „Full Level “. SESAM/SQL deckt den Entry Level vollständig ab sowie den Intermediate Level und den Full Level in wichtigen Funktionen.
Der aktuelle Standard hat diese Einteilung in drei Stufen nicht übernommen. Es wurde Core SQL als Sprachkern eingeführt. Core SQL ist eine echte Obermenge zu Entry SQL und wird von SESAM/SQL vollständig unterstützt.
Neben der durch die Norm festgelegten SQL-Funktionalität kennt SESAM/SQL eigene SQL-Sprachmittel für noch nicht genormte Funktionen, zum Beispiel
zur Behandlung multipler Spalten
zur Verwaltung der Speicherstrukturen
zur Verwaltung von Benutzereinträgen
zum Ausführen von sogenannten Utility-Anweisungen.
Utility-Anweisungen sind Anweisungen in SQL-Syntax, die Utility-Funktionen für die Datenbankverwaltung wie Generieren, Laden, Entladen, Kopieren und Reorganisieren von Datenbanken bereitstellen.
Beim Übersetzen von SQL-Programmen kann der Anwender den SQL-Sprachumfang auswählen; damit wird die Entwicklung portierbarer Anwendungen unterstützt.
SQL-Anweisungen können bei SESAM/SQL in mehreren Umgebungen eingesetzt werden:
innerhalb der Wirtssprache COBOL als eingebettete SQL-Anweisungen (embedded SQL=ESQL), siehe "ESQL-COBOL".
innerhalb von DRIVE, einer Programmiersprache der 4. Generation, siehe "DRIVE".
über den Utility-Monitor, der eine menügesteuerte Oberfläche für die Datenbankverwaltung bietet, siehe "Komfortable Administration".
über die von Microsoft definierte ADO-Technologie (ActiveX Data Objects) und der ADO.NET-Schnittstelle in Client-Anwendungen auf Windows-Systemen, siehe "Entfernte Datenhaltung mit Zugriff über Standard-Schnittstellen".
über die JDBC-Schnittstelle für den Zugriff auf SESAM/SQL aus Java-Programmen bzw. Java-Applets auf beliebigen Plattformen, siehe "Entfernte Datenhaltung mit Zugriff über Standard-Schnittstellen".
über den PDO-Treiber von SESM/SQL für die PHP-Schnittstelle (PHP: Hypertext Processor) auf einem Apache Webserver in einer Application Unit unter Linux eines FUJITSU Server BS2000 SE Serie.
SESAM/SQL verwendet SQL-Sprachmittel zur Datendefinition und Datenmanipulation in standardkonformer Weise und stellt alle wesentlichen Funktionen zur Datenbankverwaltung in SQL-Syntax zur Verfügung. Mit SQL liegt somit eine standardisierte, einheitliche Sprache für unterschiedliche Benutzergruppen wie Endbenutzer, Anwendungsprogrammierer und Datenbankverwalter vor, die das Erstellen portierbarer Datenbank-Anwendungen erleichtert. Mit dem Utility-Monitor als Bestandteil von SESAM/SQL (siehe "Komfortable Administration") steht eine komfortable Oberfläche für alle wichtigen Aufgaben der Datenbankverwaltung zur Verfügung.
Bild 1: SQL-Schnittstelle