lehrerbibliothek.deDatenschutzerklärung
XML ; Datenbanken Konzepte, Sprachen und Systeme
XML ; Datenbanken
Konzepte, Sprachen und Systeme




Meike Klettke, Holger Meyer

dpunkt.verlag
EAN: 9783898641487 (ISBN: 3-89864-148-1)
444 Seiten, 16 x 24cm, 2003

EUR 42,00
alle Angaben ohne Gewähr

Umschlagtext
Mit der wachsenden Verbreitung von XML als Format zur Speicherung und zum Austausch von Daten werden auch neue Anforderungen an Datenbanksysteme gestellt. Dieses Buch beschreibt detailliert das Zusammenwirken von XML und Datenbanken und zeigt welche neuen Konzepte, Sprachen und Systeme dabei entstanden und noch entstehen.

Schwerpunkte sind dabei die Speicherung von XML-Dokumenten, Indizierungsverfahren XML Anfragesprachen, Verfahren zur konzeptuellen Modellierung sowie die Erzeugung von XML-Dokumenten aus herkömmlichen Datenbanken. Zu jedem Thema werden Forschungsansätze sowie praktisch eingesetzte Verfahren vorgestellt und klassifiziert. Insbesondere werden behandelt:

• XML-Grundlagen

• DTDs und XML Schema

• DOM und SAX

• Architektur von XML-Anwendungen

• Speicherung von XML-Dokumenten

• Indizierungsverfahren

- XPath/XQuery

Es wird außerdem gezeigt, wie XML-Dokumente mit relationalen und objektrelationalen Datenbanksystemen (IBM DB2, Oracle und MS SQL Server) verarbeitet werden können und welche speziellen XML-Datenbanksysteme bereits existieren (u.a. eXcelon, XIS, Tamino, infonyte).

Weitere Informationen zum Themenbereich „XML und Datenbanken“ werden auf der Website zum Buch www.xml-und-datenbanken.de bereitgestellt.






Inhaltsverzeichnis
1 Einleitung 1

1.1 Aufbau des Buchs 3
1 .2 Beispiel, Konventionen 5


2 Anwendungsszenarien 7

2.1 Generierung von XML-Dokumenten aus Datenbanken 7
2.2 Generierung von XML-Dokumenten für ein festgelegtes Schema 8
2.3 Visualisieren von Datenbankinhalten 10
2.4 Speicherung von datenzentrierten XML-Dokumenten 11
2.5 Speicherung von dokumentzentrierten XML-Dokumenten 12
2.6 Speicherung von XML-Dokumenten in bestehende Datenbanken 13
2.7 Austausch von Datenbankinhalten 14
2.8 Electronic Data Interchange (EDI) 1 5
2.9 Verbindung verschiedener Softwarekomponenten 1 7
2.10 Weitere Anwendungen 17


3 XML-Grundlagen 19

3.1 Was ist XML 19
3.1.1 Das W3C 20
3.1.2 Entstehung von XML 21
3.1.3 Entwurfsziele von XML 21
3.1 .4 Weitere Empfehlungen 22
3.2 XML-Syntax 23
3.2.1 Elemente 24
3.2.2 Attribute 28
3.2.3 Entwurfsentscheidung: Verwendung von Elementen oder Attributen 30
3.2.4 Entities 32
3.2.5 Processing Instructions 36
3.2.6 Kommentare 37
3.2.7 Aufbau eines Dokuments 37
3.3 Eigenschaften von XML 38
3.4 Zusammenfassung 39
3.5 Literatur 39
3.6 Verfügbare Software 40


4 XML-Prozessoren 43

4.1 SAX-Simple APl for XML 44
4.2 DOM (Document Object Model) 46
4.3 Einsatz von SAX und DOM 52
4.4 Literatur 55
4.5 Verfügbare Implementierungen 55


5 Datenrepräsentation in XML 57

