Top Banner
Semistrukturierte Semistrukturierte Daten 1 Daten 1 Präsentation: Anwendung von XML im Präsentation: Anwendung von XML im Datenbankbereich Datenbankbereich Gruppe 5: Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz (0309169) Mikolaj Koziarkiewicz (0309169) Florian Kruse (9626012) Florian Kruse (9626012) Markus Wegscheider (0325831) Markus Wegscheider (0325831) Thomas Zwanzinger (0125069) Thomas Zwanzinger (0125069) Felix Schernhammer (0225493) Felix Schernhammer (0225493) Sebastian Kerekes (0301942) Sebastian Kerekes (0301942)
15

Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

Apr 06, 2015

Download

Documents

Adala Kellen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

Semistrukturierte Daten 1Semistrukturierte Daten 1

Präsentation: Anwendung von XML im Präsentation: Anwendung von XML im DatenbankbereichDatenbankbereich

Gruppe 5:Gruppe 5: Hubert Kosior (9626561)Hubert Kosior (9626561) Mikolaj Koziarkiewicz (0309169)Mikolaj Koziarkiewicz (0309169) Florian Kruse (9626012) Florian Kruse (9626012) Markus Wegscheider (0325831)Markus Wegscheider (0325831) Thomas Zwanzinger (0125069)Thomas Zwanzinger (0125069) Felix Schernhammer (0225493)Felix Schernhammer (0225493) Sebastian Kerekes (0301942)Sebastian Kerekes (0301942)

Page 2: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

2006-01-242006-01-24 22

Wozu XML (in) Datenbanken?Wozu XML (in) Datenbanken?

Wann nutzen?Wann nutzen?

keine/sehr dynamische Strukturkeine/sehr dynamische Struktur

Daten aus verschiedenen QuellenDaten aus verschiedenen Quellen

komplexe Anfragenkomplexe Anfragen

„„Legacy Systems“Legacy Systems“

Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich

MotivationMotivation

DokumentenabspeicherungDokumentenabspeicherung

XML-Native DBXML-Native DB

Page 3: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

2006-01-242006-01-24 33

Wozu XML (in) Datenbanken?Wozu XML (in) Datenbanken?

Nachteile:Nachteile:reduzierte Effizienzreduzierte Effizienz

RDBMS „alter“ und daher sichererRDBMS „alter“ und daher sicherer

Kompromisslösung: „XML-enabled“ RDBMSKompromisslösung: „XML-enabled“ RDBMSNicht immer besser!Nicht immer besser!

Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich

MotivationMotivation

DokumentenabspeicherungDokumentenabspeicherung

XML-Native DBXML-Native DB

Page 4: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

2006-01-242006-01-24 44

XML – MappingXML – MappingUmwandlung XML – in RelationenUmwandlung XML – in Relationen

Strukturelle Analyse (mittels DTD)Strukturelle Analyse (mittels DTD)Umwandlung in Relationen (Primärschlüssel, Fremdschlüssel, Umwandlung in Relationen (Primärschlüssel, Fremdschlüssel, Beziehungen,...)Beziehungen,...)

CLOB (Character Large Object)CLOB (Character Large Object)Kompletter XML – Baum gespeichertKompletter XML – Baum gespeichertVerlust der DBMS Funktionalitäten (Anfragebearbeitung, Verlust der DBMS Funktionalitäten (Anfragebearbeitung, Transaktionen,....)Transaktionen,....)

ProblemeProblemeXML ist hierarchischXML ist hierarchischFeste Reihenfolge von ElementenFeste Reihenfolge von ElementenGemischte Inhalte möglichGemischte Inhalte möglich

Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich

MotivationMotivation

DokumentenabspeicherungDokumentenabspeicherung

XML-Native DBXML-Native DB

Page 5: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

2006-01-242006-01-24 55

Structure Mapping IStructure Mapping I

XPath TabelleXPath Tabelle

pathidpathid pathExppathExpWert (aus DTD Wert (aus DTD

ersichtlich)ersichtlich)

11 /Buchbestand/Buchbestand   

22/Buchbestand//Buchbestand/

BuchBuch BuchBuch

   ........   

Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich

MotivationMotivation

