Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Institute for Software Science – University of ViennaP.Brezany XML und Datenbanken Peter Brezany Institut für Softwarewissenschaften Universität Wien.

Ähnliche Präsentationen


Präsentation zum Thema: "Institute for Software Science – University of ViennaP.Brezany XML und Datenbanken Peter Brezany Institut für Softwarewissenschaften Universität Wien."—  Präsentation transkript:

1 Institute for Software Science – University of ViennaP.Brezany XML und Datenbanken Peter Brezany Institut für Softwarewissenschaften Universität Wien

2 Institute for Software Science – University of ViennaP.Brezany 2 Inhalt Motivation XML Basiswissen –DTD, XML Schema –Wohlgeformtheit und Gültigkeit –Klassifikation von XML Dokumenten XML/DB –Anforderungen –Eigenschaften –Native XML Datenbanken (NXD) Abfragesprachen –XQuery, XPath XML Prozessoren –SAX, DOM SQL/XML

3 Institute for Software Science – University of ViennaP.Brezany 3 Motivation Java: „write once, run everywhere“ XML: „write once, read everywhere“ –zur Darstellung und Transport von Information eingesetzt »Zwischen Mensch-Mensch, Computer-Computer,.... Anwendungen für XML Datenbanken –Platz um Webseite zu speichern –Datenbank einer e-Commerce Anwendung die XML zum Daten transport verwendet –Wenn Daten semistrukturiert sind –Aufzeichnung von SOAP Nachrichten,

4 Institute for Software Science – University of ViennaP.Brezany 4 Schemabeschreibung mittels DTD Darstellung, welche Elemente auftreten können und wie sie geschachtelt werden Also: Deklaration von Strukturinformationen Vorteile einer DTD: –Entspricht einer Dokumentation für die XML-Dokumente –Anwendungen können darauf reagieren –Fehler in XML-Dokumenten können erkannt werden –Oft bessere Qualität der XML-Dokumente, weil durchdachteres Vorgehen

5 Institute for Software Science – University of ViennaP.Brezany 5 XML Schema wesentlich umfangreichere Darstellungsm ö glichkeiten als DTDs vordefinierte Datentypen –Vielzahl von Standardtypen (int, float, string,....) die M ö glichkeit zur Definition eigener Datentypen –basieren auf den vordefinierten Datentypen XML-Syntax die M ö glichkeit, Integrit ä tsbedingungen darzustellen, die die Korrektheit der XML-Dokumente beschreiben –Eindeutigkeitsbedingung (unique) –Schl ü ssel (key) –sowie Referenzen auf Schl ü ssel (keyref)

6 Institute for Software Science – University of ViennaP.Brezany 6 XML Schema vs. DTD XML Schema umfasst alle Modellierungsm ö glichkeiten, die mit der DTD bereitstehen, mit Ausnahme von Entities. Ü bersetzung: DTD in XML Schema => verlustfrei, Entities werden vor der Ü bersetzung expandiert und dadurch aufgel ö st. DTDs enthalten wesentlich weniger Darstellungsm ö glich- keiten als XML Schema und auch keine Typinformationen. Ü bersetzung: XML Schema in DTDs => Informationen gehen verloren

7 Institute for Software Science – University of ViennaP.Brezany 7 Eigenschaften von XML Dokumenten Wohlgeformtheit Dokument syntaktisch korrekt? Überprüft wird: –Alle Elemente müssen ein Start-Tag und ein Ende-Tag haben, außer leere Elemente –Korrekte Schachtelung von Tags –Alle Attributwerte stehen in Hochkommas oder Anführungsstrichen –Ohne zugeordnete DTD sind alle Attribute nach Definition vom Typ CDATA –Keine mehrfach auftretenden Attributnamen an einem Element –Alle Zeichen, die Markup sein könnten (Bsp <, &), dürfen nicht im Text auftreten, sondern müssen durch Entityreferenzen (< &) ersetzt werden Gültigkeit –Wohlgeformtheit und entspricht das XML-Dokument der zugeordneten DTD/Schema? –Getestet wird z.B.: »Inhaltsmodelle der Elemente: so im Schema definiert? »Attribute definiert?

