Vorwort

Datenbanksysteme gehören zu den wichtigsten Produkten der Software-Industrie; kaum eine größere Informatikanwendung ist ohne Datenbankunterstützung denkbar. Ausgehend von der Nutzung im Rahmen betrieblicher Transaktions- und Informationssysteme hat sich ihr Einsatzbereich ständig ausgeweitet, insbesondere in zahlreichen anspruchsvollen Anwendungsfeldern. Ausdruck dafür ist die Vielzahl spezifischer Informationssysteme (Krankenhaus-Informationssysteme, Geographische Informationssysteme, Dokumenten-Verwaltungssysteme, Entscheidungsunterstützende Systeme, ...) sowie rechnergestützter Entwurfs- und Fertigungssysteme (CAD/CAM, CASE, CIM, ...), deren Datenhaltung und -verwaltung typischerweise über ein Datenbanksystem als Kernkomponente erfolgt. Eine starke Zunahme an Datenbanken ergibt sich ferner durch die enorm wachsenden Datenmengen, die im Internet weltweit zugänglich bereitgestellt werden, verbunden mit einer sehr großen Benutzerzahl und entsprechenden Leistungserfordernissen. Schließlich werden Datenbanksysteme millionenfach als PC-Einzelplatzsysteme zur einfachen und flexiblen Verwaltung privater Datenbestände eingesetzt.

Aufgrund von rund 30 Jahren intensiver Entwicklung und Forschung sind Datenbanksysteme eine klassische Domäne der Informatik, zu der eine Fülle abgesicherten, in der Praxis erprobten Wissens vorliegt. Von primärer Bedeutung für den Nutzer von Datenbanksystemen ist hierbei das zugrundeliegende Datenmodell mit seinen Möglichkeiten der Strukturierung und Manipulation der für eine Anwendungsumgebung zu verwaltenden Datenbestände. Die zugehörigen Fragestellungen und Aspekte des konzeptionellen Datenbankentwurfs, der logischen Datenbankdefinition und der Verwendung von Anfragesprachen wie SQL sind daher auch Gegenstand einführender Bücher und Lehrveranstaltungen zu Datenbanksystemen. Dem Nutzer, für den vor allem einfache Handhabung und hohe Datenunabhängigkeit zu gewährleisten sind, bleibt dagegen weitgehend verborgen, wie die sehr umfangreiche Funktionalität von Datenbanksystemen realisiert wird. Die hierzu verfügbaren Implementierungstechniken und -konzepte sind in ihrer vollen Breite somit auch nur vergleichsweise wenigen Fachleuten bekannt. Die Kenntnis dieser Verfahren ist jedoch Voraussetzung für ein tieferes Verständnis von Datenbanksystemen und somit für alle Informatiker unentbehrlich, die große Systeme entwickeln oder administrieren.

Das vorliegende Buch behandelt die Implementierung von Datenbanksystemen mit der dabei zu wählenden Vorgehensweise, den bereitzustellenden Funktionen sowie den verfügbaren Algorithmen und Datenstrukturen. Das gilt für alle Aspekte der Datenabbildung, also vor allem der Speicherungsstrukturen und Zugriffspfade sowie der Bereitstellung von Datenstrukturen gemäß logischer Datenbankmodelle. Berücksichtigung finden ferner Aufgaben wie die Externspeicherverwaltung (Realisierung einer Speicherhierarchie, Datei- und Segmentkonzept) sowie die Pufferverwaltung von Datenbanksystemen. Einen weiteren Schwerpunkt bildet die Transaktionsverwaltung, die insbesondere Funktionen zur Synchronisation des Mehrbenutzerbetriebs und für die Wiederherstellung der Datenbank im Fehlerfall (Recovery-Funktionen) umfaßt. Die Darstellung orientiert sich an einem Schichtenmodell für datenunabhängige Datenbanksysteme, das durchgängig zur Erklärung aller Abbildungen und Abläufe herangezogen wird. Dieses als unser Architekturrahmen dienende Modell wird in Kapitel 1 vorgestellt, bevor in Abschnitt 1.5 der weitere Aufbau des Buches näher erläutert wird.