DokumentenabspeicherungDokumentenabspeicherung

XML-Native DBXML-Native DB

Für jeden Endknoten spezielle Für jeden Endknoten spezielle Tabellen (Mapping von Tabellen (Mapping von Elementen/Attributen) Elementen/Attributen) Buch Buch

Struktur wird XPath kompatibel in Struktur wird XPath kompatibel in Tabelle erfasst Tabelle erfasst XPath Tabelle XPath Tabelle

BuchBuch

pathidpathid TitelTitel AutorAutor SeitenSeiten PreisPreis

22The Adventures of Huckleberry The Adventures of Huckleberry

FinnFinn Mark TwainMark Twain 336336 12.7512.75

22 In der StrafkolonieIn der StrafkolonieFranz Franz

KafkaKafka 125125 9.909.90

   ........         

Page 6: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

2006-01-242006-01-24 66

Structure Mapping IIStructure Mapping II

DTD für XML Strukturen wird verwendetDTD für XML Strukturen wird verwendet

DTD muss vorhanden seinDTD muss vorhanden sein

Wird eventuell adaptiertWird eventuell adaptiert

Vorteilhaft für viele gleiche DatenVorteilhaft für viele gleiche Daten

Unflexibel für stark unterschiedliche XML DatenUnflexibel für stark unterschiedliche XML Daten sehr viele Tabellen sehr viele Tabellen

Erhalt der Datentypen Erhalt der Datentypen ( int, String,...)( int, String,...)

Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich

MotivationMotivation

DokumentenabspeicherungDokumentenabspeicherung

XML-Native DBXML-Native DB

Page 7: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

2006-01-242006-01-24 77

Model Mapping IModel Mapping I

XML wird als Baum XML wird als Baum interpretiert, daher interpretiert, daher meist nur eine große meist nur eine große TabelleTabelle

Struktur und InhaltStruktur und Inhalt

Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich

MotivationMotivation

DokumentenabspeicherungDokumentenabspeicherung

XML-Native DBXML-Native DB

KnotenKnoten VorgängerVorgänger ReiheReihe NameName WertWert

11      BuchbestanBuchbestan

dd   

22 11 11 BuchBuch   

33 22 11 TitelTitel

The The Adventures...Adventures.....

44 22 22 AutorAutor Mark TwainMark Twain

55 22 33 SeitenSeiten 336336

66 22 44 PreisPreis 12.7512.75

77 11 22 BuchBuch   

88 88 11 TitelTitel In der StrafkolonieIn der Strafkolonie

99 88 22 AutorAutor Franz KafkaFranz Kafka

........

Page 8: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

2006-01-242006-01-24 88

Model Mapping IIModel Mapping II

Freie Struktur Freie Struktur (keine DTD notwendig)(keine DTD notwendig)

Keine Datentyp ErhaltungKeine Datentyp Erhaltung

Kompakte Darstellung in DBMS Kompakte Darstellung in DBMS (u.U nur eine Tabelle)(u.U nur eine Tabelle)

Einfache Umwandlung XML Einfache Umwandlung XML RDBMS RDBMS

Sehr flexibelSehr flexibel

Schlechte Performance Schlechte Performance (Rekursionen!!)(Rekursionen!!)

Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich

MotivationMotivation

DokumentenabspeicherungDokumentenabspeicherung

XML-Native DBXML-Native DB

Page 9: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

2006-01-242006-01-24 99

CLOB (Character Large Object)CLOB (Character Large Object)

Speichern des gesamten Objektbaums als CLOBSpeichern des gesamten Objektbaums als CLOB

Bei sehr unterschiedlichen XML Dokumenten Bei sehr unterschiedlichen XML Dokumenten (Dokumenten-orientiert)(Dokumenten-orientiert)

Suchfunktionen durch DBMS vorhanden Suchfunktionen durch DBMS vorhanden (primitive Textsuche, XPath Anweisungen)(primitive Textsuche, XPath Anweisungen)

Hersteller AbhängigHersteller Abhängig

Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich

MotivationMotivation

DokumentenabspeicherungDokumentenabspeicherung

XML-Native DBXML-Native DB

Page 10: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

2006-01-242006-01-24 1010

XML native Datenbank: DefinitionXML native Datenbank: Definition

