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 XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost XML zum Abbilden von DB-Inhalten 3 Motivation RDBMS sehr ausgereift (stabil, zuverlässig, schnell, ACID, …) Große Datenmengen bereits verfügbar Datenaustausch über DB-Produkt hinweg umständlich Verschiedene Formate Dumpfiles nicht vom Menschen lesbar Nutzerdefinierte Formate nur schwer erzeugbar XML Standardisiertes Austauschformat Menschenlesbar „einfache“ Transformation in andere Formate XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost XML zum Abbilden von DB-Inhalten 4 Methoden 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 XMLDokument wiederfinden. Grundprinzip Darstellung von Relationen, Tupeln und Attributen durch XMLElemente oder -Attribute Abbildung von Schlüsseln und Fremdschlüsseln Abbilden von Typinformationen Ableitung von Elementhierarchien XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost XML zum Abbilden von DB-Inhalten 5 Methoden – Forts. dreistufige Verschachtelung: Bezeichnung der Datenbank Relationennamen Attributnamen vierstufige Verschachtelung: Bezeichnung der Datenbank Relationennamen Tupel Attributnamen <Datenbankname> <Relationnenname> <Attributname> </Attributname> <Attributname> </Attributname> … <Datenbankname> <Relationnenname> <Tupel> <Attributname> </Attributname> <Attributname> … XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost XML zum Abbilden von DB-Inhalten 6 Methoden – Forts. 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 XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost XML zum Abbilden von DB-Inhalten 7 Methoden – Forts. 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 XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost XML zum Abbilden von DB-Inhalten 8 Methoden – Forts. 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 XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost XML zum Abbilden von DB-Inhalten 9 Beispiel XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost Übungen 10 ~drei bis vier XML-APIs XQuery L XM xie e d -In SQL /XM L Im-/Export von XML mit Datenbanken g ru n XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost 3. Übung - Aufgabenstellung 11 Abbildung von Datenbankinhalten auf XML Erstellung eines XML-Schemas aus gegebenem Datenbankschema Erstellen einer Instanz zum erstellten XML-Schema XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost 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-0Klettke/Meyer: XML & Datenbanken, dpunkt, 2003 XML, QPath, XQuery: Neue Konzepte für Datenbanken WS 07/08 Martin Kost