Lausen | Datenbanken | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 292 Seiten

Lausen Datenbanken

Grundlagen und XML-Technologien
1. Auflage 2005
ISBN: 978-3-8274-1488-5
Verlag: Spektrum Akademischer Verlag
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)

Grundlagen und XML-Technologien

E-Book, Deutsch, 292 Seiten

ISBN: 978-3-8274-1488-5
Verlag: Spektrum Akademischer Verlag
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)



Relationale Datenbanken sind seit vielen Jahren ein etablierter Bestandteil eines Informationssystems. Die zu beobachtende fortwährende Weiterentwicklung der technologischen Infrastruktur der Informationsverarbeitung berührt auch die Einsatzbereiche von Datenbanken. Dieses Buch vermittelt deshalb in gut verständlicher Weise die grundlegenden klassischen Zusammenhänge relationaler Datenbanken zusammen mit den kontinuierlich an Bedeutung gewinnenden XML-Technologien, die im Zuge der allgegenwärtigen Durchdringung der Informationsverarbeitung durch das Internet entwickelt werden.

In überschaubaren Kapiteln lernen Sie alle wichtigen Konzepte zu den klassischen Datenbankthemen Anfragesprachen, Integrität, Datenbankentwurf, Speichertechniken, Anfragebearbeitung, Transaktionen und Sicherheit kennen. Die Datenbanksprache SQL wird insbesondere ausführlich behandelt. Neben den im Standard SQL-92 definierten Konzepten werden auch wesentliche, in den Standards SQL:1999 und SQL:2003 dokumentierte Weiterentwicklungen dargestellt. Zahlreiche Beispiele machen Sie mit den neu gelernten Begriffen und Sachverhalten vertraut.

Das Speichern, Erzeugen und Verarbeiten von XML-Dokumenten wird zunehmend relevant für Datenbanken. Deshalb ist ein Schwerpunkt des Buchs die Speicherung von XML-Dokumenten in relationalen Datenbanken, das Publizieren von XML-Dokumenten aus relationalen Datenbanken gemäß dem SQL/XML-Standard sowie XPath und XQuery, die vom W3C standardisierten Anfragesprachen für XML. Eine Vielzahl von Übungen (mit Lösungen auf einer begleitenden Webseite) erleichtert Ihnen die Wiederholung und Vertiefung des Lernstoffs.

Der Autor

Prof. Dr. Georg Lausen lehrt und forscht an der Albert-Ludwigs-Universität Freiburg. Er ist Leiter der Arbeitsgruppe Datenbanken und Informationssysteme. Seine aktuellen Forschungsthemen betreffen die Bereiche Informationsintegration, elektronische Kataloge, Metasuchmaschinen, Recommender-Systeme und die Theorie semistrukturierter Daten.

Lausen Datenbanken jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Vorwort;6
2;Inhaltsverzeichnis;8
3;1 Einführung;12
3.1;1.1 Grundbegriffe;12
3.2;1.2 Datenmodelle;20
3.3;1.3 Das relationale Datenmodell;23
4;2 Grundlagen von Anfragesprachen;28
4.1;2.1 Relationenalgebra;28
4.2;2.2 Relationenkalkül;36
4.3;2.3 Zusammenfassung;41
5;3 Der SQL-Standard;44
5.1;3.1 Überblick;44
5.2;3.2 Einfache Anfragen;47
5.3;3.3 Basis-Datentypen;52
5.4;3.4 Nullwerte;54
5.5;3.5 Aggregierungsfunktionen;54
5.6;3.6 Gruppierungen;55
5.7;3.7 Mengenoperatoren;58
5.8;3.8 Geschachtelte Anfragen;59
5.9;3.9 Struktur der Syntax;63
5.10;3.10 Konstruierte Datentypen;67
5.11;3.11 OLAP: ROLLUP und CUBE;69
5.12;3.12 WITH-Klausel und Rekursion;71
5.13;3.13 Anfragen über Bäumen;78
5.14;3.14 Einfügen, Löschen und Ändern;81
5.15;3.15 Sichten;85
5.16;3.16 SQL und Programmiersprachen;89
5.17;3.17 Integrität und Trigger;94
5.18;3.18 Zugriffskontrolle;106
5.19;3.19 Arbeiten mit Schema-Definitionen;110
5.20;3.20 Zusammenfassung;112
6;4 Konzeptueller Datenbankentwurf;116
6.1;4.1 Datenbankentwurf;116
6.2;4.2 Entitiy-Relationship-Modell;117
6.3;4.3 Unified Modeling Language;130
6.4;4.4 Zusammenfassung;133
7;5 Datenaustausch mit XML;136
7.1;5.1 Extensible Markup Language (XML);136
7.2;5.2 Definition von Dokumenttypen (DTD);141
7.3;5.3 XPath;145
7.4;5.4 XML-Schema;153
7.5;5.5 XML Query;159
7.6;5.6 Zusammenfassung;170
8;6 SQL und XML;174
8.1;6.1 SQL/XML;174
8.2;6.2 Speichern von XML;181
8.3;6.3 XPath und SQL;184
8.4;6.4 Zusammenfassung;189
9;7 Formaler Datenbankentwurf;192
9.1;7.1 Motivation;192
9.2;7.2 Funktionale Abhängigkeiten;194
9.3;7.3 Verlustfreie und abhängigkeitsbewahrende Zerlegungen;201
9.4;7.4 Normalformen;204
9.5;7.5 Algorithmen zur Normalisierung;206
9.6;7.6 Weitere Abhängigkeiten und Normalformen;209
9.7;7.7 Zusammenfassung;211
10;8 Physischer Datenbankentwurf;214
10.1;8.1 Grundlagen;214
10.2;8.2 Dateiorganisationsformen und Indexstrukturen;217
10.3;8.3 Baum-Indexstrukturen;221
10.4;8.4 Hash-Indexstrukturen;224
10.5;8.5 Zusammenfassung;225
11;9 Auswertung von Anfrageoperatoren;228
11.1;9.1 Selektion;228
11.2;9.2 Projektion;230
11.3;9.3 Verbund;230
11.4;9.4 Mengenoperatoren und Aggregierung;233
11.5;9.5 Optimierung;234
11.6;9.6 XPath-Anfragen;238
11.7;9.7 Zusammenfassung;245
12;10 Transaktionsverwaltung;248
12.1;10.1 Grundlagen;248
12.2;10.2 Mehrbenutzerkontrolle;250
12.3;10.3 Fehlerbehandlung;265
12.4;10.4 Transaktionsmodelle;269
12.5;10.5 Verteilte Transaktionen;271
12.6;10.6 Zusammenfassung;279
13;Literaturverzeichnis;282
14;Index;286


