Relationales Datenbanksystem der IBM zeigt Schwachpunkte:

SQL/DS-Aufbau nur in mühevoller Kleinarbeit

25.11.1983

Das von der IBM angebotene relationale Datenbanksystem SQL-DS (Structures Query Language Data System) hat bei den Benutzern bisher eine unterschiedliche Resonanz hervorgerufen. Die Anzahl der sich im deutschen Markt befindlichen Systeme ist noch relativ gering, gegenüber sonstigen Datenbank-Produkten des Marktführers. Sabine Gütelhofer, SQI-Spezialistin bei der MPG-Managementpartner GmbH in Nettetal, hat sich mit den Vor- und Nachteilen des relationalen DB-Systems auseinandergesetzt.

SQL/DS ist ein von IBM entwickeltes, relationales Datenbanksystem mit integrierter Manipulations- und Abfragesprache. Die Daten werden in Form von Tabellen (Relationen) gespeichert, wobei jede Zeile einem Datensatz entspricht und die Spalten die einzelnen Felder der Datensätze angeben. Anzahl, Format sowie die Überschriften der Spalten können in geeigneter Weise vom Benutzer festgelegt werden. Ein Hilfsprogramm DBS (Data Base Services) steht zur Verfügung um die in SQL kreierten Daten auf SAM-Dateien auszulagern, sie wieder zurückzuladen oder auch extern erzeugte Daten von sequentiellen Dateien ins SQL/DS einzulesen. Mit Hilfe von ISQL, einer interaktiven Sprache zur Definition, Manipulation und Abfrage von Daten können die Tabellen auch direkt vom Endbenutzer zeilenweise beschrieben werden.

Die Retrievalmöglichkeiten, die von ISQL geboten werden, sind recht komfortabel. Man kann nach einer beliebigen Auswahl der Felder einer oder mehrerer Tabellen fragen und die gesuchten Datensätze durch Angabe von einfachen oder mit "Boolschen" Operatoren verknüpften Bedingungen sowie mehrstufige Auswahlanweisungen genau spezifizieren. Dennoch gibt es Queries, die mit diesen Mitteln nicht zu lösen sind.

Soll zum Beispiel eine Information nach zwei oder mehr getrennt betrachteten Kriterien in einer Tabelle gesucht werden, so gelingt dies nicht mit nur einer Select-Anweisung. Jedoch schaffen SQL-Routinen hier Abhilfe.

Zum Ändern oder Löschen von Daten kann man sich ebenfalls der ISQL bedienen. Es werden dabei jedoch keine Logiküberprüfungen der Änderungsdaten durchgeführt und auch auf die Konsistenz der Daten bei Änderungen, die mehrere Tabellen betreffen, muß vom Benutzer geachtet werden.

Um auch den von ISQL nicht unterstützten Anforderungen gerecht zu werden, läßt sich SQL in ein Anvendungsprogramm einbetten. IBM stellt als Host-Sprachen PL/1, Cobol oder Assembler zur Verfügung. Es kann sowohl mit Batch-Programmen als auch im Dialogbetrieb unter CICS gearbeitet werden.

Schulung zwingend notwendig

Während bei der interaktiven Arbeit für jede Abfrage zunächst das Zugriffsmodul aufgebaut wird, ergibt sich beim Einsatz eines Anwendungsprogramms der Vorteil, daß die Zugriffswege - einmal im Preprocessing berechnet - bei wiederholtem Aufruf des Programms immer zur Verfügung stehen.

