Xpert. press Springer-Verlag Berlin Heidelberg GmbH Die Reihe Xpert.press des Springer-Verlags vermittelt Professionals in den Bereichen Betriebs- und Informationssysteme, Software Engineering und Programmiersprachen aktuell und kompetent relevantes Fachwissen tiber Technologien und Produkte zur Entwicklung und Anwendung moderner Informations technologien. Wassilios Kazakos . Andreas Schmidt Peter Tomczyk Datenbanken undXML Konzepte, Anwendungen, Systeme Unter Mitarbeit von Oliver Braun, Dieter Giindisch, Thomas Marz Prof. Dr. Guido Moerkotte, Paul Schmidt, Alexei Valikov Vorwortvon Prof. Dr. Peter Lockemann t Springer Dipl.-Inform. Wassilios Kazakos [email protected] Dipl.-Inform. Andreas Schmidt [email protected] Dipl.-Wirtsch.-Inf. Peter Tomczyk ptomczyk@fzLde Forschungszentrum Informatik Haid-und-Neu-Str.1O-14 76131 Karlsruhe Die Deutsche Bibliothek -CIP-Einheitsaufnahme Kazakos, Wassilios: Datenbanken und XML: Konzepte, Anwendungen, Systeme I Wassilios Kazakos; Andreas Schmidt; Peter Tomczyk. Vorw. von P. Lockemann. - Berlin; Heidelberg; New York; Barcelona; Hongkong; London; Mailand; Paris; Tokio: Springer, 2002 (Xpert.press) ISBN 978-3-642-62626-5 ISBN 978-3-642-56375-1 (eBook) DOI 10.1007/978-3-642-56375-1 0101 deutsche buecherei ISSN 1439-5428 ISBN 978-3-642-62626-5 Dieses Werk ist urheberrechtlich geschiitzt. Die dadurch begriindeten Rechte, insbeson dere die der Obersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfliltigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfăltigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestim mungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils ge1tenden Fassung zullissig. Sie ist grundslitzlich vergiitungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. http://www.springer.de © Springer-Verlag Berlin Heide1berg 2002 Ursprung1ich erschienen bei Springer-Verlag Berlin Heidelberg 2002 Softcover reprint of the hardcover 1s t edition 2002 Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, daB solche Namen im Sinne der Warenzeichen-und Markenschutz-Gesetzgebung a1s frei zu betrachten wiiren und daher von jedermann benutzt werden diirften. Einbandgestaltung: KiinkelLopka Werbeagentur Satz: Satzaufbereitung durch Autor Gedruckt auf sliurefreiem Papier SPIN: 10834671 33/3142XO -543210 Flir Petra, Christine und Olga Vorwort XML hat sich in einem Siegeszug ohnegleichen zur lingua franca entwickelt und damit etwas geschafft, was anderen Sprachen im Verlauf der mehr als dreiBigjahrigen Geschichte der Informatik nicht vergonnt war. Am nachsten kam diesem Ziel vielleicht noch SQL. Aber Datenbanksprachen erlangen nun einmal nicht dieselbe Verbreitung wie das allgegenwartige Internet. Dnd so musste die er folgsgewohnte Datenbanktechnik auch erst einmal lemen, statt zu agieren und die Richtung zu bestimmen auf die Vorgaben anderer zu reagieren. Wie diese Reaktion aussieht, davon handelt dieses Buch. Die Datenbanktechnik hat ubrigens gute Grtinde und hervorra gende Chancen, der Entwicklung in XML ihren eigenen Stempel aufzupragen. Datenbanktechnik beherrscht Merkmale, die Diensten im Internet erst zu weitlaufiger Brauchbarkeit verhelfen - zumindest wenn man das Web als eine gigantische Informationsbasis versteht. Da ist zum Einen der Dmgang mit Skalierbarkeit: Datenbanktechnik weiB, wie man riesige und ins Dnermessliche wachsende Datenbe stande zu verwalten hat. Da ist zum Zweiten Persistenz: Datenbank technik verleiht Datenbestanden eine potenziell unbegrenzte Le bensdauer. Da ist zum Dritten Robustheit: Datenbanktechnik erhalt die Konsistenz der Daten - wie immer sie definiert sein mag - uber aIle Fahmisse hinweg, von denen es angesichts der langen Lebens dauer nicht wenige geben wird. Da ist zum Vierten deskriptiver Zu gang: Angesichts von GroBe und dynarnischem Wachstum kann man das gewunschte Ergebnis nur noch durch seine Eigenschaften erfassen, nicht aber durch einen Plan, der den Weg zum Ergebnis beschreibt. Dnd dann ist da zum Funften Peiformanz: Die Datenba sis mag noch so umfangreich sein, es lasst sich immer intern ein Plan erzeugen, dessen Antwortzeit weitgehend unempfindlich gegen die GroBe der Datenbasis ist. Will man die Datenbanktechnik - und damit die genannten Merkmale - mit den ubrigen Diensten im Internet zusammenftihren, bedarf es eines Brtickenschlags. Die Pfeiler halt die Datenbanktech nik aber von jeher vor: das Datenmodell. Ein Datenmodell bietet po- Vorwort -- VII - lymorphe Regeln, nach denen die Datenbasis zu strukturieren ist, und nach denen die strukturellen Freiraume fur Zwecke der Konsis tenzwahrung weiter eingegrenzt werden konnen, und einen Satz von polymorphen Operatoren, die den Umgang - Lesen und Fortschrei ben - mit der Datenbasis regeln. Damit die Operatoren aber iiber haupt ein Ergebnis liefern konnen, miissen sie in der Lage sein, die Datenbasis zu interpretieren und damit sozusagen monomorph zu agieren. Die Interpretation liefert das Datenbasisschema, das nun freilich voraussetzt, dass sich die Daten in der Datenbasis in vorbe stimmte Muster, also in Datentypen, pressen lassen. Wer hoch ska lieren muss, wird sich dieser Voraussetzung kaum entziehen konnen, will er iiberhaupt den Uberblick wahren. Und auch Robustheit braucht einen Bezugspunkt, und den bietet eben auch das Datenba sisschema. SchlieBlich ist es die Verbindung von Skalierbarkeit, Per formanz und deskriptivem Zugang, die zur Entwicklung deskripti ver, mengenorientierter Anfragesprachen gefiihrt hat, denen - und das ist sogar ein gewisses Novum bei XML - noch deskriptive Transformationssprachen fur die Anderungsvorgange hinzuzufugen sind. All das sind Eigenschaften, die Datenbankdienste auch im Inter net anbieten sollten. Datenbanksysteme bieten also Pfeiler, aber die Briicke selbst bleibt noch zu bauen. Wie sie aussieht, das muss XML - oder eigentlich genauer: seine Anhtinger und die Standardisie rungsgremien - sagen. Mit dieser Briicke beschaftigt sich das vor liegende Buch. Wie die Pfeiler realisiert werden, wie also ein Da tenbanksystem im Innern mit XML umgeht, spielt dagegen eine un tergeordnete Rolle. Damit wird auch deutlich, an welchen Leserkreis sich das Buch vorrangig wendet: An diejenigen, die Internet und Da tenbanken iiber XML zusammenfuhren wollen oder miissen. Noch sind Briickenbauer gefragt! Die Autoren stellen das metho dische Riistzeug bereit. Nun ist es an den Lesern, mit dem Riistzeug zu tragfahigen Briicken zu gelangen! Prof. Dr. Peter Lockemann. VIII • Vorwort • • Inhalt 1 Einleitung ................................................................................ 1 1.1 Warum dieses Buch? ......................................................... l 1.2 Der rote Faden ................................................................... 2 1.3 Danksagung ....................................................................... 3 1.4 URL zum Buch .................................................................. 4 TElL I Einftihrung ........................................................................... 5 2 XML-Grundlagen .................................................................... 7 2.1 Einleitung ........................................................................... 7 2.2 Was ist XML? ................................................................... 7 2.3 Dokumenttypen und Namensraume ............................... 10 2.4 Verkniipfungen mittels XLink ........................................ 13 2.4.1 Einfache Verkniipfungen ....................................... 14 2.4.2 Erweiterte Verkniipfungen ..................................... 15 2.5 Adressierung mittels XPath ............................................ 16 2.5.1 Pfadausdruck .......................................................... 16 2.5.2 Achsen .................................................................... 19 2.5.3 Kurzschreibweise ................................................... 23 3 XML als Datenmodell ............................................................ 25 3.1 Uber die Strukturiertheit von Daten ................................ 25 3.1.1 Einfiihrung .............................................................. 25 3.1.2 Das We sen von "Struktur" ..................................... 26 3.2 Semistrukturiertes Datenmodell ...................................... 27 3.2.1 Einfiihrung .............................................................. 27 3.2.2 Was sind semistrukturierte Daten? ........................ 28 3.2.3 Datenmodell OEM ................................................. 28 3.3 XML und Datenbanken ................................................... 31 3.3.1 XML und die Strukturierung von Daten ............... 31 3.3.2 Ein Datenmodell fUr XML.. ................................... 31 3.3.3 Exkurs: Vergleich mit anderen Datenmodellen .... 33 3.3.4 Datenbanktechniken fUr XML. .............................. 35 Inhalt -- IX - TElL II Grundlegende Datenbanktechniken ............................. 37 4 Schema .............................................................................. 39 4.1 Einfuhrung ....................................................................... 39 4.1.1 Warum Schema? ..................................................... 39 4.1.2 Schema und die drei Stromungen von XML ......... 40 4.2 Uberblick tiber XML Schema ........................................ .42 4.2.1 Validierungskonzept. .............................................. 43 4.3 Datentypen ....................................................................... 44 4.3.1 Einfache Typen ...................................................... .46 4.3.2 Definition neuer einfacher Typen .......................... 51 4.4 Struktur ............................................................................ 53 4.4.1 Element- und Attributdeklarationen ...................... 54 4.4.2 Komplexe Typen .................................................... 54 4.4.3 Ableitung komplexer Typen und Typhierarchie ... 58 4.5 Konsistenzregeln ............................................................. 61 4.5.1 Problem der Nullwerte ........................................... 62 4.5.2 IDIIDREF in XML-DTDs ...................................... 62 4.5.3 Schliisselbedingungen ............................................ 63 4.5.4 Fremdschliisselbeziehungen ................................... 65 4.6 Wiederverwendung und Erweiterbarkeit ........................ 67 4.6.1 Modellgruppen und Attributgruppen ..................... 68 4.6.2 Einbinden von extemen Schemata ......................... 68 4.6.3 Dokumentation des Schemas ................................. 69 4.6.4 Schemaannotationen ............................................... 70 4.7 Weitere Schemaansatze ................................................... 71 4.7.1 RELAXNG ............................................................ 72 4.7.2 Schematron ............................................................. 74 4.7.3 XMLData Reduced (XDR) ................................... 75 4.8 Zukunft und Fazit ............................................................ 76 4.8.1 Offene Probleme ..................................................... 77 4.8.2 Fazit ........................................................................ 77 5 Zugriff .............................................................................. 79 5.1 XML-Anfragesprachen im Uberblick ............................. 79 5.1.1 Lesende und schreibende Zugriffe ......................... 79 5.1.2 Anfragesprachen und die drei Stromungen von XML ................................ 80 5.1.3 Selektions-und Transformationsaspekt.. ............... 83 5.1.4 Ansatze fur eine XML-Anfragesprache ................. 84 5.2 XQuery ............................................................................. 85 5.2.1 Uberblick ................................................................ 85 5.2.2 Grundstruktur und Verarbeitungsmodell ............... 86 5.2.3 Pfadausdriicke ......................................................... 88 x • Inhalt • • 5.2.4 Knotenlistenoperatoren und -funktionen ............... 89 5.2.5 Operationen auf atomaren Werten ......................... 91 5.2.6 Logische Operatoren und Funktionen .................. 93 5.2.7 Funktionen .............................................................. 94 5.2.8 Datentypen und XQuery ........................................ 95 5.2.9 XML-Syntax von XQuery ..................................... 96 5.3 Weitere Anfragesprachen ................................................ 98 5.3.1 XQL ........................................................................ 99 5.3.2 Erweiterung des SQL-Standards .......................... 101 5.4 Schreibzugriffe .............................................................. 101 5.4.1 Einftihrung ............................................................ 101 5.4.2 XUpdate ................................................................ 102 5.4.3 Erweiterungen von XQuery ................................. 104 5.5 Fazit ............................................................................ 105 6 Weiterverarbeitung und Prasentation ............................... l07 6.1 Einleitung ....................................................................... 107 6.2 XSLT ............................................................................ 108 6.2.1 Templates ............................................................. 110 6.2.2 Stylesheets ............................................................ 119 6.3 XForms -Benutzerinteraktion tiber Web-Formulare ... 123 6.3.1 Anfrageschnittstellen ..................................................... 125 7 Anwendungsschnittstellen ................................................... 127 7.1 Einleitung ....................................................................... 127 7.2 DOM ............................................................................ 128 7.2.1 Die Dokumentstruktur in DOM ........................... 129 7.2.2 DOM Levell ....................................................... 131 7.2.3 DOM Level 2 ....................................................... 131 7.2.4 DOM Level 3 ....................................................... 133 7.2.5 DOM Implementierungen .................................... 133 7.3 SAX ............................................................................ 133 7.3.1 Einleitung ............................................................. 133 7.3.2 Das Ereignismodell .............................................. 134 7.4 XML:DB ........................................................................ 136 7.5 Bewertung ...................................................................... 137 TElL III Einbindung in den Datenbankentwurfsprozess ....... 139 8 XML und der Entwurfsprozess .......................................... 141 8.1 Einftihrung ..................................................................... 141 8.2 Klassische Entwurfsmethodik ....................................... 142 8.3 Abbildung existierender Datenbanken ......................... 143 9 Abbildung konzeptueller Modelle ...................................... 147 Inhalt -- XI -
Description: