7. XML-Datenbanksysteme und SQL/XML

Ähnliche Dokumente
7. XML-Datenbanksysteme und SQL/XML

XML in Oracle 12c. Wolfgang Nast

Seminar XML und Datenbanken Andreas Krug. XML -Unterstützung durch IBM DB2

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015 SQLX. Christian Senger/Andreas Schmidt Oracle und XML (SQLX) 1/14

Kapitel 6: SQL und XML

Vortrag. Hybride Speicherung von XML-Daten in RDBMS. Autor: Michael Fiedler Betreuer: Andreas Thor. Oberseminar der Abteilung DB am

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS XMLType. Christian Senger/Andreas Schmidt XMLType 1/32

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Garten - Daten Bank. - survival pack -

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - WS 2016 SQLX. Andreas Schmidt Oracle und XML (SQLX) 1/15

Validating XML Parser. Application. XML-Datei XML-Datei XML-Datei XML-Datei XML-Datei. XML-Schema oder DTD

XML in der Oracle Datenbank

XML, QPATH, XQUERY: NEUE KONZEPTE FÜR DATENBANKEN. 4. Übung SQL/XML

Wiederholung VU Datenmodellierung

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer

Hochschule Karlsruhe Technik und Wirtschaft Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken

Allgemeines. veröffentlicht unter lizensiert unter. Creative Commons BY-SA 3.0. XQuery in MS SQL Server 2005

XML und die Oracle Datenbank Storage, Query und mehr... Carsten Czarski ORACLE Deutschland B.V. & Co KG München

Oracle PL/SQL und XML. Marco Skulschus Marcus Wiederstein

Inhalt. 1 Einleitung Warum dieses Buch? Der rote Faden Danksagung URL zum Buch 4. TEIL I Einführung 5

XML in kommerziellen Datenbanksystemen. Vortrag im Rahmen des Seminares: XML Datenbanken Cordula Bauer

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

10. XML und XQuery. Prof. Dr.-Ing. Wolfgang Lehner

4. XML-Datenbanken: Datendefinition

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

XML-Datenaustausch in der Praxis Projekt TOMIS bei der ThyssenKrupp Stahl AG

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Objektrelationale und erweiterbare Datenbanksysteme

Michael Wagner SQL/XML:2006. Evaluierung der Standardkonformität ausgewählter Datenbanksysteme. Diplomica Verlag

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

GROUP BY, HAVING und Sichten

XML-Abfragen der neuen Art: XQuery

<Insert Picture Here> XML DB Vorlesung Ulrike Schwinn Teil 3

Erzeugung und Veränderung von Tabellen

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN:

Bäume in RDBMS. Enthalten beide: Nested-Set Model of Trees

Aufgabe 1: XML Retrieval (theoretisch / praktisch)

Integration der IBM DB2 UDB 9.5 (Viper) als Messagestore in das Demaq-Ausführungssystem

Datenbanken und XML Passt das?

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16.

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

Vorlesung Informatik II

Klausur Interoperabilität

Oracle native json Support. Erste Schritte

XML in der Oracle Datenbank "relational and beyond"

Übersicht der wichtigsten MySQL-Befehle

Objektrelationale Datenbanken

Projektseminar "Texttechnologische Informationsmodellierung"

Das Leben der Anderen

Das relationale Modell (Teil 1)

SQL structured query language

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS noch einmal. XQuery... Andreas Schmidt Oracle XQuery 1/12

Entwicklung eines Tutorials für XQuery

Es geht also im die SQL Data Manipulation Language.

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Abfragen (Queries, Subqueries)

Visualisierung in Informatik und Naturwissenschaften

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

MCSA: SQL 2016 Database Development

<Insert Picture Here> XML und die Oracle Datenbank

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Oracle 10g Einführung

Kapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken

4. Objektrelationales Typsystem

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

DB1. DB SQL-DQL 1 Mario Neugebauer

XML Vorlesung ETHZ SS XML Vorlesung ETHZ, Sommersemester XML und Datenbanken.

DBMS für spezielle Anwendungen XML als Mittel der Datenbank-Interoperabilität

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Query Translation from XPath to SQL in the Presence of Recursive DTDs

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

Oracle: Abstrakte Datentypen:

Datenbanksysteme Kapitel 5: SQL - Grundlagen

Ulrike Schwinn Dipl.-Math. Oracle Deutschland GmbH. Kultur und Informatik - Datenverwaltung 04.Juli 2007

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Hans Buschmann. InnoData GmbH