Das Ergebnis einer SQL-Abfrage ist für das Anwendungsprogramm wiederum eine Tabelle. Es wird ein Cursor definiert, über den die Datensätze einzeln verarbeitet und die Werte der Felder in Host-Variablen eingelesen werden. Ebenso kann eine durch die Position des Cursors bestimmte Zeile gelöscht oder geändert werden. Durch dynamisch definierte SQL-Befehle und Abfragen in Dialogprogrammen besteht für den Endbenutzer die Möglichkeit, ganze Anweisungen oder nur bestimmte Parameter erst während der Laufzeit über Terminaleingabe dem Programm mitzuteilen. Damit lassen sich solche Dialogprogramme zur Unterstützung der Arbeit von Sachbearbeitern einsetzen, die auf Datenbankbestände zugreifen müssen, aber in der Abfragesprache SQL oder ISQL nicht geschult sind. Für diese Anwendung können auch Views definiert werden, die zum Beispiel nur bestimmte Spalten einer umfangreichen Tabelle enthalten. Die Zugriffserlaubnis des Sachbearbeiters auf Datenbestände kann dann auf eine oder mehrere dieser Benutzersichten beschränkt werden, wodurch Aspekte des Datenschutzes berücksichtigt werden können.

Unzumutbare Strafarbeit

Aus der praktischen Erfahrung bei der Gestaltung eines Budgetplanungssystems und verschiedenen anderen Anwendungen ergebe

des Endbenutzers, der mit ISQL arbeiten will - auch einige Kritikpunkte:

Die Übertragung von bisher extern gehaltenen Datenbeständen in das SQL/DS ist mühevolle Kleinarbeit. Nur für Extrakte aus DL/1-Datenbanken wird Unterstützung geboten. Ansonsten müssen die externen Dateien umsortiert und mögicherweise mit viel Redundanz aufgefüllt werden. Die Online-Eingabe von Massendaten ist ohne Anwendungsprogramm wohl eine unzumutbare Strafarbeit. Es wird hierzu etwa auf einer neuen Bildschirmseite nicht automatisch der letzte korrekt eingegebene Datensatz angezeigt, wenn man in der letzten Zeile der vorigen Bildschirmseite einen Eingabefehler gemacht hat.

Die Abfrage von Daten mittels des "Select"-Befehls erweist sich in der Praxis als gar nicht so benutzerfreundlich. Man hat zwar, wie oben erwähnt, vielfältige Möglichkeiten seine Wünsche zu spezifizieren, doch muß man diese Möglichkeiten sehr korrekt zu nutzen wissen. Handelt es sich um einstufige Select-Befehle mit ein oder zwei Bedingungen so ergeben sich sicher keine Probleme. Will man aber wirklich die Stärke des Systems in dieser Hinsicht nutzen und Informationen erhalten die nur durch komplexe, mehrstufig geschachtelte Abfragen herausgefiltert werden können, so ist ISQL für den Sachbearbeiter ein nicht unproblematisches Hilfsmittel, da aus scheinbar richtigen Ergebnissen falsche Schlüsse gezogen werden könnten.

SQL-Einsatz beim End-User

Die Kontrolle der Richtigkeit der gelieferten Daten ist bei mehrstufigen Abfragen problematisch , denn das System liefert genau die Daten nach denen gefragt wurde, und das sind unter Umständen nicht die, die der Sachbearbeiter gemeint hat.

Ferner ist die Anzeige eines Abfrageergebnisses auf dem Bildschirm nicht in jedem Fall zufriedenstellend. Handelt es sich bei dem Ergebnis nämlich um eine Tabelle, die mehr als 80 Zeichen breit ist, so verschwinden beim Blättern nach rechts die linken Spalten, von denen aber oft eine benötigt wird, um die richtige Zuordnung der übrigen Daten zu ermöglichen. Ein Anzeige-Befehl der eine Spalte festhält und nur die restlichen durchblättert, wäre hier wünschenswert.

Schließlich wäre der Berichtsgenerator von ISQL besser zu nutzen, wenn man sich von der reinen Tabellenform etwas lösen könnte, denn durch Spalten mit viele identischen Elementen, die man im Druck natürlich nur einmal erscheinen läßt, wird besonders bei breiten Textspalten viel Platz verschenkt.

Aus den genannten Gründen ergibt sich, daß ISQL für die Arbeit des Sachbearbeiters noch sehr problematisch und der Einsatz von Anvendungsprogrammen unvermeidbar ist. Die grafische Abfragesprache QBE (Query By Example) des Systems DB 2, das ebenfalls von IBM entwickelt wurde, sollte in dieser Hinsicht Verbesserungen bringen.