XML in Datenbanksystemen - PowerPoint PPT Presentation

About This Presentation
Title:

XML in Datenbanksystemen

Description:

Title: Verwalten von XML-Dokumenten Author: Thomas Kudrass Last modified by: kudrass Document presentation format: Overheadfolien Other titles: Times New Roman Arial ... – PowerPoint PPT presentation

Number of Views:78
Avg rating:3.0/5.0
Slides: 34
Provided by: ThomasK67
Category:

less

Transcript and Presenter's Notes

Title: XML in Datenbanksystemen


1
XML in Datenbanksystemen
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
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
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
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
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-Mes
    sreihen
  • binäre Daten Röntgenbilder
  • Dokumente Diagnose, Anamnese etc.

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)
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
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
Publishing 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
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
Warum 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

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
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
XML-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
15
Anforderungen 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?

16
Anforderungen 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

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
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
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
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
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
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
Anfragetypen 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

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

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
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
  • //BuchPreis lt 50 AND Titel CONTAINS XML

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
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
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
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
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
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
Write a Comment
User Comments (0)
About PowerShow.com