8 Institute for Software Science – University of ViennaP.Brezany 8 Klassifikation von XML Dokumenten Datenzentrierte Dokumente strukturiert, regulär Beispiele: Produktkataloge, Bestellungen, Rechnungen Dokumentzentrierte Dokumente unstrukturiert, irregulär Beispiele: wissenschaftliche Artikel, Bücher, s, Webseiten Semistrukturierte Dokumente datenzentrierte und dokumentzentrierte Anteile Beispiele: Veröffentlichungen, Amazon Meyer XML builds on the principles of two existing languages, HTML and SGML to create a simple mechanism.. The generalized markup concept.. Neil Bradley XML companion XML builds on the principles of two existing languages, HTML and..

9 Institute for Software Science – University of ViennaP.Brezany 9 XML/DB Anforderungen effektive Speicherung –Keine optimale Lösung für alle Anwendungen »Dokumentcharakter spielt entscheidende Rolle effizienter Zugriff auf XML-Dokumente oder Teile davon –Transaktionsverwaltung –Unterstützung von XPath und XQuery –Unterstützung von SAX und DOM für Anwendungen Wiederherstellbarkeit der Dokumente

10 Institute for Software Science – University of ViennaP.Brezany 10 Speicherungsmöglichkeiten Volltextindex und XML-Index Volltextindex Als Dateien / Clobs Speicherung der Dokumentstruktur Strukturierte Speicherung in (rel.) Datenbanken Vollständiges Mapping Benutzer- definiertes Mapping Abbilden des DOM-Modells Abbildung der Graphstruktur Textbasierte nativeModellbasierte nativeSpeicherung

11 Institute for Software Science – University of ViennaP.Brezany 11 Volltext-Index - bekannte Methode (älter als relationale Datenbanken) - Verfahren aus dem Bereich der Dokumentverarbeitung Verweis Warnemünde Warnemünde 12 Hotel Hübner Aus Richtung Rostock kommend... Begriff anreisebeschreibung ort Rostock hotel Seestraße

12 Institute for Software Science – University of ViennaP.Brezany 12 Volltext-Index Schemabeschreibung: – nicht erforderlich Dokumentrekonstruktion: – Dokumente bleiben im Original erhalten Anfragen: Anfragen des Information Retrieval Weitere Besonderheiten: Volltextfunktionen keine Auswertung des XML-Markups Einsatz für dokumentzentrierte XML-Anwendungen

13 Institute for Software Science – University of ViennaP.Brezany 13 Volltext und XML-Index

14 Institute for Software Science – University of ViennaP.Brezany 14 Volltext und XML-Index XML - Struktur kann in Anfragen ausgewertet werden –Einsatz von XPath und XQuery ist dadurch möglich Schemabeschreibung: –nicht erforderlich Dokumentrekonstruktion: –Dokumente bleiben im Original erhalten Anfragen: Anfragen des Information Retrieval Auswertung des Markup in den Anfragen möglich Weitere Besonderheiten –Volltextfunktionen Einsatz: –für dokumentzentrierte und semistrukturierte Anwendungen

15 Institute for Software Science – University of ViennaP.Brezany 15 Speicherung der Graphenstruktur Verwendung von Relationen zur Speicherung von Elementen und Attributen Elemente: Elementname | Wert | Verweis auf Vorgänger | Ordnung Attribute: Attributname | Wert | Verweis auf Element Damit ist die Zuordnung von Inhalten zur Struktur, sowie die vollständige Wiederherstellung der Struktur möglich

16 Institute for Software Science – University of ViennaP.Brezany 16 Speicherung der Graphenstruktur Schemabeschreibung: –zur Speicherung nicht erforderlich Dokumentrekonstruktion: –möglich, aber sehr aufwändig Anfragen: –angepasste DB-Anfrage Weitere Besonderheiten: –Anfragen über vielen Elementen/Attributen sind aufwändig Einsatz: –daten-,dokumentzentrierte und semistrukturierte XML-Dokumente

17 Institute for Software Science – University of ViennaP.Brezany 17 Vollständiges Mapping auf rel. DB - DTD ist erforderlich - typgerechte Speicherung XML-Dokument HotelIDHotelnameAdressePreise H0001Hotel HübnerA0001P0001 AdresseIDOrtStrasse... A0001WarnemündeSeestraße PreiseIDEinzelzimmer... P Hotel: Preise: Adresse: Hotel Hübner Warnemünde Seestraße

