Datenbanken und XML: Mappingansätze und integrierte Speicherverfahren



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

XML und Datenbanken. Wintersemester 2003/2004. Vorlesung: Dienstag, 13:15-15:00 Uhr IFW A36. Übung: Dienstag, 15:15-16:00 Uhr IFW A36

XML-Dokumente in objektrelationalen Datenbanksystemen. Meike Klettke Universität Rostock

Klausur Interoperabilität

XINDICE. The Apache XML Project Name: J acqueline Langhorst blackyuriko@hotmail.de

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

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

XML - Extensible Markup Language. Agenda - Oracle XML DB

Einteilung von Datenbanken

Datenbanken für Online Untersuchungen

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Java und XML 2. Java und XML

1 BEDIENUNGSANLEITUNG

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Projektseminar "Texttechnologische Informationsmodellierung"

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

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

Gegeben ist das folgende XML-Dokument.

Suchmaschinen. Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6

2.5.2 Primärschlüssel

Kapitel 8. Indexstrukturen für XML-Dokumente. Werteindexe Volltextindexe Pfadindexe

Elexis-BlueEvidence-Connector

Allgemeines zu Datenbanken

WS 2002/03. Prof. Dr. Rainer Manthey. Institut für Informatik III Universität Bonn. Informationssysteme. Kapitel 1. Informationssysteme

mit attraktiven visuellen Inhalten

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Das Entity-Attribute-Value-Konzept als Speicherstruktur für die Informationsintegration in der ambulanten Pflege

Monatstreff für Menschen ab 50 Temporäre Dateien / Browserverlauf löschen / Cookies

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Stella egovernment Stella G2 bei der SEPA-Umstellung von Bankverbindungsdaten

Urs Meier Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

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

5. Programmierschnittstellen für XML

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Aufgaben zu XPath und XQuery

XQuery Implementation in a Relational Database System

5. Programmierschnittstellen für XML

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Was macht Layer2 eigentlich? Erfahren Sie hier ein wenig mehr über uns.

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Oracle: Abstrakte Datentypen:

Views in SQL. 2 Anlegen und Verwenden von Views 2

Dokumentation zur Versendung der Statistik Daten

Kurzanleitung zur Erweiterung der htdig

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Informatik 12 Datenbanken SQL-Einführung

Typo3: Nachrichten verfassen

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Funktionserweiterungen, behobene Funktionseinschränkungen und Funktionseinschränkungen, EASY Starter V1.5

Datenmanagement in Android-Apps. 16. Mai 2013

Universität Augsburg, Institut für Informatik Wintersemester 2011/2012 Prof. Dr. W. Kießling 03. Feb Semesterklausur

Speicher in der Cloud

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Informationen zum neuen Studmail häufige Fragen

Österreichische Trachtenjugend

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

egovernment für das Open Source CMS Contao

Carsten Czarski, Nina Neuwirth Oracle Deutschland. Volltextsuche in XML-Dokumenten mit Oracle

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

Schnellanleitung: Verbuchung von Studien- und Prüfungsleistungen

Organisation des Qualitätsmanagements

Stellungnahme. E-Government-Standards Seite 1 von 5. Dokumente:...eCH Version: ech-kategorie:...standard. Datum der Eingabe:

Anforderungen an die HIS

Ein mobiler Electronic Program Guide

Standard XPersonenstand - Version Verbindliche Handlungsanweisungen

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

Schlüsselaustausch. Version 1.1. APCS Power Clearing and Settlement AG

1 topologisches Sortieren

Anleitung über den Umgang mit Schildern

Dokumentation zum Inco- FORM

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

Semestralklausur zur Vorlesung. Web Mining. Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2004 Termin:

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

Melde- und Veröffentlichungsplattform Portal (MVP Portal) Hochladen einer XML-Datei

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

GSD-Radionik iradionics Android-App

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

Der beste Plan für Office 365 Archivierung.

SJ OFFICE - Update 3.0

Änderungen im Vertrags-Manager

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Sonstige Marktregeln

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Ausschreibungsunterlagen mit der Funktion als Serien- versenden

Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz

Übungen zur Softwaretechnik

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

GITS Steckbriefe Tutorial

Erfahrungen mit Hartz IV- Empfängern

FRAGEBOGEN ANWENDUNG DES ECOPROWINE SELBSTBEWERTUNG-TOOLS

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug Name: Note:

Transkript:

Datenbanken und XML: Mappingansätze und integrierte Speicherverfahren PD Dr.-Ing. habil. Meike Klettke Universität Rostock Institut für Informatik 2. November 2011

Motivation XML als Format zur Dokumentdarstellung existiert seit 13 Jahren als Schlagwort sehr populär (gewesen) mittlerweile gibt es viele Anwendungen, die XML-Dokumente erzeugen oder verwenden Hauptanwendung: Austauschformat (auch EAD so eingesetzt) In einigen Anwendungen ist eine dauerhafte Speicherung notwendig (auch für EAD-Dokumente) Eigene Systeme zur Speicherung (native XML-Datenbanksysteme) Herkömmliche (relationale) Datenbanksysteme wurde erweitert, um XML-Dokumente verarbeiten zu können

... zur Popularität von XML... XML is the ASCII of the 21th century. XML is the ASCII of the Web (Henry Thompson, 1999) It takes ten minutes to understand (base) XML, and then ten month to understand the new technologies hung around it. (Peter Chen) warum wurde XML so populär? einfach zu verstehen, leicht zu erlernen (Syntax von XML-Dokumenten) lesbar, selbstbeschreibend damit prädestiniert als Austauschformat

... im Vortrag heute... Erweiterungen von Datenbankmanagementsystemen, um XML- Dokumente zu speichern, anzufragen und zu verändern, dazu 1. Klassifikation von Speicherungsverfahren 1. Speicherung der Graphstruktur 2. strukturierte Speicherung in Datenbanken 3. Hybride Verfahren 2. Realisierung in objekt-relationalen Datenbanksystemen (Oracle) 3. Erfahrungen mit generischer Speicherung (EAV)

1) Klassifikation von XML-Dokumenten Datenzentrierte Dokumente strukturiert, regulär Beispiele: Produktkataloge, Bestellungen, Rechnungen, Metadaten im Bibliothekswesen, ~ von Archiven Dokumentzentrierte Dokumente unstrukturiert, irregulär Beispiele: wissenschaftliche Artikel, Bücher, E-Mails, Webseiten, Dokumente in Archiven Semistrukturierte Dokumente daten- und dokumentzentrierte Anteile Beispiele: Veröffentlichungen, Kundendaten und Originalverträge,... <book> <author>neil Bradley</author> <title>xml companion</title> <isbn>1-234-56789-0</isbn> </book> <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>

2) Anforderungen an die XML-Speicherung Nach (Fiebig, Kanne, Moerkotte) Effektive Speicherung Effizienter Zugriff auf XML-Dokumente oder Teile davon Unterstützung von XPath und XQuery Unterstützung von SAX und DOM für Anwendungen Transaktionsverwaltung Wiederherstellbarkeit der Dokumente (oder der Informationen aus den Dokumenten)

Speicherung von XML-Dokumenten Als Dateien / Clobs Speicherung der Dokumentstruktur Strukturierte Speicherung in Datenbanken Volltextindex Abbildung der Graphstruktur Vollständiges Mapping Volltextindex und XML-Index Abbilden des DOM-Modells Benutzerdefiniertes Mapping

I) Speicherung als Ganzes und Volltextindizierung Term nachricht autor nachname Fürst vorname Christian inhalt ueberschrift Vermarktungsfest text Wolfgang Element <nachricht id="id0001" bedeutung="4"> <autor autor_id="a0001"> <nachname>fürst</nachname> <vorname>christian</vorname> <agentur>dpa</agentur> <e-mail>fuerst@dpa.de</e-mail> </autor> <einordnung> <rubrik>mozartjahr 2006</rubrik> <inhalt> <ueberschrift>ein Vermarktungsfest </ueberschrift> <text>als Wolfgang Amadeus Mozart im Alter von 35 Jahren starb,.. </text> </inhalt> </nachricht> bekannte Methode (älter als relationale Datenbanken) Verfahren aus dem Bereich Information Retrieval Anfragen können linguistische Merkmale nutzen (Stammwortsuche, Ähnlichkeitssuche) keine Auswertung von Markup in den Anfragen

