Verunsicherung bei den Anwendern gefährdet den Durchbruch von SQL:

Alles, was Sie schon immer über SQL wissen wollten...

25.08.1989

Das Kürzel SQL hat sich in der Branche zu einem Modewort gemausert. Dahinter verbirgt sich eine Industriestandard-Sprache für relationale Datenbanken. Der Mangel an Kenntnissen könnte das zweifellos bestehende Interesse der Anwender jedoch gefährden. Nigel Geary beantwortet die zehn meist gestellten Fragen zu SQL.

- Was verbirgt sich hinter dem Kürzel SQL, und was bedeutet der Begriff?

SQL ist die Abkürzung für Structured Query Language. Jedoch bürgert sich auch in England immer mehr die amerikanische Aussprache "Sequel" für SQL ein. Das liegt vermutlich daran, daß SQL beinahe zu Structured English Query Language (SEQL) umbenannt worden wäre. SQL ist jedoch Meilen von dem entfernt, was die meisten Leute unter englischer Sprache verstehen. Man kann SQL als eine hochentwickelte Sub-Sprache definieren, die für Datenzugriff und -verwaltung innerhalb von Datenbanken verwendet wird. Die Sprache ist Bestandteil von IBMs Systems Application Architecture (SAA), die Rechnersysteme vom PC bis zum Mainframe vereinheitlichen soll.

- Ist SQL eine IBM-eigene Sprache?

Vor zwanzig Jahren begann IBM mit den ersten Forschungen zu SQL und relationalen Datenbanken. Zwar hat die IBM mit ihrem DB2-SQL-Standard auf dem Mainframe-Markt das Sagen - und das gleiche gilt im PC-Bereich für den Database-Manager von OS/2 Extended Edition. SQL ist aber heutzutage ein Industriestandard, den das American National Standards Institute (ANSI) und die International Standards Organisation (ISO) festgelegt haben und überwachen. Die ANSI- und ISO-Standards sind jedoch nicht vollständig, was eine funktionierende Implementation angeht. Deshalb hat jeder Anbieter, die IBM eingeschlossen, eigene Erweiterung an SQL vorgenommen.

- Ist SQL eine Sprache, wie zum Beispiel Dbase?

Auf gar keinen Fall. Bei Dbase handelt es sich um eine prozedurale und sequenzabhängige Programmiersprache, die zur Entwicklung von Datenbank-Anwendungen eingesetzt wird. Damit ähnelt Dbase mehr Programmiersprache wie Basic oder Pascal und kann für Menüdefinitionen, Dateneingabe-Masken, Reports und andere Front-end-Komponenten engesetzt werden. SQL ist jedoch eine non-prozedurale, weitgehend sequenzunabhängige Sprache. Das Industriestandardprodukt hat keinen "Goto"-Befehl oder Kommandos wie "While" und "Docase", die für Blockstrukturen bestimmt sind. Daher ist SQL keine Sprache zur Anwendungsentwicklung, sondern eine Sub-Sprache für Datenbank-Management-Systeme (DBMS).

- Handelt es sich bei SQL lediglich um eine Abfragesprache?

Gott sei Dank nicht. Die offizielle Bezeichnung ist deswegen umso irreführender. Das Standard-SQL, so wie es von ANSI und ISO festgelegt wurde, umfaßt drei Funktionen: Zum einen ist es eine Data Definition Language (DDF), die den Anwender über den SQL-Befehl "Create" beim Einrichten von Datenbanken und Tabellen unterstützt. Zum anderen handelt es sich um eine Data Manipulation Language (DML); mit Hilfe des "Select"-Kommandos können Daten für die Ausgabe ausgewählt, verbunden ( "Join/Union") und sortiert ("Group") werden. Darüber hinaus ist SQL eine Data Control Language (DCL) für die Datenbankverwaltung; sie wird zum Beispiel bei der Vergabe oder beim Entzug von Benutzerrechten ("Grant"/"Revoke"} verwendet.

- Sollten alle Benutzer im Umgang mit SQL geschult werden?

Nein. Die ersten SQL-Forscher bei IBM hatten sich zwar vorgestellt, daß jeder Benutzer seine eigene Abfrage eingeben kann. Aber die heutige Generation von PC-Anwendern würde verrückt, wenn sie die SQL-Syntax im Kopf behalten sollte. Benutzer von Spreadsheets oder Dateneingabesystemen sollten mit ihren Applikationen von SQL losgelöst sein. Lediglich Programmierer benötigen SQL-Kenntnisse. Genauso verhält es sich mit dem Benutzer eines komplizierten Textverarbeitungsprogramms; auch er muß nicht den Programmiercode beherrschen, um mit der Software arbeiten zu können.