18 Institute for Software Science – University of ViennaP.Brezany 18 Vor/Nachteile vollständ. Mapping Vorteile: bei der Speicherung strukturierter Daten Anfragen, Datentypen, Aggregatfunktionen, Sichten Integration in andere Datenbanken Nachteile: bei der Speicherung semi- und unstrukturierter Daten großes Schema, schwach gefüllte Datenbanken, viele Nullwerte Keine flexiblen Datentypen, Speicherung von Alternativen problematisch Fehlende Information Retrieval Anfragen, keine Volltextoperationen möglich

19 Institute for Software Science – University of ViennaP.Brezany 19 Vollständiges Mapping auf rel. DB Schemabeschreibung: –zur Speicherung erforderlich Dokumentrekonstruktion: –nur eingeschränkt möglich (Protokollierung des Abbildungsprozesses) Anfragen: –Datenbankanfragen Weitere Besonderheiten: –Föderationen mit bestehenden Datenbanken möglich Einsatz: –für datenzentrierte XML-Anwendungen

20 Institute for Software Science – University of ViennaP.Brezany 20 Benutzerdefiniertes Mapping Hotel Hübner Hotel_URL Hotelpreise NameEinzelzimmer Datenbank Hotel Hübner Warnemünde Seestraße... XML-Dokument Mapping Vorschrift

21 Institute for Software Science – University of ViennaP.Brezany 21 Benutzerdefiniertes Mapping Schemabeschreibung: –Zur Speicherung erforderlich Dokumentrekonstruktion: –Meist nicht möglich (Voraussetzung: Protokollierung des Abbildungsprozesses vollständige Abb.) Anfragen: –Datenbankanfragen Weitere Besonderheiten: –Integration in bestehende Datenbanken möglich –XML-Dokumente und DB voneinander unabhängig Einsatz: –für datenzentrierte XML-Anwendungen

22 Institute for Software Science – University of ViennaP.Brezany 22 Native XML Database Spezialisiert für die Speicherung von XML Daten XML Dokumente gehen rein/raus Muss keine Stand-alone Datenbank sein Kein neues low-level Datenbank Modell Sollen nicht alle bestehenden Datenbanken ersetzen OpenSource (Xindice, eXist) sowie kommerzielle Lösungen (Tamino)

23 Institute for Software Science – University of ViennaP.Brezany 23 XML Abfragesprachen XPath –Pfadausdrücke zur Adressierung von XML Fragmenten –Grundlage für viele weitere Standards »XSLT »Xquery –Von meisten XML Datenbanken unterstützt –grundlegendes Konstrukt sind XPath-Ausdrücke: »Pfadausdrücke (Location path), »logische und mathematische Verknüpfungen, »Funktionsaufrufe »sind vom Typ her Knotenmengen oder Werte (boolean, number, string) XQuery –Praktische Beispiele:

24 Institute for Software Science – University of ViennaP.Brezany 24 XML Abfragesprachen

25 Institute for Software Science – University of ViennaP.Brezany 25 XQuery Basiert auf Xpath SQL ähnlich –FOR-LET-WHERE-RERTURN –FOR/LET: geordnete Liste von Tupeln gebundener Variablen –WHERE: eingeschränkte Liste von Tupeln gebundener Variablen –RETURN: Ergebniskonstruktion, Instanzen des XML Query data model Ausdrücke: –Konstanten und Variablen: „Hallo“ $x –Kommentare: {-- Kommentar --} –Sequenzen: (1, /a/b/c, „Hallo“)

26 Institute for Software Science – University of ViennaP.Brezany 26 XQuery Operatoren und Funktionen –sum( $a + 1, $b – 2 ) –$zaus UNION $haus –Benutzerdefinierte Funktionen Elementkonstruktoren –reines XML, wird so in das Ergebnis übernommen, wie es ist –XML mit geschachtelten Ausdrücken in ’{’ ’}’ Sortierung FOR $h IN /hotel[name = "Hübner"] ORDER BY zimmer/preis DESCENDING RETURN $h

27 Institute for Software Science – University of ViennaP.Brezany 27 XQuery Bedingte Ausdrücke –IF expr THEN expr ELSE expr Verwendung von Quantoren –SOME var IN expr SATISFIES expr –EVERY var IN expr SATISFIES expr Typwandlung mit CAST und TREAT Typprüfung mit INSTANCEOF und TYPESWITCH

28 Institute for Software Science – University of ViennaP.Brezany 28 XQuery Beispiel

