Weiter Zurück Inhalt

2. Die Datenbanksprache SQL

In den vorangegangenen Ausführungen wurde immer wieder auf eine gemeinsame Sprache zwischen Client und Server hingewiesen, ohne daß sie bisher beim Namen genannt wurde. Die etablierte Sprache für diesen Verwendungszweck heißt SQL, Structured Query Language, deutsch ,,Strukturierte Abfragesprache''; sie entstand in den 1970er Jahren bei IBM und wurde seither mehrfach erweitert und (erst 1989) standardisiert. Der momentan gültige Standard stammt aus dem Jahr 1992 und wird als SQL02 oder SQL2 bezeichnet.

Bedauerlicherweise erweitern viele Hersteller von SQL-konformen Datenbanksystemen (RDBMS: Relationales Datenbankmanagementsystem) den SQL-Sprachstandard mit proprietären Erweiterungen, die nur teilweise ihren Weg in die Folgeausgabe des Standards finden. Der Programmierer von SQL-Systemen muß daher entscheiden, ob er ein portables System auf ANSI-SQL-Basis erstellt oder aber Sonderbefehle einzelner Hersteller benutzt, um bestimmte Effekte zu erreichen.

2.1 Merkmale und Schlüsselwörter von SQL

SQL ist eine an den Imperativformen des Englischen orientierte Sprache, die für Menschen und Maschinen gleichermaßen verständlich ist. Alle SQL-Anweisungen folgen dem einfachen Schema Verb Objekt 1 [Objekt 2] [Ergänzungen]. Um beispielsweise eine Datenbank zu erstellen, gibt man das Kommando CREATE DATABASE Tatort.

Innerhalb von SQL unterscheidet man zwischen Kommandos, die für die Verwaltung der Datenbanken benötigt werden und daher nicht jedem Benutzer der Datenbank, sondern nur dem Datenbankverwalter zugänglich sind, Kommandos, die für die Abfrage der Datenbestände benötigt werden, sowie Funktionen und den zulässigen Datentypen, mit denen das Datenbanksystem umgehen kann.

Verwaltungskommandos

Die wichtigsten Kommandos betreffen selbstverständlich das Einrichten und Löschen ganzer Datenbanken sowie der in ihnen enthaltenen Tabellen. Die entsprechenden Schlüsselwörter heißen CREATE und DROP. Manche Hilfsprogramme (z.B. das Verwaltungsprogramm mysqladmin von MySQL) verstehen vereinfachte Versionen dieser Kommandos, so daß spezifische, laut ANSI SQL-92 vorgeschriebene Hilfswörter in diesen Dienstprogrammen nicht benutzt werden müssen.

CREATE DATABASE database

Erzeugt eine neue, leere Datenbank. Es werden noch keine einzelnen Tabellen angelegt.

DROP DATABASE database

Löscht eine bestehende Datenbank endgültig.

CREATE TABLE table

Mit diesem Befehl wird eine Tabelle eingerichtet. Es müssen unbedingt die Felder der Tabelle in der Form Feldbezeichner DATENTYP angegeben werden.

DROP TABLE table

Entfernt eine Tabelle aus einer bestehenden Datenbank.

Abfragekommandos

Datentypen

Gängige Datentypen für Felder einzelner Tabellen sind:

BLOB

Binary Large Object -- also Bilder, Klangdateien, etc. Maximale Länge bei MySQL: 1048543 Bytes (Wird nicht von mSQL unterstützt).

CHAR, CHARACTER

Je nach Datenbankmodell zwischen 255 und 32767 Zeichen lang.

DATE

Datumsvariable

FLOAT

Fließkommazahl

INT, INTEGER, SMALLINT

Ganzzahlen verschiedener Größe

REAL

Bruchzahlen

TIME

Zeiteinheit; unterstützt auch meistens das direkte Rechnen mit Zeitgrößen

Funktionen

Nicht alle Datenbankanbieter unterstützen den vollständigen Umfang aller in ANSI SQL-92 beschriebenen Funktionen. Mathematische und trigonometrische Funktionen, ebenso wie Zeit- und Datumsberechnungsfunktionen, sind in MySQL umfassend integriert, während sie in mSQL nahezu vollständig fehlen. Hier ist der Client-Programmierer gezwungen, die Funktionen in einer anderen Programmiersprache zu nachzubilden (oder deren Bibliotheken zu benutzen) und diese in geeigneter Weise mit SQL-Statements zu verknüpfen.


Weiter Zurück Inhalt