View
105
Download
0
Category
Preview:
Citation preview
XML in Datenbanksystemen
2<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
2
Warum wird XML eingesetzt?
Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen ermöglicht neue Operationen auf Daten verkürzt Anwendungsentwicklungszeit erlaubt Konvertierung von EDI-Daten in besser
handhabbares Format verbindet viele Anwendungen im Unternehmen verbindet Anwendungen mit denen von
Zulieferern und Geschäftspartnern Teilnahme an E-Commerce / B2B, der auf XML
basiert
3<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
3
Vorteile von XML XML ist plattformunabhängig (vgl. Java) XML ist sprachunabhängig XML verursacht keine Lizenzkosten, viele kostenlose
XML-Tools XML basiert auf Unicode: jedes Zeichen jeder Schrift
darstellbar (voraussetzung für Internationalisierung) XML ist per Definition erweiterbar. XML durchgängig über alle Anwendungebenen hinweg
verwendbar (Datenhaltung, Anwendungslogik, Präsentation) – vgl. „klassische“ Realisierung solcher Anwendungen mit relationalen Datenbanken
4<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
4
Textorientierte Dokumente „Lesbare Dokumente“ (document centric)
– textorientiert (document = Text)– sind selten genau gleich strukturiert– Reihenfolge ist wichtig– sinntragende Daten auf allen Ebenen, viel Mixed Content– Volltextsuche ist unabdingbar, aber nicht ausreichend– manuell erstellt oder aus anderem Format konvertiert– Beispiele
Zeitschriftenbeiträge, Bücher Gebrauchsanweisungen, Handbücher e-Mail Präsentationen Verträge
– 70% der relevanten Geschäftsinformationen in Textdokumenten
5<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
5
Datenorientierte XML-Dokumente Datenzentrierte Dokumente
– wie Daten im herkömmlichen Sinn (z.B. in relationalen Datenbanken)
– XML-Sicht auf stark strukturierte Daten– Reihenfolge ist oft nicht relevant– sind einheitlich und meist einfach strukturiert– haben Datentypen– sinntragende Daten in Blattelementen oder Attributen– Mixed Content ist die Ausnahme (oder Dekoration)– Beispiele:
Telefonbücher wissenschaftliche Daten Fahrpläne, Flugpläne Bestellungen
6<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
6
Daten und Dokumente Semistrukturierte Daten
– Strukturiert: Felder– Unstrukturiert: binäre Daten wie Text, Video- und Audio-Streams,
Bilder (in XML: External Entities, CDATA Sections)– unregelmäßiges Auftreten von Hyperlinks – ggf. fehlendes Schema
Mangel an Struktur– Mischform aus datenzentriert und dokumentenzentriert– Struktur implizit oder verborgen– Integration von Daten aus heterogenen Quellen (hierfür strukturiertes
Modell oft zu restriktiv)– Bestimmte Anfragetypen ignorieren Schema bewußt (z.B.
Zeichenkettensuche über gesamte Datenbank hinweg) Beispiel Krankenakten:
– Krankenakten Daten: Geburtsdatum, Adresse, Körpertemperatur-Messreihen … binäre Daten: Röntgenbilder Dokumente: Diagnose, Anamnese etc.
7<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
7
Klassifikation: Beispiel
Datenorientierte Dokumente (strukturiert, regulär
Beispiele: Produktkataloge, Bestellungen, Rechnungen)
Textorientierte Dokumente (unstrukturiert, irregulär
Beispiele: wissenschaftliche Artikel,
Bücher, E-Mails, Webseiten)
Semistrukturierte Dokumente (datenorientierte und textorientierte
Anteile
Beispiele: Veröffentlichungen, Amazon)
<order> <customer>Meyer</customer> <position> <isbn>1-234-56789-0</isbn> <number>2</number> <price currency=„Euro“>30.00</price> </position></order>
<content>XML builds on the principles of two existing languages, <emph>HTML</emph> and <emph>SGML</emph> to create a simple mechanism .. The generalized markup concept ..</content>
<book> <author>Neil Bradley</author> <title>XML companion</title> <isbn>1-234-56789-0</isbn> <content> XML builds on the principles of two existing languages, <emph>HTML</emph> and .. </content></book>
8<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
8
Einsatz von XML Publishing und Content Management Elektronischer Handel (E-Commerce) Workflow und integrierte Geschäftsprozesse
– Prozessbeschreibungen (BPEL)– Ablaufdaten / Logs
XML und Metadaten– RDF (Resource Decription Framework)
XML und Multimedia– XHTML, SMIL, MPEG-7
Gesundheitswesen– HL7
Komplex strukturierte Daten– z.B. Chemical Markup Language (CML)
9<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
9
Publishing und Content Management
XSLT-Prozessor
<?xml version=“1.0“><xsl:stylesheet version=“1.0“ xmlns:xsl=“http://www<xsl:template match=„/“><xsl:apply-templates/></xsl:template><xsl:template match=“P<xsl:apply-templates…
<?xml version=“1.0“><Produkt name=“… <Beschreibung> Dieses Produkt stellt eine absolute Weltneuheit dar und ist in seiner funktionalen Gestaltung erstaunlich
<?xml version=“1.0“><xsl:stylesheet version=“1.0“ xmlns:xsl=“http://www<xsl:template match=„/“><xsl:apply-templates/></xsl:template><xsl:template match=“P<xsl:apply-templates…
<?xml version=“1.0“><xsl:stylesheet version=“1.0“ xmlns:xsl=“http://www<xsl:template match=„/“><xsl:apply-templates/></xsl:template><xsl:template match=“P<xsl:apply-templates…
<?xml version=“1.0“><Produkt name=“… <Beschreibung> Dieses Produkt stellt eine absolute Weltneuheit dar und ist in seiner funktionalen Gestaltung erstaunlich
<?xml version=“1.0“><Produkt name=“… <Beschreibung> Dieses Produkt stellt eine absolute Weltneuheit dar und ist in seiner funktionalen Gestaltung erstaunlich
BrailleWAP
Internet
10<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
10
Elektronischer Handel (E-Commerce) B2B (business to business)
– zwischen zwei Unternehmen– Kommunikation entlang einer Zuliefererkette (supply chain)– Einsatzbereich für EDI (electronic data interchange)– XML/EDI-Aktivitäten: Vokabulare, Repositories, Frameworks
(z.B. ebXML) B2C (business to consumer)
– zwischen Unternehmen und Vebraucher– Verkauf über Internet / elektron. Bestellannahme
B2G (business to government)– zwischen Unternehmen und öffentlicher Verwaltung
G2C (government to citizen)– zwischen öffentlicher Verwaltung und Bürgern– kein Handel, sondern administrative Vorgänge
(Steuererklärung, Anträge etc.)
11<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
11
Warum XML in DatenbankenXML als Austauschformat
– XML-Dokumente enthalten geschäftsrelevante Daten (z.B. in Zuliefererketten)
– Aufbewahrung der Dokumente so wie bei Eingang (d.h. Originaldokument unverändert lassen!)
Rechtsrahmen: Grundsätze zum Zugriff und zur Prüfbarkeit digitaler Unterlagen (GDPdU) seit 1.1.2002
– Umwandlung in ein anderes Format Umwandlung in anderes Format grundsätzlich möglich, aber
fehlerträchtig nicht notwendig, wenn Funktionalität im Umgang mit XML-
Dokumenten der von Datenbanken entspricht– Speicherung der XML-Daten auf der Strecke zwischen den
Austauschpartnern (persistent message queuing)Nur die Speicherung in Datenbanken garantiert
– mächtige und effiziente Suchfunktionen– transaktionsorientierte Speicherung– Mehrbenutzerbetrieb
12<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
12
Warum XML in Datenbanken (2) XML-basierte Anwendungen
– XML als internes Datenhaltungsformat: Konfigurationsdateien, Anwendungsdaten, Stylesheets Bedarf für adäquate Speicherung
Dokumentenverwaltung– für XML-Dokumente spezialisierte Systeme– benötigen XML-spezifische Datenhaltung– Basisfunktionalität (z.B. Textsuche) sollte im DBS enthalten
sein
Beispiele für Anwendungen– Portale für Unternehmensinformationen– Produktkataloge– Patienteninformationsverwaltung– B2B Dokumentenaustausch
13<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
13
Grundmodelle von XML-Datenbanken
monolithischer Ansatz– gesamte DB einziges großes XML-Dokument– Verwaltung einzelner XML-Doumente problematisch (Prolog,
DTD, Metadaten, Referenzen)
fragmentorientierter Ansatz– Daten in der DB (aus XML-Sicht) nicht miteinander verknüpft– bei Koexistenz von relationaler und XML-Sicht– aufwendige Rekonstruktion, Gefahr des Informationsverlustes
(Prolog,DTD,Kommentare,PI)
dokumentenorientierter Ansatz– DB = Menge von XML-Dokumenten– (typbezogene) Gruppierung von Dokumenten (mit gleicher
schematischer Beschreibung) – analog zu Tabelle– benutzerspezifische Sammlung von Dokumenten (collections)
14<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
14
XML-Architektur
<..>
physische
EbeneEbene
Dokument-verarbeitung
DokumentenEntwurf von XML-
Konzeptueller
</..></..>
logischeEbene
<..>
konzeptuelle
</..><..>XML
Datenbanken
Klettke / Meyer “XML-Datenbanken“
15<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
15
Anforderungen an XML-DatenbankenDatenbankspezifische Anforderungen
Effizienz (Performance)– Indizierung (B* Baum nicht ausreichend)– Anfrageoptimierung– Caching
Mehrbenutzerbetrieb Skalierbarkeit
– Wachstum von Daten und Benutzern– XML-spezifisch: Dokumentgröße, tiefere Struktur
Transaktionskonzept (ACID)– Sperrgranulat?
16<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
16
Anforderungen an XML-DatenbankenDatenbankspezifische Anforderungen (2)
Speicherungsstrukturunabhängigkeit– Optimierer sollte über Speicherungsstruktur entscheiden– vgl. SQL: Anfrage bleibt, auch wenn Indexe hinzukommen
Sicherheit– abhängig von Grundmodell des XML-Datenbanksystems – Mögliche Definition von Zugriffsregeln
auf Dokumenttypebene auf Basis von Knotentypen prädikatbasiert
Verfügbarkeit Erweiterbarkeit
– Definition von eigenen Datentypen und Methoden (vgl. objektrelationale Datenbanken)
– auch: Definition eigener Zugriffsstrukturen– Erweiterbarkeit durch Unterstützung von XML Schema
gegeben– prozedurale Erweiterbarkeit erweitert Anfragesprache
17<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
17
Anforderungen an XML-DatenbankenXML-spezifische Anforderungen (1)
Standardkonformität– XML 1.0– XML Schema, XML Namespaces– XQuery 1.0
Dokumentenbehandlung– Verwaltung vollständiger XML-Dokumente
(einschließlich Prolog, DTD)– gespeicherte Dokumente vollständig und
unverändert zurückgeben Originaltreue der Dokumente (Round-Trip-Problem)
– Was heißt „unverändert“?– auch Behandlung von Metadaten
18<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
18
Anforderungen an XML-DatenbankenXML-spezifische Anforderungen (2)
Schema-Unabhängigkeit– schematische Beschreibung nicht zwingend
erforderlich– Speicherung beliebiger wohlgeformter XML-
Dokumente auch bei unbekanntem Schema
Strukturunabhängigkeit– rekursive Typdefinitionen mit beliebig tiefen (aber
endlichen) Elementverschachtelungen in Dokumenten verarbeitbar
– Speicherung von XML-Dokumenten jeden Typs (daten- oder textorientiert)
19<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
19
Anforderungen an XML-DatenbankenXML-spezifische Anforderungen (3)
Schemavorgabe und Validierung– bei vorhandenem Schema Validierung der
Dokumente beim Speichern
Web-Anbindung– Referenzierung von Dokumenten über HTTP analog
zu Dateien– Unterstützung einer URL-Adressierung (HTTP-
Methode GET mit Parametern) Einbettung von Datenbankzugriffen
Kodierung und Internationalisierung– UTF-8 und UTF-16
XML-spezifische Schnittstelle
20<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
20
Anforderungen an XML-DatenbankenXML-spezifische Anforderungen (4)
Unveränderte Rückgabe (Originaltreue)Was heißt „unverändert“? Vergleich in kanonischer Form (bei gleicher Kodierung)– Kommentare und PI bleiben erhalten– Elemente bleiben Elemente, Attribute bleiben
Attribute– Namen und Namensräume bleiben erhalten– Reihenfolge der Geschwisterelement bleibt erhalten– DTD und Prolog bleiben erhalten
Entity-Referenzen werden aufgelöst
21<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
21
Anforderungen an XML-DatenbankenXML-spezifische Anforderungen (5)
Offenes Inhaltsmodell– Anwendung: einseitige Erweiterung eines gemeinsamen
Datenformat durch Teilnehmer an einem Datenaustausch– Schemadefinition nur teilweise validieren– Wildcards in XML Schema: any, anyattribute
Schema-Evolution– Schemaänderungen ohne Einfluß auf Daten– Wahrung der Konsistenz (Verschärfung von Constraints
problematisch)
Speicherung von Nicht-XML-Daten– Referenzen auf unparsed entities– Beispiel: Bilder im GIF-Format
Anbindung anderer Datenquellen
22<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
22
Anfragetypen objektrelationale Systeme: werteorientierte und
textorientierte Anfragen XML: komplexere Strukturen als
Relationenmodell →neue Anfragetypen– werteorientierte Anfragen– textorientierte Anfragen– strukturorientierte Anfragen– verweisorientierte Anfragen– schemaorientierte Anfragen– namensraumorientierte Anfragen– metadatenorientierte Anfragen– kombinierte Anfragen
23<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
23
Anfragetypen: Werteorientiert Wert eines Elements = Inhalt, reduziert auf alle
Nicht-Element-Daten aller Ebenen @attribute < 5
– <element attribute=“4“/> element < 7.1
– <element>6.1</element> element = “Hugo“
– <element>Hugo</element>– <element><subelement>
Hugo</subelement></element>
– <element><B>H</B>ugo</element>
24<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
24
Anfragetypen: Textorientiert textorientierte Prädikate, zumeist auf Elementen orientiert an Textstruktur (Wort, Satz, Abschnitt) keine exakte Übereinstimmung gefordert (Akzente,
Groß/Kleinschreibung) Ziel: möglichst viele relevante Dokumente finden mit
geringem Anteil nicht-relevanter Dokumente (Recall vs. Precision)
Beispiele:– documents containing “XML“– documents containing “XML“ OR “HTML“ but not “SGML“– documents containing “XML“ within two words of “database“– documents with word similar to “XML“ (ranking)– Wort, das mit dem Teilwort “bank“ aufhört, ist im Wert eines
Elements enthalten
25<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
25
Anfragetypen: Strukturorientiert sinnvoll bei nicht beschränktem Schema siehe XPath Query Language //Buch bzw. /[//Buch]
alle Buch-Elemente bzw. Dokumente, in denen ein Element “Buch“ vorkommt
//Buch/@ISBN bzw. /[//Buch/@ISBN]der Wert des Attributs ISBN von Buch bzw. Dokumente, in denen ein Element “Buch“ ein Attribut “ISBN“ hat
/Buch/@* /Buch/Titel /Buch/Autor[1] /Buch/*[1] Im Dokument kommt ein Buch-Element vor, das mehr
als zwei Autor-Kindelemente hat.
26<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
26
Weitere Anfragetypen (1) Verweisorientierte Anfragen
– verschiedene Verweismechanismen: IDREF, XLink, externes Entity
– Verweise in Anfragen referenzieren– Beispiele:
Welche Dokumente zeigen auf eine bestimmte Stelle? Welche anderen Dokumente werden aus einem Dokument
referenziert? Schemaorientierte Anfragen
– Vergleich von Dokumenten gegen ihre schematische Beschreibung
– Beispiele: In welchen Dokumenten sind alle optionalen Attribute mit Werten
belegt? In welchen Dokumenten enthält eine Zeichenkette genau die
Maximalzahl erlaubter Zeichen?– Analogie zum RDBMS: Anfragen auf Data Dictionary– XML Schema ist selbst auch XML
27<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
27
Weitere Anfragetypen Namensraumorientierte Anfragen
– Suche nach Dokumenten, die Elemente oder Attribute eines bestimmten Namensraums enthalten
– Beispiele: Welche Dokumente enthalten Stylesheet-Anteile, also Element
des XSL-Namensraums http://www.w3.org/1999/XSL/Transform Welche Dokumente enthalten Elemente aus mehr als einem
Namensraum?
Metadatenorientiert– Dokumente, die seit dem 1.1.2002 geändert wurden– Dokumente, die von Matthias Conrad gespeichert wurden
Kombinationen daraus– Beispiel: werteorientiert + strukturorientiert + textorientiert:
//Buch[Preis < 50 AND Titel CONTAINS “XML“]
28<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
28
Anfrageergebnisse Sinnvolle Ergebnisse:
– ein einzelnes Dokument, so wie es gespeichert wurde– eine Menge von Dokumenten– ein XML-Fragment (z.B. ein einzelnes Element mit seinen
Kindern)– eine Menge von XML-Fragmenten– ein Wert (z.B. ein Attributwert, Funktionsergebnis, dynamisch
berechnete Summe)– eine Menge von Werten– ein Attribut (Name-Wert-Paar)– eine Menge von Attributen
Wie kann ein wohlgeformtes XML-Dokument geliefert werden?
– DBMS „verpackt“ Ergebnis in einem wohlgeformten XML-Dokument (z.B. durch Definition einer Wurzel)
– Anfrage ist für Gestalt des Ergebnisses verantwortlich
29<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
29
Andere Operationen Einfügen und Löschen von XML-Dokumenten
vergleichbar mit Operationen anderer DBS mehr Möglichkeiten beim Ändern mit XML:
– Attributwert ändern– Löschen oder Hinzufügen von Attributen– textuellen Inhalt eines Elements ändern– Kindelemente hinzufügen oder entfernen– Umbenennung von Elementen oder Attributen
Operationen aus anderen Datenbanksystemen– Cursor-Konzept zur Verwaltung großer Ergebnismengen– das Laden großer Datenmengen– Definition und Änderung von Schemata
30<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
30
Schemata in XML-Datenbanken Schemata in Datenbanken
– Schema beschreibt Struktur der Instanzen– Unterscheide Typdefinitionen (statisch) und
Integritätsbedingungen (laufzeitdynamisch)– Schema auch „Behälter“ für Mengen von Instanzen
(z.B. Tabelle in RDB) → Definition physischer Eigenschaften (Speicherungsformen, Indexe)
Schemata für XML– XML: selbstbeschreibende Instanzen (Interpretation
ohne Schema möglich)– optionale Schemata eher mit Integritätsbedingungen
in DBMS vergleichbar (Validieren beim Parsen einer XML-Instanz)
31<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
31
Schemata in XML-Datenbanken (2) Aspekte eines Schemas im XML-Datenbanksystem
– Garantieaspekt (Instanz validiert gegen dieses Schema)– Informationsaspekt (Schema enthält Infos über zu
erwartende Instanzen)– Modularisierungsaspekt (wiederverwendbare
Definitionen)
Schema sollte für eine Menge von Instanzen definiert sein
Validierung gegen dokumentspezifisches Schema nicht sinnvoll
32<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
32
Anfragesprachen - Anforderungen deklarativ benutzerfreundliche Formulierung von
Anfragen XML-basierte Syntax zur Darstellung der
Anfragestruktur protokoll-unabhängig (nicht nur HTTP) integrierte Fehlerbehandlung auf allen Arten von wohlgeformten XML-
Dokumenten (text- oder datenorientiert), schematische Beschreibung optional
Anfragesprache muss geschlossen sein. Berücksichtigung von Namespaces
33<<<Nr.>
© Prof. T. Kudraß, HTWK Leipzig
33
Anfragesprachen für XML-Datenbanken
XML Query Working Group (seit 1998) XML-QL war an Hochschulen sehr populärer
Sprachvorschlag Industrie: 1999 XPath wird W3C-Empfehlung
als Adressierungsmechanismus innerhalb von XSLT und zur Verwendung in XPointer – keine XML-Anfragesprache für DBS
Erweiterungen von SQL: SQL/XML XQuery 1.0 W3C Recommendation 23.01.2007
Recommended