5.1 Repräsentation von relationalen Datenbanken in XML-Dokumenten 57
5.1.1 Ziele der Datenrepräsentation in XML 58
5.1.2 Generelle Probleme 59
5.1.3 Vollständige Abbildung der Datenbankinhalte 60
5.1.4 Ableitung von Element-Hierarchien aus Schlüssel- und Fremdschlüsselbeziehungen 75
5.1.5 Ableitung von XML-Dokumenten aus Ausschnitten einer Datenbank 76
5.1.6 Einsatz von individuellen Transformationsregeln 78
5.1.7 Mapping-Verfahren 84
5.1.8 Einsatz der verschiedenen Verfahren 86
5.2 Repräsentation von objektrelationalen Datenbanken 87
5.3 Repräsentation von anderen Daten in XML-Dokumenten 90
5.4 Literatur 92
5.5 Umsetzung in frei verfügbaren Tools 93
5.6 Kommerzielle Systeme 94


6 XML-Datenbanken — Architekturmodelle 99

6.1 Datenzentrierte, dokumentzentrierte und semistrukturierte XML-Dokumente 100
6.2 Die konzeptuelle, logische und physische Ebene von XML-Datenbanken 102
6.3 Logische Ebene 105
6.3.1 Anforderungen 105
6.3.2 Konkrete Umsetzungen 105
6.4 Physische Ebene 106
6.4.1 Anforderungen 107
6.4.2 Konkrete Realisierungen 107
6.5 Modellierung von XML-Dokumenten 108
6.5.1 Anforderungen 109
6.5.2 Konkrete Umsetzung 109
6.6 Zusammenfassung und weiterführende Betrachtungen 110


7 Schemabeschreibung und konzeptueller Entwurf von Schemata 113

7.1 Vorteile einer Schemabeschreibung 113
7.2 Methoden zur Schemabeschreibung 114
7.2.1 DTDs 114
7.2.2 XML Schema 115
7.3 Ableitung von Schema-Informationen aus Dokumentkollektionen 126
7.4 Vorteile einer konzeptuellen Modellierung 129
7.5 Methoden zur konzeptuellen Modellierung 130
7,5.1 Einsatz des Entity-Relationship-Modells 1 30
7.5.2 Modellierung mit ORM 133
7.5.3 Verwendung von UML 134
7.5.4 XML-Editoren 136
7.5.5 Einsatz der Entwurfsmethoden 1 37
7.6 Metriken für XML-Dokumente 138
7.6.1 Produktmetriken für XML 139
7.6.2 Ressourcenmetriken 144
7.6.3 Verwendung der Metriken 145
7.6.4 Metriken zur Bestimmung des Dokumentcharakters 146
7.7 Literatur 148
7.8 Systeme 152


8 XML-Datenbanken — Speicherungstechniken 155

8.1 Klassifikation der Speicherungsmethoden 1 55
8.2 Speicherung von XML-Dokumenten als Ganzes 1 58
8.2.1 Verwendung eines Volltextindexes 159
8.2.2 Verwendung eines kombinierten Volltext- und Strukturindexes 164
8.3 Speicherung der Graphenstruktur von XML-Dokumenten 167
8.3.1 Abbildung der Graphenstruktur von XML-Dokumenten 167
8.3.2 Abbildung von DOM-Strukturen auf objektorientierte oder relationale Datenbanken 171
8.4 Abbildung der Dokument- auf Datenbankstrukturen 175
8.4.1 Automatische Speicherung der Dokumente 1 76
8.4.2 Einsatz von Mapping-Vorschriften 181
8.5 Hybride Speicherung 185
8.6 Redundante Speicherung 188
8.7 Zusammenfassung 189
8.8 Literatur 190
8.9 Verfügbare Implementierungen 192
8.10 Kommerzielle Systeme 192


9 Speicherorganisation und Indexstrukturen 197

9.1 Werteindex 198
9.1.1 Erweiterbares Hashing 199
9.1.2 B+-Bäume
9.1.3 Signaturbäume 205
9.2 Volltextindex 209
9.2.1 Invertierte Datei 212
9.2.2 Tries, Patricia- und Suffixbäume 216
9.2.3 SuffixArrays 218
9.2.4 Unterstützung von Mustersuche 220
9.2.5 Vergleich Volltextindizierung 222
9.3 Dokumentspeicherung 223
9.3.1 Überblick 223
9.3.2 Persistentes DOM in Infonyte-DB 223
9.3.3 Hybride Speicherung in Natix 226
9.4 XML-Struktur- oder Pfadindizes 228
9.4.1 XML-sensitiver Volltextindex 231
9.4.2 Nummerierungsschemata 232
9.4.3 XASR 237
9.4.4 Index Fabric 238
9.4.5 Pfadindizierung in SphinX 242
9.5 Zusammenfassung 245
9.6 Literatur 246


