XML, QPATH, XQUERY: NEUE KONZEPTE FÜR DATENBANKEN 3. Übung XML-Verarbeitung
Agenda 2 XML zum Abbilden von DB-Inhalten Motivation Abbildungsvorschriften Übungen Aufgabe 3
Motivation 3 RDBMS sehr ausgereift (stabil, zuverlässig, schnell, ACID, ) Große Datenmengen bereits verfügbar Datenaustausch über DB-Produkt hinweg umständlich XML Verschiedene Formate Dumpfiles nicht vom Menschen lesbar Nutzerdefinierte Formate nur schwer erzeugbar Standardisiertes Austauschformat Menschenlesbar einfache Transformation in andere Formate
Methoden 4 verschiedene (standardisierte) Methoden siehe auch SQL/XML hier: Vollständige (schematische) Abbildung von Datenbanken Informationserhaltend: (Alle) Gewünschte Informationseinheiten der Datenbank müssen sich vollständig und konsistent im XML- Dokument wiederfinden. Grundprinzip Darstellung von Relationen, Tupeln und Attributen durch XML- Elemente oder -Attribute Abbildung von Schlüsseln und Fremdschlüsseln Abbilden von Typinformationen Ableitung von Elementhierarchien
Methoden Forts. 5 dreistufige Verschachtelung: Bezeichnung der Datenbank Relationennamen Attributnamen <Datenbankname> <Relationnenname> <Attributname> </Attributname> <Attributname> </Attributname> vierstufige Verschachtelung: Bezeichnung der Datenbank Relationennamen Tupel Attributnamen <Datenbankname> <Relationnenname> <Tupel> <Attributname> </Attributname> <Attributname>
Methoden Forts. 6 hier: Abbilden des DB-Schema auf XML-Schema Vermeidung der Probleme, die bei der Verwendung von XML-DTD auftreten Elementnamen können lokal deklariert werden Vermeidung von Namenskonflikten genauere Abbildung von Schlüssel und Fremdschlüssel Verwendung von XML-Schema-Typen
Methoden Forts. 7 Abbildung für die Übungsaufgabe vierstufige Verschachtelung Relationen- und Attributnamen auf Elementnamen SQL-Datentypen auf Datentypen von XML-Schema Tupel auf Elemente mit der Bezeichnung: Relationenname + _Tupel Ableiten von Elementhierarchien Auswertung von Schlüssel-Fremdschlüssel-Beziehungen Kardinalitäten beachten 1:1 Kardinalität = 1; 1:n Kardinalität = unbounded & Fremdschlüssel ist unique; m:n Kardinalität = unbounded meist sinnvoll per Hand festzulegen, da Verweise oft das bessere Mittel sind
Methoden Forts. 8 Ableiten von Elementhierarchien bisher: direkte Darstellung von Relationen in XML-Dokumenten keine hierarchischen Beziehungen zwischen Relationen durch Auswertung von Schlüsseln und Fremdschlüsseln Ableitung von hierarchischen Strukturen möglich Vorgehen: Root-Tabelle der Datenbank wählen Element erstellen, das der Relation entspricht (enthält Elemente, die den Attributen entsprechen) falls ein Attribut als Fremdschlüssel definiert ist zugehörige Relation (mit Schlüssel) hierarchisch einsortieren Abbildungsprozess nur eindeutig, falls Fremdschlüssel-Beziehungen der Datenbank einen Baum darstellen falls Datenbank durch Normalisierung zum Erreichen der ersten Normalform entstanden ist, macht dieses Verfahren den Normalisierungsprozess rückgängig
Beispiel 9
Übungen 10 ~drei bis vier XML-APIs SQL/XML XQuery XML-Indexierung Im-/Export von XML mit Datenbanken
3. Übung - Aufgabenstellung 11 Abbildung von Datenbankinhalten auf XML Erstellung eines XML-Schemas aus gegebenem Datenbankschema Erstellen einer Instanz zum erstellten XML-Schema
Literaturangaben 12 http://www.w3.org http://www.w3.org/tr/2004/rec-xml-20040204/ http://www.w3.org/xml/schema#dev http://www.w3.org/tr/xmlschema-0/ http://www.edition-w3c.de/tr/2001/rec-xmlschema Klettke/Meyer: XML & Datenbanken, dpunkt, 2003