Die ausgewählten Techniken eignen sich in erster Linie zur Realisierung zentralisierter Datenbanksysteme nach den "klassischen" Datenbankmodellen wie dem Relationen- und dem Netzwerkmodell. Jedoch wurden diese bewährten Techniken um spezielle Algorithmen und Strukturen ergänzt, die bei der Implementierung neuerer Datenbankmodelle (mit komplexen Objekten oder Objektorientierung) große Vorteile versprechen. Die vorgestellten Implementierungstechniken bilden auch die Grundlage zur Realisierung verteilter Architekturen wie Verteilte Datenbanksysteme, Parallele Datenbanksysteme und Föderierte Datenbanksysteme. Die nähere Behandlung solcher Mehrrechner-Datenbanksysteme hätte jedoch den Rahmen dieses Buches gesprengt, zumal sie bereits Gegenstand von Büchern wie [RAHM94] und [CONR97] sind.

Das Buch ist eine vollständig überarbeitete, erweiterte und aktualisierte Version der Kapitel 3 und 4 des 1987 erschienenen Datenbank-Handbuchs [LOCK87]. Schon damals war es aus Platzgründen unmöglich, alle in der Literatur vorgeschlagenen oder in existierenden Datenbanksystemen eingesetzten Konzepte und Techniken zu beschreiben. Heute gilt diese Einschränkung trotz der annähernden Verdopplung des verfügbaren Seitenumfangs in verschärftem Maße; sie wird besonders deutlich bei Themenbereichen wie "Mehrdimensionale Zugriffspfade" oder "Erweiterungen des Transaktionskonzeptes", in denen in den letzten Jahren sehr viele Vorschläge, allerdings oft ohne jede praktische Überprüfung, publiziert wurden. Unsere Stoffauswahl, die natürlich subjektiv gefärbt ist, richtete sich in erster Linie nach der praktischen Tauglichkeit der Konzepte und Techniken. Allerdings wurden auch Vorschläge aufgenommen und exemplarisch diskutiert, bei denen ein solcher Nachweis noch nicht erbracht werden konnte, insbesondere um neue und interessante Entwicklungslinien aufzuzeigen.

Die Konzeption des Buches wurde auch durch mehrere an den Universitäten Kaiserslautern und Leipzig gehaltene weiterführende Vorlesungen über Datenbanksysteme geprägt, da die Diskussion mit den Studenten und deren Rückmeldungen Stoffauswahl und Darstellung beeinflußten. Das Buch richtet sich somit zum einen an Studenten und Dozenten im Informatik-Hauptstudium. Zum anderen sind Forscher sowie in Entwicklung, Anwendung oder Systemverwaltung stehende Praktiker angesprochen, die auf fundierte Datenbankkenntnisse angewiesen sind. Vorausgesetzt werden ein solides Informatikgrundwissen sowie Grundkenntnisse von Datenbanksystemen.

Wir sind zahlreichen Fachkollegen, Mitarbeitern und Studenten, die wesentlich zum Gelingen des Buches beigetragen haben, zu Dank verpflichtet. Besonders möchten wir uns bedanken bei Michael Gesmann, Axel Herbst, Michael Jaedicke, Henrik Loeser, Holger Märtens, Bernhard Mitschang, Udo Nink, Norbert Ritter, Dieter Sosna, Hans-Peter Steiert, Thomas Stöhr, Nan Zhang und Jürgen Zimmermann für die vielen Anregungen und Verbesserungsvorschläge, die wir während verschiedener Phasen der Entstehungsgeschichte des Buches von ihnen bekommen haben. Unsere Sekretärinnen Manuela Burkart, Heike Neu und Andrea Hesse haben uns bei der Erstellung des Manuskriptes und seiner zahlreichen Abbildungen wesentlich unterstützt. Hans Wössner und seine Mitarbeiter vom Springer-Verlag waren stets hilfreich und haben für eine schnelle und reibungslose Veröffentlichung des Buches gesorgt.

Die Fertigstellung des Buches beanspruchte, insbesondere in den letzten Monaten, einen Großteil unserer Zeit. Natürlich kam dabei, wie auch sonst oft, das gemeinsame Leben mit unseren Familien zu kurz. Deshalb möchten wir uns an dieser Stelle ganz besonders bei unseren Familien für ihre Geduld und den Verzicht auf gemeinsame Zeit bedanken.

Ergänzende Informationen und Unterlagen zu dem Buch (Folien zugehöriger Vorlesungen usw.) können im Internet unter

http://www.uni-kl.de/AG-Haerder/Buecher/ oder unter
http://dbs.uni-leipzig.de/buecher/DBSI-Buch

abgerufen werden.

Theo Härder                 Erhard Rahm
Kaiserslautern und Leipzig, im Januar 1999