10. Datenbank Design 1

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Inhaltsverzeichnis. Teil 1 - XM L Einleitung Motivation...15

Kapitel 6 Abbildung von Datenbanken auf XML

Datenbankensysteme Aufgabenblatt 2

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Universität zu Köln Informationsverarbeitung WS 2009/10. Datenbanken vs. Markup Prof. Dr. M.Thaller XML als Datenbank

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Datenbanksysteme 2013

Kap. 3 Relationenmodell mit relationaler Algebra

ids-system GmbH Tipp #5 STRING_UNITS ab DB FP 4

Garten -Daten Bank. Was ist das? Dr. Karsten Tolle PRG2 SS 2013

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR

Transkript:

7. XML-Datenbanksysteme und SQL/XML Native XML-DBS vs. XML-Erweiterungen von ORDBS Speicherung von XML-Dokumenten Speicherung von XML-Dokumenten als Ganzes Generische Dekomposition von XML-Dokumenten Schemabasierte Dekomposition Standardisierung SQL/XML (XML in ORDBS) Datentyp XML XML-Operatoren für XML: XMLELEMENT, XMLATTRIBUTES, XMLQUERY, XMLTABLE etc. SS11, Prof. Dr. E. Rahm 7-1 XML-Unterstützung in kommerziellen DBS native XML-DBS Datenzugriff erfolgt vorwiegend über XML-orientierte Schnittstellen (z. B. XPath, XSLT, DOM, XQuery) DBS ist in erster Linie zur Speicherung und Manipulation von XML-Daten bestimmt für alle XML-Dokumentarten geeignet (besonders für dokumentorientierte und gemischt strukturierte) Frühe Implementierungen: Tamino, extensible Information Server (XIS), Infonyte DB... (objekt-)relationale DBS mit XML-Erweiterung Datenzugriff vorrangig über SQL Erweiterungen zur Transformation zwischen XML-Dokumenten und relationalen Datenstrukturen (z. B. UDFs zum Speichern und Abfragen von XML-Dokumenten) vorrangig für datenorientierte XML-Dokumente optimiert Bsp.: Oracle, IBM DB2, Microsoft SQL-Server SS11, Prof. Dr. E. Rahm 7-2

DB-Speicherungsverfahren für XML-Dokumente Ganzheitliche Speicherung von Dokumenten (BLOB, CLOB, UDT XML) Erlaubt schnelle, originalgetreue Dokumentrekonstruktion schnelles Einbringen der Daten hoher Aufwand für Queries und Änderungen weniger geeignet für strukturierte Daten Dekomposition: Zerlegung der XML-Daten Generisch: Graphmodell, DOM - Allgemein; aufwändigere Queryverarbeitung - Günstig für Dokumente / Textanteile Schemabasiert: aufgrund manuellem / automatischem Tabellen-Mapping Kombinationen SS11, Prof. Dr. E. Rahm 7-3 Generische Dekomposition Generische(anwendungsneutrale) Abbildung von Hierarchien (XML- Instanzen) bzw. Graphen (XML Schema) auf Relationen docid elementname ID vorgänger pos wert 1 1 Null 1 null Uhrzeit Thema Dozent 15:15 Uhr DBS2 Name Einrichtung 1 2 1 1 Null 1 Thema 3 2 1 DBS2 1 Dozent 4 2 2 Null 1 Name 5 4 1 Prof. Rahm 1 Einrichtung 6 4 2 Uni Leipzig Elemente Prof. Rahm Uni Leipzig docid attributname elementid wert 1 Uhrzeit 2 15:15 Attribute SS11, Prof. Dr. E. Rahm 7-4

Schemabasierte Dekomposition Relationenschema wird in Abhängigkeit vom XML-Schema erzeugt automatisches Mapping nach Bourret* (komplexe Elemente erhalten eigene Relation) VLVerzeichnigID 1 ID Pos VlVerzeichnisID Uhrzeit UhrzeitPos Thema ThemaPos 1 1 1 15:15 1 DBS2 2 Dozent - Dozent DozentPos ID Name NamePos Einrichtung EinrichtungPos 1 3 1 Prof. Rahm 1 Uni Leipzig 2 mit ROW-Typ, ohne Elementposition VLVerzeichnigID 1 sid Uhrzeit Thema Dozent Name Einrichtung 1 15:15 DBS2 Prof. Rahm Uni Leipzig * http://www.rpbourret.com/xmldbms/ SS11, Prof. Dr. E. Rahm 7-5 manuelles Mapping Schemabasierte Dekomposition (2) Mapping zwischen XML-Dokument und Datenbank wird manuell festgelegt Mapping muss nicht vollständig sein XML-Daten < Uhrzeit= 15:15 Uhr"> <Thema>DBS2</Thema>... </> Mapping-Vorschrift Uhrzeit Thema Dozent Name Uhrzeit Dozent Einrichtung Uhrzeit Dozent Datenbank Uhrzeit Dozent DBS2 15:15 Uhr Prof. Rahm SS11, Prof. Dr. E. Rahm 7-6