Erweiterung um Pfadindex Term Verweis Element Fürst Christian Mozartjahr Vermarktungsfest Wolfgang Element Verweis Ordnung Vorgänger nachricht 1 autor 1 nachname 1 vorname 2 inhalt 3 ueberschrift 1 text 2 <nachricht id="id0001" bedeutung="4"> <autor autor_id="a0001"> <nachname>fürst</nachname> <vorname>christian</vorname> <agentur>dpa</agentur> <e-mail>fuerst@dpa.de</e-mail> </autor> <einordnung> <rubrik>mozartjahr 2006</rubrik> <inhalt> <ueberschrift>ein Vermarktungsfest </ueberschrift> <text>als Wolfgang Amadeus Mozart im Alter von 35 Jahren starb,.. </text> </inhalt> </nachricht> damit Auswertung von Markup in den Anfragen möglich XPath, XQuery

II) Speicherung der Graphstruktur / 1 <nachricht id="id0001" bedeutung="4"> <autor autor_id="a0001"> <nachname>fürst</nachname> <vorname>christian</vorname> <agentur>dpa</agentur> <e-mail>fuerst@dpa.de</e-mail> </autor> <einordnung> <rubrik>mozartjahr 2006</rubrik> <inhalt> <ueberschrift>ein Vermarktungsfest </ueberschrift> <text>als Wolfgang Amadeus Mozart im Alter von 35 Jahren starb,.. </text> </inhalt> </nachricht> ID Element Wert Ordnung Vorgänger n001 nachricht 1 - n002 autor 1 h001 n003 nachname Fürst 2 h001 n004 vorname Christian 1 H002 n005 agentur dpa 2 H002 n006 e-mail fuerst@dpa.de Element Attribut Typ Wert n001 id xs:id ID0001 n001 bedeutung xs:int 4 n002 autor_id xs:id A0001 3 h002 generische Speicherung der XML-Dokumente kein Schema erforderlich ähnlich Tripelstore

III) strukturierte Speicherung in (relationalen) Datenbanken Änderung des Datenbankschemas nachricht: <nachricht id="id0001" bedeutung="4"> <autor autor_id="a0001"> <nachname>fürst</nachname> <vorname>christian</vorname> <agentur>dpa</agentur> <e-mail>fuerst@dpa.de</e-mail> </autor> <einordnung> <rubrik>mozartjahr 2006</rubrik> <inhalt> <ueberschrift>ein Vermarktungsfest </ueberschrift> <text>als Wolfgang Amadeus Mozart im Alter von 35 Jahren starb,.. </text> </inhalt> </nachricht> id bedeutung autor inhalt ID0001 4 A0001 P0001 autor: ID autor_id nachname Vorname agentur e-mail x00001 A0001 Fürst Christian dpa fuerst@dpa. de inhalt: ID ueberschrift text y00001 Ein Vermarktungsfest Als Wolfgang Amadeus Mozart im Alter von 35 Jahren starb,.. Abbildung der Struktur der XML-Dokumente auf Datenbankstruktur Schema erforderlich!! Problem bei der Abbildung: mixed content: Texte