9 Auswertung von Anfrageoperatoren (S.217)

Wir haben in den voran gehenden Kapiteln gesehen, wie wir eine Datenbank strukturieren und wie wir Anfragen an sie formulieren können. Wir kennen die grundlegenden Speichertechniken und Indexstrukturen einer physischen Datenbank. In diesem Kapitel wollen wir zunächst diskutieren, wie geeignete Basisoperatoren einer Anfragesprache auf den Gegebenheiten einer physischen Datenbank effizient ausgewertet werden können.

Basisoperatoren sind primär die Operatoren der Relationenalgebra; die für SQL typischen Aggregierungsoperatoren werden wir streifen. Darüber hinaus wollen wir die grundlegenden Prinzipien eines Anfrageoptimierers kennen lernen. Damit schließt sich die letzte Lücke zwischen der Formulierung einer Anfrage und ihrer Auswertung.

Wir behandeln auch die Problematik einer effizienten Auswertung eines XPath- Ausdrucks über einem in einer relationalen Datenbank gespeicherten XMLBaum. Wir präsentieren eine für alle Achsen eines XPath-Ausdrucks anwendbare Auswertungstechnik und stellen eine Optimierung für die descendant- Achse vor.

9.1 Selektion

Beginnen wir mit einer Selektion der Form ó[A op val]R, wobei R ein Relationsschema, A ein Attribut von R und op ein arithmetischer Vergleichsoperator. Angenommen, für R existiert keine Indexstruktur zu A und die Relationen zu R seien nicht nach A sortiert gespeichert. In diesem Fall kann nur mittels vollständigem Durchsuchen der Relation die Selektion ausgewertet werden.

Liegt eine Sortierung zu A vor, dann können wir das Tupel mit Suchschlüsselwert val durch binäres Suchen lokalisieren und, sofern op nicht der Gleichheitsoperator, die restlichen die Suchbedingung erfüllenden Tupel ausgehend hiervon bestimmen. Analog, liegt eine Baum-Indexstruktur über A vor, können wir das Tupel mit Suchschlüsselwert val, bzw. seine Adresse, lokalisieren und die restlichen die Suchbedingung erfüllenden Tupel, bzw. ihre Adressen, ausgehend von diesem erreichen. Eine Hash-Indexstruktur kann hier nur helfen, wenn op der Gleichheitsoperator ist.

Angenommen, die Selektionsbedingung besteht aus einer Konjunktion atomarer Selektionsbedingungen. Sei beispielsweise (LGrad < 10 ? BGrad < 50) eine Bedingung über der Relation Stadt. Existiert zu keinem der beiden Attribute eine Indexstruktur, dann bleibt nur ein vollständiges Durchsuchen der Relation. Für jedes gefundene Tupel kann dann die Bedingung überprüft werden.

Existiert mindestens eine Indexstruktur zu den Attributen der Selektionsbedingung, dann können wir in Abhängigkeit dieser Bedingung auf die Tupel zugreifen und für jedes gelesene Tupel die restlichen Bedingungen überprüfen. Existieren getrennte Indexstrukturen zu beiden Attributen, dann kann alternativ zunächst der Durchschnitt der entsprechenden Adresslisten gebildet werden und danach zu den die gesamte Bedingung erfüllenden Tupeln zugegriffen werden. Steht ein geeigneter mehrdimensionaler Index über beiden Attributen zur Verfügung, dann kann mittels diesem direkt zu den die Eigenschaften erfüllenden Tupel zugegriffen werden.

Haben wir in der Selektionsbedingung Disjunktionen, dann überführen wir die Selektionsbedingung zunächst in konjunktive Normalform, d.h., eine Konjunktion von Disjunktionen. Sei beispielsweise (Einwohner > 1000 ? (LGrad < 10 ? BGrad < 50)) die ursprüngliche Bedingung, dann erhalten wir die konjunktive Normalform ((Einwohner > 1000 ? LGrad < 10) ?(Einwohner > 1000 ? BGrad < 50)).

Für eine möglichst effizienten Auswertung werden wir zunächst versuchen, konjunktiv verknüpfte Selektionsbedingungen zur Einschränkung der zu betrachtenden Tupel auszuwerten. In unserem Beispiel werden wir zunächst eine der beiden Disjunktion auswerten und dann die andere auf der resultierenden Menge von Tupeln betrachten. 



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.