29 Institute for Software Science – University of ViennaP.Brezany 29 XQuery Beispiel FOR $h IN //hotel FOR $z IN $h/zimmertyp WHERE <= 100 RETURN Ergebnis:

30 Institute for Software Science – University of ViennaP.Brezany 30 XML Prozessoren machen den Inhalt eines XML-Dokumentes für eine Anwendung verfügbar Standardisierte Schnittstellen für zahlreiche Programmiersprachen (Java, Phyton, C, C++,...) Einbindung von Bibliotheken Auflösen von Entities nichtvalidierend / validierend in Bezug auf DTD oder XML Schema

31 Institute for Software Science – University of ViennaP.Brezany 31 SAX – ereignisorientierte Abarbeitung durch Bestandteile des Dokumentes werden Aktionen ausgelöst sequentielle Abarbeitung im Anwendungspro-gramm müssen die Methoden definiert werden, die durch Auftreten von Dokumentbestandteilen ausgelöst werden zustandslos startDocument()

32 Institute for Software Science – University of ViennaP.Brezany 32 DOM - Manipulation von Baumstrukturen XML-Dokument als Baum dargestellt, Zugriff kann durch Navigation erfolgen Manipulation des Dokumentstruktur ebenfalls möglich Löschen Einfügen ändern

33 Institute for Software Science – University of ViennaP.Brezany 33 Vergleich DOM - SAX DOM Parser SAX DTD XML- Dokument startDocument startElement endElement endDocument... Anwendung, implemen- tiert Document Handler

34 Institute for Software Science – University of ViennaP.Brezany 34 Einsatz von SAX und DOM SAX einfacher Zugriff einfach strukturierte oder gleichartig strukturierte Dokumente auch geeignet für sehr große XML-Dokumente Zugriff nur auf geringe Anteile eines Dokumentes DOM Navigation durch Dokumentstruktur dadurch kontextabhängige Zugriffe Manipulation der Struktur Für sehr große XML- Dokumente problematisch auch Speicherungsstruktur

35 Institute for Software Science – University of ViennaP.Brezany 35 SQL/XML ANSI-Standard –Version 2003 bzw (in Arbeit) Hersteller wie IBM, Oracle, Microsoft, Informix und Software AG beteiligt Features: –Ausgabe von Relationen als XML-Dokument –Ausgabe von Anfrageergebnissen und Sichten als XML-Dokument –Abbildung von Datenbanktypen auf Typen von XML-Schemata und umgekehrt –Konvertierung der Daten aus Datenbanken auf Werte in XML-Dokumenten Ü bersicht: Eisenberg, „ SQL/XML is making good progress “, 2002

36 Institute for Software Science – University of ViennaP.Brezany 36 SQL/XML CHRISTINE HAAS i OO Ausgabe der Relation Employee als XML Dokument im Schema Admin

37 Institute for Software Science – University of ViennaP.Brezany 37 SQL/XML Ausgabe von Anfrageergebnissen und Sichten –Darstellung von Null Values: –Tabellen und XQuery CHRISTINE HAAS I0 CHRISTINE HAAS highemps> { for Se in table{"Sample_db",...)/EMPLOYEE/row where Be/SALARY > return { Se/FIRSTNME, $e/LASTNAME } }

38 Institute for Software Science – University of ViennaP.Brezany 38 Zusammenfassung Es ist wichtig, Dokumentenklassen zu kennen um richtige Speichermöglichkeit zu finden XQuery ist mächtigerer „Nachfolger“ von XPath 1.0 XML Prozessoren um Ergebnisse von Anfragen an Datenbanken die XML zurückliefern weiterverarbeiten zu können –SAX: arbeitet ereignisorientiert –DOM: Baummanipulationen möglich SQL/XML ist Versuch um wichtige Aufgaben beim Umgang mit XML in Datenbanken zu standardisieren –Verwendet XQuery

39 Institute for Software Science – University of ViennaP.Brezany 39 Resources Open Source Native XMLDB –Apache Xindice: »Supports XPath –eXist: »Supports XPath 2.0 and XQuery 1.0 Open Source XQuery Processor –SAXON: »Supports XSLT 2.0 and XQuery 1.0 Mehr Information zu XML und Datenbanken –Ronald Bourret


Herunterladen ppt "Institute for Software Science – University of ViennaP.Brezany XML und Datenbanken Peter Brezany Institut für Softwarewissenschaften Universität Wien."

Ähnliche Präsentationen


Google-Anzeigen