Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

27.05.1983 - 

Benutzer ist versucht, auf niedriger Ebene der SQI DS Nutzung stehen zu bleiben:

ISQL läßt DB-Charakter im Schatten stehen

Ein grundlegendes Unverständnis des Datenbanksystems SQL/DS von IBM in der DV-Öffentlichkeit sieht Lutz Wagner, Geschäftsführer der SPO Consult, Hamburg. Würde man die Zukunftsaussichten dieser Software an den noch vorhandenen negativen Seiten messen, hätte man vor zehn Jahren auch der Zugriffsmethode VSAM einen schnellen Tod prophezeien müssen. Wagner bricht eine Lanze für SQL/DS.

Als vor knapp zwei Jahren SQL/DS, das relationale Datenbanksystem der IBM, in Deutschland angekündigt wurde, entstand eine große Aufregung in der hiesigen Datenbank-Szene. Vertreter aller namhaften DBMS-Hersteller (ADABAS, DATACOM, IDMS, TOTAL etc.) beeilten sich, selbstbewußte Erklärungen abzugeben: Man sehe das sehr gelassen, das eigene Produkt sei diesem - so apostrophierten - "Nonplusultra eines datenbanktechnologischen Supertools" allemal gewachsen, wenn nicht gar überlegen.

Welchen Rang nimmt SQL/DS heute in der Datenbank-Landschaft ein? In Studien von IDC und Diebold wird SQL/DS verglichen mit Dateiauswertungssystemen wie EASYTRIEVE, SIROS oder CULPRIT. Erstaunen ist her angebracht, denn bei allem Respekt vor den genannten Produkten

- Datenbanksysteme sind es nicht". Aber dem nicht genug: Selbst im ISIS-Katalog rangiert SQL/DS in der Aufteilung "Datenbankauswertung/Abfragesprachen"; immerhin, die IBM muß es wissen, schließlich ist sie als Hersteller für die Rubrizierung im ISIS-Katalog zuständig. Wo bleibt da aber der weiland geäußerte Anspruch, SQL/DS sei der Vorläufer des legendären Systems "R", welches in der Gerüchteküche den Stellenwert eines Nachfolgers für DL/ 1 sowie das (äquivalente) IMS-DB besaß ?

Eines ist sicher: Am Produkt liegt es nicht, SQL/DS ist ein Datenbanksystem, und sogar ein relationale, daran kann kein Zweifel bestehen. Aber darüber hinaus besitzt SQL/DS weitere Funktionen, und hier nähern wir uns den Ursachen für die Fehleinordnung dieses Produktes. Ein Blick auf die Komplenten von SQL/DS untermauert dieses Urteil:

1. Datenbankprozessor:

Der eigentliche DBMS-Kern del als "Multi-User-Version" mehrere Partitions gleichzeitig und multithreaded bedient, verarbeitet Datenbankbefehle für:

- Generierung von Dateien (hier: Tabellen) (CREATE, DROP)

- Speicherung von Daten (INSERT)

- Wiedergewinnung von Daten (SELECT)

- Veränderung von Daten (UPDATE, DELETE)

Außerdem sind sehr weitreichende Recovery- und Restart-Funktionen integriert.

2. Schnittstellen zwischen DB-Prozessor und Anwendungsprogramm:

Die unter 1. genannten Befehle können in den Host-Languages COBOL, PL/1, Assembler verwendet werden.

3. Batch-Utility für diverse DB-Servicefunktionen wie

- Laden

- Entladen sowie die interpretative Verarbeitung aller DB-Befehle gemäß Punkt 1.