SQL-Datentyp: XML SQL:2003-Standard Teil 14: SQL/XML XML-Dokument wird als Ganzes gespeichert Beibehaltung der Originaldokumente/-daten (ähnlich LOB) DBMS erlaubt XPath (und XQuery)-Anfragen auf XML-Dokumenten Beispiel: Tabelle sverzeichnis CREATE TABLE sverzeichnis ( Universitaet VARCHAR (255), Semester VARCHAR (255), en XML ) INSERT INTO sverzeichnis (Universitaet, Semester, en) VALUES ( Uni Leipzig, SoSe 2011, <>< Uhrzeit="15:15 Uhr"><Thema> DBS2 </Thema><Dozent> <Name> Rahm </Name> <Einrichtung> IfI </Einrichtung>... ) SS11, Prof. Dr. E. Rahm 7-7 SQL/XML-Operatoren Erweiterung der SQL-Anfragesprache zur XML-Verarbeitung Operatoren zur Erzeugung von XML-Daten XMLELEMENT, XMLATTRIBUTES : Konstruktion von XML- Elementen bestehend aus Name, Attributen und Inhalt (Text oder andere XML-Elemente) XMLAGG: Konstruktion gruppierter XML-Elemente XMLFOREST, XMLCONCAT, XMLNAMESPACES, XMLDOCUMENT,... Operatoren für Anfragen auf XML-Dokumenten XMLQUERY: Einfache XPath-Anfragen auf XML-Dokumente XMLEXISTS: Selektionsbedingung für XML-Dokumente (in SQL- WHERE-Klausel) XMLTABLE: Konvertierung eines XML-Anfrageergebnisses in Relation SS11, Prof. Dr. E. Rahm 7-8

XMLELEMENT, XMLATTRIBUTES Erstellung von XML-Elementen bzw. Attributen aus relationalen Tabellen Beispiel: en jeweils als XML-Fragment SELECT Id, XMLELEMENT (Name "", XMLATTRIBUTES (Uhrzeit AS "Uhrzeit"), XMLELEMENT (Name "Thema", Thema), XMLELEMENT (Name "Dozent", XMLELEMENT (Name "Name", DName), XMLELEMENT (Name "Einrichtung", DEinr))) AS X FROM Id Thema Uhrzeit DName DEinr 1 DBS2 15:15 Uhr Rahm IfI 2 DatenInt 11:15 Uhr Thor IfI SS11, Prof. Dr. E. Rahm 7-9 Id X (Typ:XML ) 1 < Uhrzeit="15:15 Uhr"><Thema>DBS2</Thema> <Dozent><Name>Rahm</Name><Einrichtung>IfI</Einrichtung> </Dozent></> 2 < Uhrzeit="11:15 Uhr"><Thema>DatenInt</Thema> <Dozent><Name>Thor</Name><Einrichtung>IfI</Einrichtung> </Dozent></> XMLAGG Zusammenfassung von XML-Elementen basierend auf SQL-Gruppierung (GROUP BY) Sub-Selects Beispiel: Alle Dozenten gruppiert nach ihrer Einrichtung SELECT DEinr, XMLELEMENT (Name "Einrichtung", XMLATTRIBUTES (DEinr AS "Name"), XMLAGG( FROM GROUP BY DEinr Id Thema Uhrzeit DName DEinr 1 DBS2 15:15 Uhr Rahm IfI 2 DatenInt 11:15 Uhr Thor IfI 3 FinanzInf 11:15 Uhr Alt WiInf SS11, Prof. Dr. E. Rahm 7-10 XMLELEMENT (Name "Dozent", DName))) AS X DEinr X (Typ:XML ) IfI WiInf <Einrichtung Name="IfI > <Dozent>Rahm</Dozent><Dozent>Thor</Dozent> </Einrichtung> <Einrichtung Name= WiInf"> <Dozent>Alt</Dozent> </Einrichtung>

