33
XML in Datenbanksystemen

XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

Embed Size (px)

Citation preview

Page 1: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

XML in Datenbanksystemen

Page 2: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 3: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 4: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 5: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 6: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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.

Page 7: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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>

Page 8: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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)

Page 9: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 10: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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.)

Page 11: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 12: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 13: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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)

Page 14: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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“

Page 15: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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?

Page 16: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 17: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 18: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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)

Page 19: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 20: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 21: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 22: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 23: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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>

Page 24: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 25: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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.

Page 26: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 27: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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“]

Page 28: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 29: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 30: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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)

Page 31: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 32: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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

Page 33: XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen

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