Trends bei PC-Datenbanken

Server-Datenbanken lösen Dateninseln allmählich ab

03.11.1989

Fast alle gängigen Datenbankprogramme bauen heute auf dem relationalen Modell auf. Aber der Anspruch, eine relationale Datenbank anzubieten, reich inzwischen nicht mehr aus. Derzeitige Trends sind verteilte Datenbanken, Produkte, die auf unterschiedlichen Hardware-Plattformen laufen, das Server-Konzept und der Einsatz von CASE-Tools.

Informationen sind zu einem wichtigen Produktionsfaktor geworden. Sie müssen stets in aktueller Form vorliegen, schnell und einfach verfügbar sein. Effiziente Datenhaltung wurde deshalb zu einem zentralen Thema Datenverarbeitung.

Noch zu Beginn der 80er Jahre diskutierten Entwickler Vor- und Nachteile von drei konkurrierenden Datenbankmodellen: dem hierarchischen dem Netzwerk- und dem relationalen Modell. Ein hierarchisches DBMS (Datenbank Management System organisiert die Daten in hierarchischen Baumstrukturen mit über und untergeordneten Datensätzen. Ein Netzwerk DBMS hingegen stellt die Daten als miteinander verknüpfte Sätze dar, die ihrerseits sich überschneidende Datensätze bilden. In einer relationalen Datenbank schließlich werden die Informationen als Werte in Tabellen gespeichert. Jede Zeile der Tabelle enthält einen Datensatz und jede Spalte ein bestimmtes Feld des Satzes.

Relationales Modell hat sich durchgesetzt

Das relationale Modell hat sich in den letzten Jahren ganz klar gegenüber seinen Konkurrenten durchgesetzt. Edgar F. Codd beschrieb das Modell bereits in den 70er Jahren. Aber erst 1985 veröffentlichte er seine berühmten zwölf Regeln, denen ein Datenbanksystem genügen muß, damit man es mit Recht relational nennen darf. Bislang gibt es noch kein DBMS, das alle zwölf Godd'schen Regeln implementiert hat. Es gibt allerdings Hersteller, die ihr Produkt bereits dann relational nennen, wenn es die Daten in tabellarisch organisierten Datenbanken speichert.

Laut Codd gehört zu einem relationalen System eine Sprache, mit der man eine Datenbank definieren und verändern, die Daten verwalten und ihre Integrität gewährleisten, Datensichten definieren und den Mehrbenutzerbetrieb regeln kann. Die von IBM entwickelte Abfragesprache SQL (Structured Query Language) erfordert ein DBMS, das die meisten dieser Forderungen erfüllt, so daß man bei einem DBMS, das SQL voll unterstützt, davon ausgehen kann, daß es weitgehend relational ist.

SQL hat sich mittlerweile als Standardabfragesprache für Datenbankprogramme durchgesetzt. IBMs DB2, Oracle, Ingres und Informix verstehen SQL seit der letzten Version sogar der PC-Bestseller dBase IV. Neben dem vom amerikanischen Normierungsinstitut festgeschriebenen ANSI-SQL gibt noch weitere Dialekte, von denen das erweiterte IBM-SQL am bekanntesten ist.

Eine einfach nur relationale Datenbank anzubieten, reicht heute in den meisten Fällen nicht mehr aus. Viele Unternehmen stehen vor der Aufgabe, Informationsflüsse zwischen Abteilungen oder Arbeitsgruppen herzustellen. Die Abteilungsrechner haben sich zu Informationsinseln entwickelt, deren Daten von außen nur schwer oder gar nicht erreichbar sind.

Eine Lösung dafür stellen verteilte Datenbanken dar. Sie integrieren alle in einem Unternehmen verstreuten Datenbanken zu einer einzigen globalen Datenbank, die allen Benutzern des Netzes zur Verfügung steht. Das Konzept der verteilten Datenbank bietet den Vorteil, daß alle im Netzwerk verteilten Daten verfügbar sind, ohne daß man wissen müßte, wo, auf welcher Hardware und unter welchem Betriebssystem sie abgelegt sind.

Die Begriffe verteilte Datenbank und verteilter Zugriff werden häufig synonym gebraucht. Hinter ihnen verbergen sich jedoch zwei völlig unterschiedliche Funktionen. Die Aufgaben einer Datenbankverwaltung lassen sich in eine "Front-end" und in eine "Back-end"-Komponente teilen. Auf der Back-end-Seite werden die Daten von einem Server-DBMS verwaltet. Die Front-ends auf der Benutzerseite, die Anwendungsprogramme, schicken ihre Anfragen dann ans Back-end, den Datenbankmanager, der sie bearbeitet und das Ergebnis an sie zurückliefert.

Bei einem verteilten Zugriff arbeitet das Front-end auf Rechner A mit einem Datenbankmanager auf Rechner B. Somit können beispielsweise die auf Workstations installierten Front-ends auf einen oder mehrere Datenbankmanager im Netz zugreifen.

Kommt zum verteilten zugriff die Funktionalität der verteilten Datenbank hinzu, kann eine Datenbank in mehrere Teile aufgespalten und auf mehrere verschiedene Rechner im Netz verteilt werden.

Damit die Einheitlichkeit der Anwendungen in solchen Umgebungen mit oft sehr unterschiedlicher Hardware gewährleistet ist, müssen sie portabel sein. Eine Anwendung ist portabel, wenn sie auf einem Rechner entwickelt wurde und ohne größere Änderungen auch auf anderen Computern läuft. Durch Portabilität zeichnet sich Beispielsweise Oracle aus. Auf Rechnern mit den Betriebssystemen MVS, BS 2000, VMS, Unix, MS-DOS, OS/2 und auf dem Macintosh laufen funktional identische Versionen des Programms. Oracle arbeitet zudem mit unterschiedlichen Benutzeroberflächen zusammen. Eine

einmal geschriebene Anwendung paßt sich mit Hilfe einer Utility automatisch an andere Benutzeroberflächen an.

Auch andere Hersteller haben die Zeichen der Zeit erkannt. So bietet Relational Technology sein Ingres für VMS, Unix- und MS-DOS-Rechner an. Das unter Unix weitverbreitete Informix steht ebenfalls für MS-DOS und VMS zur Verfügung. Auch der von Ashton-Tate und Microsoft kürzlich auf den Markt gebrachte SQL-Server ist eine spezielle Anpassung eines erfolgreichen Unix-Produkts für 0S/2 (und das als Front-end vorgesehene dBase IV 1.1).

Das Front-end/Back-end(Cullinet-Server)-Konzept, das Datenbanksysteme auf Großrechnung und unter Unix seit langem anwenden, zieht nun auch

in den PC-Bereich ein. Mit der Verbreitung lokaler Netzwerke ist der Ruf der Anwender nach netzwerkweiter Datenhaltung immer lauter geworden. Die

Hersteller antworten mit Datenbank-Servern, die auf der Back-end-Seite die Daten in relationalen Datenbanken speichern. Das Front-end bilden Anwendungsprogramme, wie etwa dBase IV, die über den Server auf die Datenbestände zugreifen. Die unterschiedlichen Anfragesprachen der PC-Programme werden dazu in die Standardsprache SQL übersetzt. Den PC-Anwendern bleibt es somit erspart, eine neue Sprache zu erlernen.

Ein Server DBMS ist die Voraussetzung für praktisch einsetzbare Online-Anwendungen, bei denen viele Benutzer gleichzeitig mit denselben Datenbeständen arbeiten. Beispiele dafür sind Systeme zur Lager- und Bestandsverwaltung, Auftragsbearbeitung und Buchhaltung.

Die zunehmende Komplexität moderner Datenbankanwendungen führte dazu, daß in letzter Zeit vermehrt Tools für Computer Aided Software Engineering (CASE) speziell für diesen Bereich ausgebaut beziehungsweise neu entwickelt wurden. Häufig enthalten sie neben den gängigen Werkzeugen zum Systemdesign und zur Dokumentation auch noch Code-Generatoren, die den erstellten Entwurf gleich realisieren, indem sie die entsprechenden Cobol-Programme oder SQL-Prozeduren automatisch erzeugen.

Mit Hilfe dieser Tools lassen sich meist sehr schnell Prototypen erstellen, an denen der Endanwender ausprobieren kann, ob das System seinen Erfordernissen genügt.

Kaum ein anderes Feld innerhalb der Software-Landschaft befindet sich derzeit vergleichbar im Umbruch wie der Datenbankbereich. Viele Anwender sind davon im ersten Moment verwirrt und überfordert. Wenn sich der aufgewirbelte Staub aber einmal gelegt hat, werden sie sehen, daß sich diese Konfusion gelohnt hat.

Silvia Gutschmidt arbeitet als freie DV-Journalistin in Eichenau bei München.