XMLQUERY Unterstützung einfacher XPath-Anfragen Ergebnis ist Knotenmenge (serialisiert als konkatenierte XML-Elemente) PASSING-Klausel gibt an, in welcher Tabellen-Spalte XML-Dokumente ausgewertet werden sollen Beispiel: Alle Themen von 15:15-Uhr-en SELECT Universitaet, XMLQUERY( '///Thema[../@Uhrzeit="15:15 Uhr"]' PASSING en) AS X FROM sverzeichnis WHERE Semester = 'SoSe 2011' sverzeichnis Univ. Semester en Uni LE SoSe 2011 <... Uni LE WiSe 10/11 <... Univ. Uni LE Uni DD X (kein well-formed XML) <Thema>DBS2</Thema><Thema>IDBS </Thema> <Thema>AlgoDat</Thema><Thema>eBusiness</Thema> Uni DD SoSe 2011 <... SS11, Prof. Dr. E. Rahm 7-11 XMLEXISTS Prädikat zur Bedingungsprüfung auf XML-Dokumenten SQL-WHERE-Klausel kann Eigenschaften der XML-Dokumente verwenden PASSING-Klausel analog zu XMLQUERY Beispiel: Welche Universitäten bieten eine DBS2- an? SELECT DISTINCT Universitaet FROM sverzeichnis WHERE XMLEXISTS ('//[Thema="DBS2"]' PASSING en) sverzeichnis Univ. Semester en Univ. Uni LE Uni LE SoSe 2011 <... Uni LE WiSe 10/11 <... Uni DD SoSe 2011 <... SS11, Prof. Dr. E. Rahm 7-12

XMLTABLE Konvertierung eines XML-Anfrageergebnisses in Relation Verwendung mehrerer XPath-Ausdrücke Aufbau XPath-Ausdruck zur Selektion einer Menge von Basiselementen je ein Datensatz pro Basiselement in resultierender Relation Für jedes Attribut der Relation jeweils ein XPath-Ausdruck Auswertung des XPath-Ausdrucks relativ vom Basiselement Einsatzbereiche Definition (relationaler) Sichten auf XML-Dokumente Nutzerdefinierte Speicherung von XML-Daten in relationales Modell Kombination von XML-Daten mit relationalen Daten (z.b. JOIN) SS11, Prof. Dr. E. Rahm 7-13 XMLTABLE (2) Beispiel: Relationale Darstellung des sverzeichnis sverzeichnis Uni Sem en.... <> < Uhrzeit="15:15 Uhr"> <Thema>DBS2</Thema> <Dozent> <Name>Rahm</Name> <Einrichtung>IfI</Einrichtung> </Dozent> </> < Uhrzeit="11:15 Uhr"> <Thema>DatenInt</Thema> <Dozent> <Name>Thor</Name> <Einrichtung>IfI</Einrichtung> </Dozent> </> </> SELECT X.* FROM sverzeichnis, XMLTABLE ( '//' PASSING en COLUMNS "THEMA" VARCHAR(255) PATH 'Thema', "ZEIT" VARCHAR(255) PATH '@Uhrzeit', "DNAME" VARCHAR(255) PATH 'Dozent/Name' )AS X Thema Zeit DName DBS2 15:15 Uhr Rahm DatenInt 11:15 Uhr Thor SS11, Prof. Dr. E. Rahm 7-14

DB2: Relationale Speicherung von XML Anwendungsbezogene Dekomposition von XML Nutzer/Administrator definiert Aufteilung der XML-Daten in relationale Struktur Realisierbar mittels XMLTABLE oder Schema-Annotationen XMLTABLE Dekomposition durch INSERT... SELECT... FROM XMLTABLE-Anfragen Flexibler Ansatz zur schrittweisen Speicherung von XML Pro Relation eine Anfrage: mehrfacher Durchlauf der XML-Daten erforderlich Schema-Annotationen XML-Schema wird um DB-spezifische Mapping-Regeln ergänzt (vgl. Hibernate) Befüllung aller Relationen in einem Durchlauf Annotation ist u.u. aufwändig und unübersichtlich SS11, Prof. Dr. E. Rahm 7-15 Zusammenfassung Generelle Speicherungsformen für XML-Dokumente Speicherung als Ganzes Dekomposition hybride Speicherung Generisches vs. anwendungsspezifisches Mapping von XML-Strukturen in Tabellen (Dekomposition / Shredding) SQL:2003 unterstützt UDT XML mit Funktionen zum Speichern und Abfragen von XML Zunehmende XML-Unterstützung in ORDBS SS11, Prof. Dr. E. Rahm 7-16