10 XML-Anfragesprachen 249

10.1 Kriterien für Anfragesprachen 249
10.1.1 AllgemeineAnforderungen 250
10.1.2 XML-Anforderungen 251
10.1.3 Grundoperationen 253
10.2 XPath 1.0 256
10.2.1 Dokument- und Datenmodell 256
10.2.2 Sprachüberblick 258
10.2.3 Pfadausdrücke 258
10.2.4 Selektionsprädikate 262
10.2.5 Funktionsbibliothek 265
10.3 XQuery 1.0 266
10.3.1 Sprachüberblick 266
10.3.2 Das Datenmodell 267
10.3.3 Einfache Ausdrücke 269
10.3.4 FLWR-Ausdrücke 271
10.3.5 Elementkonstruktoren 277
10.3.6 Verbünde 279
10.3.7 Gruppierung 281
10.3.8 Sortierung mit SORT BY 282
10.3.9 Verwendung von Quantoren 283
10.3.10 Bedingte Ausdrücke . 284
10.3.11 Typsystem 285
10.3.12 Vergleichsoperationen 289
10.3.13 Statischer und dynamischer Kontext eines Ausdrucks 292
10.3.14 Anfrageprolog 292
10.3.15 Nutzerdefinierte Funktionen 293
10.3.16 XQuery-Standardisierung 294
10.3.17 XQuery-Implementierungen 295
10.4 Übersicht zu weiteren Anfragesprachen 295
10.4.1 XML-QL 295
10.4.2 XQL 300
10.4.3 XML und Updates 304
10.4.4 XQuery-Updates mit SUNFLWR 305
10.5 Weiterführende Literatur 306


11 XML-Unterstützung in Datenbanksystemen 311

11.1 DB2 mit XML-und TextExtender 312
11.1.1 XML Extender — Überblick 312
11.1.2 Speicherungs- und Zugriffstechniken 314
11.1.3 Beschreibung der XML-Speicherung mit DAD 317
11.1.4 TextExtender und Volltextsuche 321
11.1.5 Weitere Komponenten 321
11 .1.6 Einsatzmöglichkeiten 322
11 .2 Oracle 9i 323
11.2.1 Export von Datenbankinhalten mit XML-Syntax 324
11.2.2 XML-Speicherung mit XMLType 326
11.2.3 Speicherung von XML-Dokumenten mit intermedia Text 328
11.2.4 Strukturierte Speicherung von XML 329
11.2.5 Kombination der Speicherungsvarianten 329
11.2.6 Einsatz 329
11.3 Microsoft SQL Server 2000 und XML-Unterstützung 330
11.3.1 Darstellung von SQL-Anfrageergebnissen als XML 332
11.3.2 Relationale Sichten auf XML mit OpenXML 337
11.3.3 XML-Sichten auf relationale Daten 339
11.3.4 Zusammenfassung der Möglichkeiten 341
11.4 eXtensible Information Server von eXcelon 342
11.5 Tamino 345
11.6 Infonyte-DB 347
11.7 POET Object Server Suite 349
11.8 Content Management Suite — CMS 352
11.9 Leistungsbewertung von Systemen und Benchmarks 355
11.9.1 Xmark 356
11.9.2 XOO7 356
11.9.3 XMach-1 357
11.10 Zusammenfassung und Ausblick 358


A Beispiel »Hotelinformationen«. 361
A.1 Konzeptueller Entwurf im ER-Modell 361
A.2 Abbildung auf das relationale Datenbankmodell 363
A.3 Beispiel-Datenbank 365
A.4 DTD, XML Schema und XML-Dokumente 366


B Beispielanwendung »Plattenkritiken« 377
B.1 Konzeptueller Entwurf im ER-Modell 377
B.2 DTD, XML Schema und XML-Dokumente 378


C XPath 383
C.1 Funktionen auf Knotenmengen 383
C.2 Funktionen auf Zeichenketten 384
C.3 Funktionen auf numerischen Werten 385
C.4 Funktionen auf booleschen Werten 386

Literaturverzeichnis 387
Tabellenverzeichnis 405
Abbildungsverzeichnis 407
Personenregister 411
Stichwortverzeichnis 415