4. Online-Abfragesprache "ISQL" (Interactive Structured Query Language"), die unter CICS/VS läuft .

Dieser letzten Komponente des SQL/DS, dem ISQL, ist es zuzuschreiben, daß der autonome Datenbankcharakter des Gesamtsystems in den Hintergrund getreten ist. ISQL ist so augenfällig, so mächtig und leicht anzuwenden, daß der Benutzer versucht ist, auf dieser Ebene der Nutzung von SQL/DS stehenzubleiben. Dabei ist ISQL aus der Sicht von SQL/DS nicht mehr als ein Anwendungsprogramm.

"Signifikante Unterschiede"

Bei den Systemkomponenten des SQL/DS ist zunächst nichts, was gegenüber "herkömmlichen" DBMS besondere Aufmerksamkeit erregen könnte; ein Äquivalent zu ISQL haben mittlerweile auch andere Systeme (ADASCRIPT, DATACOM/DQ, IDMS/OLQ, TOTAL/T-ASK). Dennoch sind folgende signifikante Unterschiede bei SQL/DS festzustellen:

1. Strukturfreiheit: SQL/DS wird bekanntlich als "relationales" DBMS angeboten, und diese Eigenschaft dürfte in der Tat hier am weitestgehenden verwirklicht sein. Die damit einhergehenden angestrebten Eigenschaften wie Datenunabhängingkeit, Programmunabhängigkeit und Transparenz werden somit weitgehend erzielt.

2. Als Folge von 1. ist die völlige Abwesenheit von Pointern zu nennen (jedenfalls diesseits der Benutzerschnittstelle), ebenfalls entfällt das berüchtigte "Navigieren" in der Datenbank: Kenntnisse von strukturbedingten Abhängigkeiten auf der Suche nach Datensätzen braucht der Anwender nicht zu besitzen, da es solche Abhängigkeiten nicht gibt.

3. Der Zugriff zu Daten erfolgt nicht mehr, wie bisher fast ausschließlich praktiziert, nach der Methode "one-record-at-a-time"; vielmehr werden mit einem Zugriff n-Sätze berührt, wobei n zwischen Null und "viele" liegen kann. Die Identifizierung der gewünschten Sätze erfolgt dabei nicht nach abstrakten Schlüsseln (zum Beispiel "Personalnummer"), sondern nach dem Inhalt von Datenelementen. Dies ist eindeutig ein riesiger Schritt zu größerer Problemnähe von Anwendungsprogrammen. Natürlich kann nach wie vor ein Satz auch über seinen Key indentifiziert werden, aber auch dann gilt die Methode "multiple-records-at-a-time ": es entfallen in jedem Fall die bisher so "beliebten" GOTO-Schleifen in der Eingabeverarbeitung. Augenfälliger noch sind die Konsequenzen beim Update: Das alte Prinzip "Erst Read, dann Re-Write" entfällt, ein UPDATE-Statement genügt. Hier zeigt sich am deutlichsten der mengentheoretische Ansatz des Relationenmodells und sein positiver Effekt in der Praxis.

4. Die Benutzerschnittstelle zwischen Anwendungsprogramm und DBMS besteht aus Datenbankbefehlen, die direkt in den Source-Code der Gast-Sprache eingefügt werden. Für die Umsetzung in compilierbare Statements sorgt ein Pre-Processor. Insgesamt entspricht dieses Prinzip demjenigen des CICS-Command-Level, Unter dem Gesichtspunkt der Einfachheit und Klarheit in der Programmierung ist dies sicherlich als Vorteil zu werten.

5. Teile der DB-Generierung können mit DB-eigenen Befehlen vorgenommen werden (zum Beispiel Definieren und Laden von Tabellen und Indices). Das hat die angenehme Folge, daß wichtige Arbeiten während des DB-Betriebes durchgeführt werden können, und sogar interaktiv. Man kann diese Generierung auch im Rahmen eigener Benutzerprogramme vornehmen, was ganz neue Möglichkeiten der Job-Ablauf-Gestaltung eröffnet.

Die Verschiedenheit von SQL/DS ist also groß, allerdings muß eingeräumt werden, daß sie im Vergleich zu DL/1 (IMS-DB) am größten ist; gegenüber anderen modernen DB-Systemen mag der Grad der "Andersartigkeit" (im positiven Sinne verstanden) nicht so kraß ausfallen. Dies hat sich deutlich bei einer Gegenüberstellung von SQL/DS mit DATACOM/DQ und IDMS/OLQ im Rahmen einer vom Verfasser durchgeführten DB-Auswahlstudie gezeigt.

Koexistenz gewährleistet

Für künftige Anwendungsentwicklungen gibt SQL/DS einen weiteren wichtigen Denkansatz: Die Koexistenz zwischen Standardsoftware und Individualprogrammierung ist in idealer Weise gewährleistet, so daß Vertreter beider Richtungen zu ihrem Recht kommen. Beispielsweise kann eine komplexe Datenselektion mit Hilfe der Standardsoftware (DBS-Utility) vorgenommen werden, wobei das Ergebnis in eine lineare Zwischentabelle eingestellt wird. Von dort aus können per Individualprogramm benutzerspezifische Weiterverarbeitungen betrieben werden, die sich lediglich noch um die Verarbeitung der Daten kümmern muß, nicht mehr um deren Beteiligung. Und genau hierin liegt schließlich die Aufgabe von Datenbanksystemen.

Es gibt natürlich auch einige Negativkriterien, die aber größtenteils auf das Konto "Kinderschuhe" gebucht werden müssen. Als einziger wirklich gravierender Nachteil dieses Systems muß seine Gier nach Ressourcen (Zeit, Main-Memory, DASD) bezeichnet werden, jedenfalls noch heute.