Seminar XML und Datenbanken - PowerPoint PPT Presentation

seminar xml und datenbanken n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Seminar XML und Datenbanken PowerPoint Presentation
Download Presentation
Seminar XML und Datenbanken

play fullscreen
1 / 52
Seminar XML und Datenbanken
122 Views
Download Presentation
lester-drake
Download Presentation

Seminar XML und Datenbanken

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. SeminarXML und Datenbanken Speicherung von XML-Werten vorSQL:2003

  2. XML vor SQL:2003Inhalt • Einführung und Motivation • Grundlagen und Verständnis • Speichermethoden • Speicherung als Ganzes • Speicherung der Dokumentenstruktur • Abbildung auf Datenbankstruktur • Andere Verfahren • Zusammenfassung

  3. XML vor SQL:2003Einführung und Motivation • Notwendigkeit einer persistenten Speicherung von XML-Dokumenten • Vor SQL:2003 • Keine XML-Unterstützung in SQL-Norm • Speichertechniken nur Notbehelf • Mit Nachteilen behaftet

  4. XML vor SQL:2003Inhalt • Einführung und Motivation • Grundlagen und Verständnis • Speichermethoden • Speicherung als Ganzes • Speicherung der Dokumentenstruktur • Abbildung auf Datenbankstruktur • Andere Verfahren • Zusammenfassung

  5. XML vor SQL:2003Grundlagen und Verständnis • Dokumenten-Charakter • Datenzentrierte Dokumente • Dokumentenzentrierte Dokumente • Semistrukturierte Dokumente • Document Object Model (DOM)

  6. XML vor SQL:2003 – Grundlagen und VerständnisDatenzentrierte Dokumente • Daten selbst von Interesse • Strukturinformationen dienen Unterteilung • Regulär • Strenge Typinformationen • Dokumente meist aus anderen Informationen generiert • Beispiele: Produktkataloge, Rechnungen, Fahrpläne <adresse> <plz>07743</plz> <ort>Jena</jena> <strasse>Lutherplatz</strasse> <nummer>2</nummer> <telefon>03641/406-0</telefon> <fax>03641/406-113</fax> </adresse><

  7. XML vor SQL:2003 – Grundlagen und VerständnisDokumentenzentrierte Dokumente • Daten und Struktur beinhalten Information • Häufig als XML-Dokument erzeugt • Darstellung irregulär • Meist keine Typinformationen • Beispiele: wissenschaftliche Artikel, Buchinhalte, eMails, Webseiten <anreisebeschreibung> Sie können unser Haus auf verschiedenen Wegen erreichen: <bahn>per bahn: 1km ab Bahnhof …</bahn> <auto>per Auto: 10km ab Autobahn A4 … </auto> Sie finden uns in direkter Citylage. </anreisebeschreibung>

  8. XML vor SQL:2003 – Grundlagen und VerständnisSemistrukturierte Dokumente • Mischform aus daten- und dokumentenzentrierten Dokumenten • Beispiele: • Bücher (Metadaten vs. Inhalten) • Hotelinformationen (Preise, Adresse vs. Beschreibungen, Anreisemöglichkeiten) • Online-Buchhändler (Bücher, Lieferzeiten vs. Inhaltsangeben, Rezessionen) <hotel> <name>Schwarzer Bär</name> <adresse> <strasse>Fürstengraben</strasse> … </adresse> <anreisebeschreibung> Sie können unser Haus auf verschiedenen Wegen erreichen: … </anreisebeschreibung> </hotel>

  9. XML vor SQL:2003Grundlagen und Verständnis • Dokumenten-Charakter • Datenzentrierte Dokumente • Dokumentenzentrierte Dokumente • Semistrukturierte Dokumente • Document Object Model (DOM)

  10. DOMImplementation Node NodeList NamedNodeMap Attr CharacterData Comment Text CDataSection Document DocumentFragment DocumentType Element Entity EntityReference Notation ProcessingInstruction XML vor SQL:2003 – Speichermethoden für XML-DokumenteDocument Object Model (DOM) • Empfehlung des W3C • beschreibt Schnittstellen zum Zugriff auf XML-Dokumente und zur Veränderung von Struktur und Inhalten • die zugrundeliegende Implementierung und Speicherung der XML-Dokumente wird nicht definiert

  11. XML vor SQL:2003Inhalt • Einführung und Motivation • Grundlagen und Verständnis • Speichermethoden für XML-Dokumente • Speicherung als Ganzes • Speicherung der Dokumentenstruktur • Abbildung auf Datenbankstruktur • Zusammenfassung

  12. XML vor SQL:2003 – Speichermethoden für XML-DokumentKlassifikation der Speicherung • Zahlreiche verschiedene Methoden • Drei grundlegende Klassen von Verfahren Speicherung vonXML-Dokumenten Speicherung vonXML-Dokumenten Speicherung alsGanzes Speicherung alsGanzes Speicherung alsGanzes Speicherung alsGanzes Speicherung alsGanzes Speicherung alsGanzes Speicherung alsGanzes Speicherung alsGanzes Speicherung vonXML-Dokumenten Speicherung vonXML-Dokumenten Speicherung vonXML-Dokumenten Speicherung derDokumentenstruktur Speicherung vonXML-Dokumenten Speicherung vonXML-Dokumenten Speicherung derDokumentenstruktur Speicherung derDokumentenstruktur Speicherung derDokumentenstruktur Speicherung derDokumentenstruktur Speicherung derDokumentenstruktur Speicherung derDokumentenstruktur Speicherung derDokumentenstruktur Speicherung derDokumentenstruktur Abbildung aufDatenbankstruktur Abbildung aufDatenbankstruktur Speicherung vonXML-Dokumenten Abbildung aufDatenbankstruktur Abbildung aufDatenbankstruktur Speicherung vonXML-Dokumenten Abbildung aufDatenbankstruktur Abbildung aufDatenbankstruktur Abbildung aufDatenbankstruktur Abbildung aufDatenbankstruktur

  13. XML vor SQL:2003Inhalt • Einführung und Motivation • Grundlagen und Verständnis • Speichermethoden für XML-Dokumente • Speicherung als Ganzes • Speicherung der Dokumentenstruktur • Abbildung auf Datenbankstruktur • Zusammenfassung

  14. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung als Ganzes • XML-Dokumente als Datei in Dateisystem speichern und verwalten • Keine Umwandlungsoperationen nötig • Orginalzustand bleibt erhalten und jederzeit verfügbar • Speicherung als CLOBs in Datenbanksystem Character Language OBject - Datenbankfeld zur Speicherung von sehr langen Textdaten

  15. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung als Ganzes • Anfragen durchsuchen Dokumente sequentiell • Ineffizient bei großen Mengen • Lösung: Index Speicherung alsGanzes Volltext-Index Volltext- undStruktur-Index

  16. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung als Ganzes • Verwendung eines Volltextindex • Information Retrieval Anfragen auf Volltext • Verwendung in Suchmaschinen • Anfragen möglich wie: • „Welche Dokumente handeln von XML?“ • „In welchem Dokument treten Datenbanken im Zusammenhang mit XML auf?“ • Deskribierung, Recherche und Ergebnispräsentation • Deskribierung – Aufbereitung von Dokumenten • Statistisch wortbasierte Verfahren • Linguistische Verfahren • Wissensbasierte Verfahren

  17. Stichworte Dokumente Dokumente Stichworte 1 3 A A D F 1 2 B 2 3 C B C D 2 1 2 3 D 3 E A C D E 1 F 3 XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung als Ganzes • Verwendung eines Volltextindex • Index als invertierte Liste

  18. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung als Ganzes • Verwendung eines Volltextindex • Index als invertierte Liste <hotel> <hotelname>Schwarzer Bär</hotelname> Begriff Verweis <adresse> <plz>07743</plz> hotel <ort>Jena</ort> Jena <strasse>Lutherplatz</strasse> Richtung <nummer>2</nummer> ort </adresse> <anreisebeschreibung> anreisebeschreibung Aus Richtung Erfurt kommend ... </anreisebeschreibung> </hotel>

  19. Dokumente Stichworte Stichworte Dokumente F A D 1 A 3 1 B 2 D B C C 3 2 2 D 2 1 3 E 3 D A C E 3 F 1 XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung als Ganzes • Verwendung eines Volltextindex • Ranking

  20. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung als Ganzes • Verwendung eines Volltextindex Anfragen: • boolesches Retrieval • Kombination von Anfrageteilen mit AND, OR oder NOT Beispiele: • Hotel AND Jena • (Hotel OR Pension) AND (Jena OR Weimar) • linguistische Anfragen • Stammwortsuche, phonetische Suche, Ähnlichkeitssuche

  21. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung als Ganzes • Verwendung eines Volltextindex Fazit:

  22. Term Verweis Element Jena x x 07743 x x Element Verweis Ordnung Vorgänger hotel x 1 adresse x 2 x ort x 3 x plz x 3 x XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung als Ganzes • Kombination Volltext- und Strukturindex • Erweiterung des Volltextindex um Strukturinfos • Index geteilt (Struktur-, Volltextinformationen) Volltext-Index <hotel> <name>Schwarzer Bär</name> <adresse> <ort>Jena</ort> <plz>07743</plz> </adresse> </hotel> Struktur-Index

  23. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung als Ganzes • Kombination Volltext- und Strukturindex Anfragen: • Boolesches Retrieval • Linguistische Anfragen • Position der Stichworte im Index erlaubt weitere Anfragen • Auswertung der XML-Struktur • hotel.adresse CONTAINS (“Jena”) • hotel.adresse CONTAINS (“Weimar”) OR pension.adresse CONTAINS (“Erfurt”)

  24. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung als Ganzes • Kombination Volltext- und Strukturindex Fazit:

  25. XML vor SQL:2003Inhalt • Einführung und Motivation • Grundlagen und Verständnis • Speichermethoden • Speicherung als Ganzes • Speicherung der Dokumentenstruktur • Abbildung auf Datenbankstruktur • Zusammenfassung

  26. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung der Dokumentenstruktur Speicherung derDokumentenstruktur Einfache Abbildungder Graphenstruktur DOM

  27. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung der Dokumentenstruktur Abbildung der Graphenstruktur • Elemente: • Attribute

  28. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung der Dokumentenstruktur Abbildung der Graphenstruktur - Anfragen • Einfache Anfragen effizient • SQL, Fähigkeiten jedoch kaum genutzt • Beispiel: alle Hotelnamen in Jena: • SELECT • FROM Elemente a, Elemente b • WHERE a.elemetname = ‘name‘ • AND b.elementname = ‘ort‘ • AND b.wert = ‘Jena‘ • AND a.DocID = b.DocID;

  29. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung der Dokumentenstruktur Abbildung der Graphenstruktur - Anfragen Fazit:

  30. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung der Dokumentenstruktur • Document Object Model • Speicherung von XML-Dokumenten Node

  31. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung der Dokumentenstruktur • Document Object Model • Speicherung von XML-Dokumenten Element Attribut

  32. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung der Dokumentenstruktur • Document Object Model • Anfragen • DOM-Methoden • XPath oder XQuery • SQL

  33. XML vor SQL:2003 – Speichermethoden für XML-DokumenteSpeicherung der Dokumentenstruktur • Document Object Model Fazit:

  34. XML vor SQL:2003Inhalt • Einführung und Motivation • Grundlagen und Verständnis • Speichermethoden • Speicherung als Ganzes • Speicherung der Dokumentenstruktur • Abbildung auf Datenbankstruktur • Zusammenfassung

  35. XML vor SQL:2003 – Speichermethoden für XML-DokumenteAbbildung auf Datenbankstrukturen Abbildung auf Datenbankstrukturen Benutzerdefiniertes Mapping Automatische Verfahren

  36. XML vor SQL:2003 – Speichermethoden für XML-DokumenteAbbildung auf Datenbankstrukturen Abbildung auf Struktur objektorientierter Datenbanken XML-Dokument <hotel url="www.schwarzer-baer-jena.de"> <name>Schwarzer Bär</name> <adresse> <ort>Jena</ort> <strasse>Fürstengraben</strasse> ... </adresse> <preise> <einzelzimmer>89 </einzelzimmer> ... </preise> </hotel> Objektrelationale Datenbank Hotel

  37. XML vor SQL:2003 – Speichermethoden für XML-DokumenteAbbildung auf Datenbankstrukturen Abbildung auf Struktur relationaler Datenbanken XML-Dokument Relationale Datenbank Hotel: <hotel url="www.schwarzer-baer-jena.de"> <name>Schwarzer Bär</name> <adresse> <ort>Jena</ort> <strasse>Fürstengraben</strasse> ... </adresse> <preise> <einzelzimmer>89 </einzelzimmer> ... </preise> </hotel> Adresse: Preise:

  38. XML vor SQL:2003 – Speichermethoden für XML-DokumenteAbbildung auf Datenbankstrukturen Automatische Verfahren - Fazit

  39. XML vor SQL:2003 – Speichermethoden für XML-DokumenteAbbildung auf Datenbankstrukturen Benutzerdefiniertes Mapping • bisher: Art der Speicherung nicht beeinflussbar • jetzt: Mappingvorschrift durch Benutzer spezifiziert • Struktur der XML-Dokumente und Datenbankschema können unabhängig voneinander entworfen werden (und relativ autonom sein) • ebenso: Speicherung von XML-Dokumenten in existierende Datenbanken

  40. XML-Dokument Mapping Vorschrift <hotel url="www.schwarzer-baer-jena.de"> <ClassMap> <name>Schwarzer Bär</name> <ElementType Name="hotel"/> <adresse> <ToClassTable> <ort>Jena</ort> <Table Name="Hotelpreise"/> <strasse>Fürstengraben</strasse> </ToClassTable> ... <PropertyMap> </adresse> <Attribute Name="url"/> <preise> <ToColumn> <einzelzimmer>89</einzelzimmer> ... <Column Name="Hotel_URL"/> </preise> </ToColumn> </hotel> </PropertyMap> <PropertyMap> <ElementType Name="name"/> <ToColumn> <Column Name="Name"/> </ToColumn> </PropertyMap> ... </Classmap> Hotelpreise Hotel_URL Name Einzelzimmer Datenbank www.schwarzer-baer-jena.de Schwarzer Bär 89 XML vor SQL:2003 – Speichermethoden für XML-DokumenteAbbildung auf Datenbankstrukturen Benutzerdefiniertes Mapping (schreddern)

  41. XML vor SQL:2003 – Speichermethoden für XML-DokumenteAbbildung auf Datenbankstrukturen Benutzerdefiniertes Mapping Beispiel nach Ronald Bourret <ClassMap> <ElementType Name="hotel"/> <ToClassTable> <Table Name="Hotelpreise"/> </ToClassTable> <PropertyMap> <Attribute Name="url"/> <ToColumn> <Column Name="Hotel_ULR"/> </ToColumn> </PropertyMap> ... </ClassMap> Verbindung zwischen Elementen und Relationen Verbindung zwischen Elementen/Attributen und Datenbankattributen

  42. XML vor SQL:2003 – Speichermethoden für XML-DokumenteAbbildung auf Datenbankstrukturen Benutzerdefiniertes Mapping • Anfragen: • Datenbankenanfragen • XML-Anfragen

  43. XML vor SQL:2003 – Speichermethoden für XML-DokumenteAbbildung auf Datenbankstrukturen Benutzerdefiniertes Mapping - Fazit

  44. XML vor SQL:2003Inhalt • Einführung und Motivation • Grundlagen und Verständnis • Speichermethoden • Speicherung als Ganzes • Speicherung der Dokumentenstruktur • Abbildung auf Datenbankstruktur • Zusammenfassung

  45. XML vor SQL:2003Zusammenfassung • Vielzahl von Verfahren und Techniken existieren nebeneinander • oft aus den Bereichen Datenbanken und Dokumentverarbeitung • generell: keine „beste Lösung“ für alle XML-Dokumente • geeignetste Lösung ist abhängig von konkreten Erfordernissen • vieles ist noch in der Entwicklung  SQL:2003

  46. <ende> Vielen Dank für die Aufmerksamkeit! <frage> Fragen? </frage> </ende>

  47. XML vor SQL:2003 – Speichermethoden für XML-DokumenteDocument Object Model (DOM) • Methoden der Klasse Node • Fast alle Dokumentbestandteile basieren auf dieser Klasse • Die Klasse Node enthält: • Methoden zur Identifikation des Knotentyps • Methoden zur Navigation durch die Dokumentstruktur • Methoden zur Manipulation der Dokumentstruktur

  48. 1 Ausgehend vom Knoten liefern folgende Methoden der Klasse Node die Knoten bzw. Knotenlisten 5 6 als Ergebnis: 1 - getParentNode() 4 2 - getFirstChild() 2 3 3 - getLastChild() 4 - getChildren() 5 - getPreviousSibling() 6 - getNextSibling() XML vor SQL:2003 – Speichermethoden für XML-DokumenteDocument Object Model (DOM) • Zugriff kann durch Navigation erfolgen

  49. insertBefore (newChild, refChild) refChild newChild refChild appendChild (newChild) newChild removeChild (oldChild) oldChild XML vor SQL:2003 – Speichermethoden für XML-DokumenteDocument Object Model (DOM) • Manipulation des Dokumentstruktur • Methoden zum • Löschen, • Ergänzen, • Verschieben • Verändern • von Dokumentanteilen

  50. XML vor SQL:2003 – Speichermethoden für XML-DokumenteDocument Object Model (DOM) • Methoden der Klasse Elemente • getTagName() - Tagnamen eines Elementes • getAttribute(name) - liefert das angegebene Attribut • setAttribute(name, value) - Verändern und Ergänzen von Attributen • removeAttribute(name) - löscht das spezifizierte Attribut • getElementsByTagName(tagname) - alle Elemente des Dokumentes, mit angegebenen Elementnamen haben • getElementsByTagName(*) - alle Elemente.