1 Einleitung.- 1.1 Motivation.- 1.2 Ziele und Einordnung.- 1.3 Aufbau des Buchs.- 2 Überblick über Datenmodelle und Systeme.- 2.1 Das relationale Datenmodell.- 2.2 Hierarchische Datenmodelle.- 2.2.1 Das NF2-Datenmodell.- 2.2.2 Das eNF2-Datenmodell.- 2.2.3 XSQL — Eine Erweiterung des relationalen Modells.- 2.2.4 IMS — ein hierarchisches Datenbanksystem.- 2.3 Netzwerkdatenmodelle.- 2.3.1 Das CODASYL-Datenmodell.- 2.3.2 Das Molekül-Atom-Datenmodell.- 2.4 Objektorientierte Datenmodelle.- 2.4.1 Smalltalk-basierte Datenbanksysteme.- 2.4.2 Das objektorientierte Datenbanksystem O2.- 2.4.3 Das objektorientierte Datenmodell GOM.- 2.4.4 COCOON — ein mengenorientiertes Objektmodell.- 2.4.5 Persistente C++ Systeme.- 2.5 DASDBS — Ein Speicherkern-System.- 3 Flexible Speicherungsstrukturen für hierarchische Objekte.- 3.1 Begründung und Alternativen.- 3.2 Überblick über Speicherungs- und Clusterungsstrukturen.- 3.3 Benutzerdefinierte Speicherungsstrukturen.- 3.3.1 Anker-Records und Record-Typnamen.- 3.3.2 Speicherungsstrukturen für Mengen- und Listenkonstruktoren.- 3.3.3 Speicherungsstrukturen für Tupelkonstruktoren.- 3.3.4 Definition bekannter Speicherungsstrukturen.- 3.4 Benutzerdefinierte Clusterungsstrukturen.- 3.4.1 Cluster und Segmente.- 3.4.2 Definition objektübergreifender Cluster.- 3.4.3 Definition objektbezogener Cluster.- 3.4.4 Vergleich mit bekannten Verfahren.- 3.5 Komplexes Beispiel.- 3.6 Zusammenfassung.- 4 Pfadindexe zur Auswertung von Prädikaten.- 4.1 Einführung.- 4.2 Überblick über Methoden des Indexeinsatzes.- 4.2.1 Indexeinsatz in relationalen Systemen.- 4.2.2 Indexeinsatz in anderen Systemen.- 4.3 Pfadindexe für eNF2-Tabellen.- 4.3.1 Definition von Pfadindexen.- 4.3.2 Zugriffsoperationen für Pfadindexe.- 4.4 Auswertung von Prädikaten mit Pfadindexen.- 4.4.1 Das Grundprinzip.- 4.4.2 Auswertung von Selektionsprädikaten.- 4.4.2.1 Indexeinsatz bei unabhängiger Variablenbindung.- 4.4.2.2 Indexeinsatz bei abhängiger Variablenbindung.- 4.4.3 Auswertung von Existenzprädikaten.- 4.4.4 Einsatz mehrerer Indexzugriffe in einer Teilanfrage.- 4.4.5 Zugriff auf eNF2-Relationen.- 4.4.6 Ausführung von Verbundoperationen.- 4.4.7 Komplexes Beispiel.- 4.5 Zusammenfassung.- 5 Systemintegration.- 5.1 Einführung.- 5.2 Architektur eines Anfrageübersetzers und Optimierers.- 5.3 Architektur eines Optimierers für das eNF2-Datenmodell.- 5.3.1 Ein Operatorbaum für eNF2-Systeme.- 5.3.2 Anfrageübersetzung.- 5.3.3 Implementation der Integration von Pfadindexen.- 5.3.4 Planerzeugung bei flexiblen Speicherungsstrukturen.- 5.3.4.1 Interne Record-Struktur.- 5.3.4.2 Low-Level-Operatoren.- 5.3.4.3 Erzeugung von Low-Level-Plänen.- 5.4 Komplexes Beispiel.- 5.5 Zusammenfassung.- 6 Kostenschätzung.- 6.1 Einführung.- 6.2 Kostenschätzung in relationalen Systemen.- 6.3 Schätzung der Anzahl zugegriffener Tabellenelemente.- 6.4 Schätzung der Kosten der Datenzugriffe.- 6.4.1 Bestimmung der zugegriffenen Record-Typen.- 6.4.2 Bestimmung der zugegriffenen Cluster.- 6.4.3 Bestimmung der Anzahl zugegriffener Datenseiten.- 6.5 Schätzung der Kosten der Indexzugriffe.- 6.6 Indexauswahl.- 6.7 Zusammenfassung.- 7 Praktische Evaluation.- 7.1 Einführung.- 7.2 Der Anfrageoptimierer und Kostenschätzer.- 7.3 Das Laufzeitsystem.- 7.4 Der Loader.- 7.5 Schlußfolgerungen.- 8 Zusammenfassung.- Anhang A: Abbildungen.- Stichwortverzeichnis.
In Datenbanken werden zunehmend komplex strukturierte Daten (= komplexe Objekte) verwaltet. Die Weiterentwicklung der relationalen und objektorientierten Datenbanksysteme trägt diesem Trend bereits heute Rechnung. Um alle Möglichkeiten des Datenbankdesigns, die zukünftige Systeme bieten werden, voll ausnutzen zu können, muß in den Systemen zwischen dem logischen und dem physischen Datenbankschema unterschieden werden. Geschieht dies nicht und werden, wie heute noch weit verbreitet, die physischen Speicherungsstrukturen aus der logischen Struktur der Daten abgeleitet, wird in vielen Fällen der logische Datenbankentwurf von reinen Performanzüberlegungen geprägt sein. Diese häufig unterschätzte Problematik adressiert das Buch. In sich abgeschlossen entwickelt es die grundlegenden theoretischen und praktischen Konzepte, um komplexe Objekte flexibel auf physische Speicherungsstrukturen abzubilden und auf diese über Sekundärindexe zuzugreifen. Es wendet sich damit sowohl an Wissenschaftler und Studenten, die einen aktuellen Stand der Forschung über das Thema suchen, als auch Entwickler und Anwender, die solche Systeme implementieren, auswählen, bewerten und optimal einsetzen möchten. Inhaltsverzeichnis 1 Einleitung / 2 Überblick über Datenmodelle und Systeme / 3 Flexible Speicherungsstrukturen für hierarchische Objekte / 4 Pfadindexe zur Auswertung von Prädikaten / 5 Systemintegration / 6 Kostenschätzung / 7 Praktische Evaluation / 8 Zusammenfassung / Anhang A: Abbildungen