- Man sagt, SQL laufe auf einem PC sehr langsam. Warum ist das so?

Bei den meisten SQL-Produkten für den Einsatz auf PCs handelt es sich um Datenbank-Management-Systeme, die ursprünglich für Minicomputer entwickelt wurden. Solche Minicomputerprogramme, die auf PCs portiert wurden, sind zum Beispiel PC-Oracle, PC-Ingres und Sybase (SQL Server). Ein nachlässig entwickeltes Produkt wie PC-Oracle wird in der Praxis auch nur eingesetzt, um die Entwicklung von Anwendungen zu üben, die dann später auf Mini-Computern laufen sollen. Um wirklich die Leistung zu bekommen, die man als PC-Benutzer gewöhnt ist, sollte man auf Produkte zurückgreifen, die von Grund auf für den PC-Einsatz entwickelt wurden.

- Muß ich OS/2 kaufen, um ein SQL-System für den Multiuser-Betrieb konfigurieren zu können?

Nein. Die meisten Benutzer werden OS/2 in den nächsten paar Jahren ohnehin nicht im lokalen Netzwerk einsetzen können; aber das darf sie nicht davon abhalten, SQL im Netzwerkbetrieb zu verwenden.

- Muß ich zu Dbase IV wechseln, um SQL auf bereits bestehenden Systemen einsetzen zu können?

Nein. Wenn man bereits in Dbase-Anwendungen investiert hat, gibt es mindestens zwei Alternativen zu Ashton-Tate. Mit Hilfe des Clipper Dbase-Kompilers und der SQL-Library-Extension von der Londoner Planet Software kann jeder Benutzer Anwendungen unter Dbase III Plus zusammen mit SQL-Datenbanken einsetzen. Wahlweise können die Anwender auch DbXL, das Dbase III Plus entspricht, oder den Companion-Kompiler Quicksilver von Wordtech verwenden, um einfachen Zugang zu SQL-gestützten Datenbanksystemen zu haben.

- Ist Dbase die einzige Sprache, die zusammen mit SQL-Servern verwendet werden kann?

Ganz gewiß nicht. Auch C und Cobol werden unterstützt, und jeder größere PC-Hersteller rüstet seine Produkte eifrig auf den SQL-Einsatz um - so ist das für OS/2 entwickelte Paradox bereits auf dem Markt. Lotus und Microsoft wollen SQL dagegen über Spreadsheets unterstützen, und beide entwickeln ein Datenbank-Entwicklungs-Tool, deren Fertigstellung aber noch mehrere Monate auf sich warten lassen wird. Derzeit werden zwei ernstzunehmende Entwicklungswerkzeuge angeboten - neben SQLWindows von Gupta nur noch JAM vom Hersteller Jyacc.

- Wird irgendwann der SQL-Datenbank-Server eines Herstellers den Markt beherrschen?

Der Markt wird im wesentlichen von zwei Gruppierungen bestimmt, denen jeweils mehrere Unternehmen angehören: Auf der einen Seite steht die IBM/Lotus/Gupta-Technologies-Fraktion, auf der anderen Seite Ashton-Tate, Microsoft und Sybase. Für Microsoft und Ashton-Tate war eine Ehe zwar bequem, aber die Beziehungskiste hat bereits erste Risse: Ashton-Tate zeigt immer deutlichere Absichten, den SQL-Server durch ein eigenes Produkt zu ersetzen. Außerdem ist es offensichtlich geworden, daß der SQL-Server von Sybase mit Transact-SQL drastisch von den IBM- und ANSI-Standards abweicht, indem SQL hier um den prozeduralen Programmiermodus erweitert wird.

Das IBM-Lager stützt sich auf den IBM-eigenen SQL-Standard. Lotus entwickelt "Blueprint-Treiber" für diese SQL-Version und bietet ein DB2-kompatibles Lotus-DBMS an, bei dem es sich um eine modifizierte Version von Gupta's SQLBase handelt. Aufgrund der Marketing-Power dieser Herstellergiganten ist kaum anzunehmen, daß eine bestimmte SQL-gestützte OS/2-Datenbank den Markt in größerem Umfang beherrschen wird.