IV) Hybride Ansätze nachrichten: <nachricht id="id0001" bedeutung="4"> <autor autor_id="a0001"> <nachname>fürst</nachname> <vorname>christian</vorname> <agentur>dpa</agentur> <e-mail>fuerst@dpa.de</e-mail> </autor> <einordnung> <rubrik>mozartjahr 2006</rubrik> <inhalt> <ueberschrift>ein Vermarktungsfest </ueberschrift> <text>als Wolfgang Amadeus Mozart im Alter von 35 Jahren starb,.. </text> </inhalt> </nachricht> für daten- als auch dokumentzentrierte Anteile Auswahl unterschiedlicher Speicherungsmethoden für verschiedene Dokumentanteile id bedeutung autor inhalt ID0001 4 A0001 P0001 autor: ID autor_id nachname Vorname... x00001 A0001 Fürst Christian <inhalt> <ueberschrift>ein Vermarktungsfest </ueberschrift> <text>als Wolfgang Amadeus Mozart im Alter von 35 Jahren starb,.. </text> </inhalt> aus dem Vortrag von heute: Größere Datenbankfeundlichkeit: weniger mixed content Datenbanken können mittlerweile damit umgehen

Realisierung in objektrelationalen Datenbanken verschiedene Speicherungsmöglichkeiten werden unterstützt: Speicherungsmöglichkeiten bei Oracle: DB2: Abbildung nach Ulrike Schwinn, Oracle

Verwenden des XML-Typs XML als nativer Datentyp, kann einzelnen Attributen zugeordnet sein Beispiel (Oracle): create table nachrichten ( id integer not null primary key, titel varchar(30) not null, autor varchar(30) not null, datum date, agentur varchar(10), text XMLType, kontext XMLType ); also hybride Speicherung

Werte einfügen insert into nachrichten values (1, 'Ein Vermarktungsfest', 'Christian Fürst', '2006 12 12', 'dpa', XMLType('<text>Als Wolfgang Amadeus Mozart im Alter von 35 Jahren starb, war er bettelarm. Jetzt, zu seinem 250. Geburtstag, zeigen insbesondere österreichische PR Experten, wie man mit dem Namen des Salzburger Genies Millionen machen kann... </text> ), XMLType('<einordnung> <ort> <land>österreich</land> <stadt>salzburg</stadt> <stadt>wien</stadt> </ort> <zeit>... </zeit> <rubrik>festakte</rubrik> <kategorie>mozart</kategorie> <kategorie>musik</kategorie> <kategorie>kultur</kategorie> </einordnung>')); Weiterhin möglich: XML-Schema in Oracle registrieren Beim Einfügen gegen das Schema validieren

3.2) Anfragen Anfragesprache für relationale: SQL Anfragesprache für XML-Dokumente: XQuery Anfragemöglichkeiten (Kombination dieser Anfragen): SQL SQL mit eingebettetem XQuery XQuery (XQuery mit eingebettetem SQL) Beispiel: SELECT autor, datum, agentur FROM nachrichten WHERE extractvalue(kontext, '/einordnung/kategorie') like %Mozart% ;

Bewertung Hybride Speicherung in Oracle möglich Relationale Speicherung für strukturierte Anteile XML Type für unstrukturierte Anteile (Volltexte mit Markup, ) Etabliert seit ca. 2006 in den Datenbanksystemen Intern als nativer Datentyp dargestellt 22

Überblick über Mapping von XML- Dokumenten Beschreibung des Mappings Gültigkeit ist gegeben EAD- Schema Ziel- Schema EAD-Dokumente Durchführung des Mappings (automatisch) XSLT, Ziel-XML-Dokumente Probleme: nichtvalide XML-Dokumente Verändertes Schema (neue Version)

Ein Tool dafür: Altova MapForce: Mappingtool Geeignet zur Realisierung eines ersten Prototypen Einfach bedienbar Eigene Erweiterungen möglich XSLT lässt sich generieren

EAV-Speicherung, Tripel-Store Hochflexibles Format zur Speicherung Kann in relationalen Datenbanken, außerhalb oder in eigenen Systemen erfolgen Grundidee: Auf Werteebene: Entity Attribut Value speichern Verlustfreie Speicherung jeden beliebigen Formates: Relationale Datenbanken, XML, excel, hierarchische Datenbanken Ineffizient für komplexe Anfragen. 26

Grundidee der Speicherung 27

In der konkreten (relationalen) Umsetzung 28

Import in das EAV-Modell Vollständig automatisierbar Umgesetzt für XML (Anwendung in der Pflegeinformatik) von Dortje Löper 29

Export aus dem EAV-Modell Hier ist keine vollständige Automatisierung zu erreichen Für bekannte Formate ist diese möglich Für neue Formate (neue Versionen) müssen die Transformationsregeln angepasst werden 30

Einige Performancemessungen Präprozess (Connection herstellen,..) Umsetzung der Query 10 Dokumente 478-488 ms 15-18 ms 3-5 ms Postprozess (resultset durchlaufen) 100 Dokumente 451-566 ms 18-29 ms 2693-2987 ms Dieser Anteil ist unabhängig von der Query Resultset beinhaltete 39584 Tupel Nacheinander ausgelesen (noch nicht optimiert!) 31

Bewertung, Tripelstore Hochflexibel Nicht nur für verschiedene Schemata sondern zum Beispiel auch für verschiedene Datenformate Erweiterbar (für beliebige zukünftige Versionen) Einfache Anfragen, die wenige Attribute betreffen, (z.b. Suchanfragen) gut realisierbar Komplexe Anfragen (z.b. Wiederherstellung der Originaldaten) sind sehr aufwendig) Verschiedene Implementierungen Überlegung: wie viele Datenbankeigenschaften werden benötigt 33