Defines a (logical) model for an XML document – as opposed to the Defines a (logical) model for an XML document – as opposed to the data in that document – and stores and retrieves documents data in that document – and stores and retrieves documents according to that model. At a minimum, the model must include according to that model. At a minimum, the model must include elements, attributes, PCDATA, and document order.elements, attributes, PCDATA, and document order.

Has an XML document as its fundamental unit of (logical) storage, Has an XML document as its fundamental unit of (logical) storage, just as a relational database has a row in a table as its fundamental just as a relational database has a row in a table as its fundamental unit of (logical) storage.unit of (logical) storage.

Is not required to have any particular underlying physical storage Is not required to have any particular underlying physical storage model. For example, it can be built on a relational, hierarchical, or model. For example, it can be built on a relational, hierarchical, or object-oriented database, or use a proprietary storage format such object-oriented database, or use a proprietary storage format such as indexed, compressed files.as indexed, compressed files.

Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich

MotivationMotivation

DokumentenabspeicherungDokumentenabspeicherung

XML-Native DBXML-Native DB

Page 11: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

2006-01-242006-01-24 1111

Typen XML nativer DatenbankenTypen XML nativer Datenbanken

Textbasierte DatenbankenTextbasierte Datenbanken XML wird als Text gespeichertXML wird als Text gespeichert Benutzen von IndizesBenutzen von Indizes

Modellbasierte DatenbankenModellbasierte Datenbanken Modell (z.B. DOM) des XML Dokuments wird gespeichertModell (z.B. DOM) des XML Dokuments wird gespeichert Schwierigkeit das Dokument wiederherzustellen (SQL Schwierigkeit das Dokument wiederherzustellen (SQL

expressivity)expressivity)

Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich

MotivationMotivation

DokumentenabspeicherungDokumentenabspeicherung

XML-Native DBXML-Native DB

Page 12: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

2006-01-242006-01-24 1212

Features von XML nativen Features von XML nativen DatenbankenDatenbanken

Document CollectionsDocument Collections

Query Sprachen: XPath (evtl. mit "Join-Erweiterung"), Query Sprachen: XPath (evtl. mit "Join-Erweiterung"), XQuery, etc.XQuery, etc.

TransactionsTransactions

Problem mit Locking (was soll blockiert werden?)Problem mit Locking (was soll blockiert werden?)

mögliche Lösung von Stijn Dekeyser, et al: annotiere mögliche Lösung von Stijn Dekeyser, et al: annotiere gesperrte Knoten mit dem Kind, das gesperrt ist.gesperrte Knoten mit dem Kind, das gesperrt ist.

Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich

MotivationMotivation

DokumentenabspeicherungDokumentenabspeicherung

XML-Native DBXML-Native DB

Page 13: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

2006-01-242006-01-24 1313

SonstigesSonstiges

Round Tripping (= ursprüngliches XML Dokument aus Round Tripping (= ursprüngliches XML Dokument aus der Datenbank wiederherstellen)der Datenbank wiederherstellen)

Normalisierung (XLink bzw. Join nicht immer vorhanden)Normalisierung (XLink bzw. Join nicht immer vorhanden)

Referentielle Integrität – nur auf Dokumentenebene Referentielle Integrität – nur auf Dokumentenebene (DTD, XSchema, ...)(DTD, XSchema, ...)

Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich

MotivationMotivation

DokumentenabspeicherungDokumentenabspeicherung

XML-Native DBXML-Native DB

Page 14: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

2006-01-242006-01-24 1414

LiteraturLiteratur

http://dx.doi.org/10.1145/383034.383038http://dx.doi.org/10.1145/383034.383038

http://csdl.computer.org/comp/proceedings/icde/2002/1531/00/15310335.pdfhttp://csdl.computer.org/comp/proceedings/icde/2002/1531/00/15310335.pdf

Enderle Jost, XML in Datenbanken, Informatik Spektrum 24.12.2001, S.357-368Enderle Jost, XML in Datenbanken, Informatik Spektrum 24.12.2001, S.357-368

Page 15: Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior (9626561) Hubert Kosior (9626561) Mikolaj Koziarkiewicz.

Danke SchönDanke Schön