Title: XML in Datenbanksystemen
1XML in Datenbanksystemen
2Warum 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
3Vorteile 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
4Textorientierte 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
5Datenorientierte 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
6Daten 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-Mes
sreihen - binäre Daten Röntgenbilder
- Dokumente Diagnose, Anamnese etc.
7Klassifikation 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)
ltordergt ltcustomergtMeyerlt/customergt
ltpositiongt ltisbngt1-234-56789-0lt/isbngt
ltnumbergt2lt/numbergt ltprice currencyEurogt30.0
0lt/pricegt lt/positiongt lt/ordergt
ltcontentgt XML builds on the principles of two
existing languages, ltemphgtHTMLlt/emphgt and
ltemphgtSGMLlt/emphgt to create a simple mechanism
.. The generalized markup concept .. lt/contentgt
ltbookgt ltauthorgtNeil Bradleylt/authorgt
lttitlegtXML companionlt/titlegt ltisbngt1-234-56789-0
lt/isbngt ltcontentgt XML builds on the
principles of two existing languages,
ltemphgtHTMLlt/emphgt and .. lt/contentgt lt/bookgt
8Einsatz 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)
9Publishing und Content Management
lt?xml version1.0gt ltProdukt name
ltBeschreibunggt Dieses Produkt stellt eine
absolute Weltneuheit dar und ist in seiner
funktionalen Gestaltung erstaunlich
lt?xml version1.0gt ltxslstylesheet
version1.0 xmlnsxslhttp//www ltxsltemplat
e match/gt ltxslapply-templates/gt lt/xsltemplate
gt ltxsltemplate matchP ltxslapply-templates
lt?xml version1.0gt ltProdukt name
ltBeschreibunggt Dieses Produkt stellt eine
absolute Weltneuheit dar und ist in seiner
funktionalen Gestaltung erstaunlich
lt?xml version1.0gt ltxslstylesheet
version1.0 xmlnsxslhttp//www ltxsltemplat
e match/gt ltxslapply-templates/gt lt/xsltemplate
gt ltxsltemplate matchP ltxslapply-templates
lt?xml version1.0gt ltProdukt name
ltBeschreibunggt Dieses Produkt stellt eine
absolute Weltneuheit dar und ist in seiner
funktionalen Gestaltung erstaunlich
lt?xml version1.0gt ltxslstylesheet
version1.0 xmlnsxslhttp//www ltxsltemplat
e match/gt ltxslapply-templates/gt lt/xsltemplate
gt ltxsltemplate matchP ltxslapply-templates
XSLT-Prozessor
Internet
WAP
Braille
10Elektronischer 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.)
11Warum XML in Datenbanken
- XML 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
12Warum 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
13Grundmodelle 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)
14XML-Architektur
Dokument-
verarbeitung
lt..gt
lt/..gt
Konzeptueller
lt..gt
XML
lt/..gt
Entwurf von XML-
lt/..gt
lt..gt
Dokumenten
Datenbanken
physische
logische
konzeptuelle
Ebene
Ebene
Ebene
Klettke / Meyer XML-Datenbanken
15Anforderungen an XML-DatenbankenDatenbankspezifis
che 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?
16Anforderungen an XML-DatenbankenDatenbankspezifis
che 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
17Anforderungen 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
18Anforderungen 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)
19Anforderungen 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
20Anforderungen 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
21Anforderungen 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
22Anfragetypen
- 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
23Anfragetypen Werteorientiert
- Wert eines Elements Inhalt, reduziert auf alle
Nicht-Element-Daten aller Ebenen - _at_attribute lt 5
- ltelement attribute4/gt
- element lt 7.1
- ltelementgt6.1lt/elementgt
- element Hugo
- ltelementgtHugolt/elementgt
- ltelementgtltsubelementgt Hugolt/subelementgtlt/eleme
ntgt - ltelementgtltBgtHlt/Bgtugolt/elementgt
24Anfragetypen 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
25Anfragetypen Strukturorientiert
- sinnvoll bei nicht beschränktem Schema
- siehe XPath Query Language
- //Buch bzw. ///Buchalle Buch-Elemente bzw.
Dokumente, in denen ein Element Buch vorkommt - //Buch/_at_ISBN bzw. ///Buch/_at_ISBNder Wert des
Attributs ISBN von Buch bzw. Dokumente, in denen
ein Element Buch ein Attribut ISBN hat - /Buch/_at_
- /Buch/Titel
- /Buch/Autor1
- /Buch/1
- Im Dokument kommt ein Buch-Element vor, das mehr
als zwei Autor-Kindelemente hat.
26Weitere 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
27Weitere 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 - //BuchPreis lt 50 AND Titel CONTAINS XML
28Anfrageergebnisse
- 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
29Andere 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
30Schemata 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)
31Schemata 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
32Anfragesprachen - 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
33Anfragesprachen 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