Literatur /1 www.ibm.com Matthias Nicola, Fatma Ozcan: purexml in DB2 9: Which way to query your XML data? http://www.ibm.com/developerworks/db2/library/techarticle/dm- 0606nicola/, Juni 2006 Holger Seubert: XML-Indizierung, Update und Schema-Verwaltung mit DB2 9, http://entwickler.de/zonen/portale/psecom,id,101,online,1037,p,0.html www.oracle.com Ulrike Schwinn (Oracle): XML in der Oracle Datenbank relational and beyond, BTW 2003 Meike Klettke, Holger Meyer, XML and databases, dpunkt.verlag, 2003 Meike Klettke, Holger Meyer: http://www.xml-und-datenbanken.de

Literatur /2 Igor Tatarinov, Zachary G. Ives, AlonY. Halevy, Daniel S. Weld, Updating XML, Proceedings of the ACM SIGMOD International Conference on Management of Data, 2001 (Syntax einer Updatesprache, basierend auf XQuery) Patrick Lehti: Design and Implementation of a Data Manipulation Processor for an XML Query Language, DA, TU Darmstadt, 2001 Hong Su, Diane K. Kramer, Elke A. Rundensteiner, XEM: XML Evolution Management, Computer Science Technical Report Series, Worchester Polytechnic Institute, WPI-CS-TR-02-09 Béatrice Bouchou, Denio Duarte, Mírian Halfeld Ferrari Alves, Dominique Laurent and Martin Musicante: Schema Evolution for XML: A Consistencypreserving Approach. 29th International Symposium, Mathematical Foundations of Computer Science MFCS 2004

Literatur /3 Meike Klettke, Holger Meyer, Birger Hänsel: Evolution --- The Other Side of the XML Update Coin. 2nd International Workshop on XML Schema and Data Management (XSDM), Tokyo, April 2005 Christian Will: Ableitung von Schemaevolutionsschritten aus XML-Updateoperationen, Studienarbeit, Fakultät für Informatik und Elektrotechnik, 2006 Oracle9i XML Database Developer's Guide - Oracle XML DB Release 2 (9.2), http://download.oracle.com/docs/cd/b10501_01/appdev.920/a96620/xdb04cre.htm Dortje Löper, Meike Klettke, Ilvio Bruder, Andreas Heuer: Integrating Healthcare-related Information using the Entity-Attribute-Value Storage Model, eingereicht zur HIS 2012 Dortje Löper, Meike Klettke, Ilvio Bruder, Andreas Heuer: Das Entity-Attribute- Value-Konzept als Speicherstruktur für die Informationsintegration in der ambulanten Pflege, in: GI Jahrestagung, Workshop "Datenmanagement und Interoperabilität im Gesundheitswesen", 2011