Modellbasierte Abbildung XML – SQL Vortrag von Marcus Wenzel Dozenten: Knut Stolze & Peter Müller Seminar XML und Datenbanken.

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

XML-basierte Techniken
Kapitel 3: Logische Datenmodelle
Löschoperationen (1) VDB VDB' DB DB' o = lösche(aname) p?? v v = AName (ArtikelArt) n Löschen entspricht der relationenalgebraischen Differenz. Dann ergibt.
T-XPath Ein zeitliches Modell für XML-DBS M. Kalb, G. SpechtK. Schneider Universität Ulm EML Heidelberg.
Bauinformatik II Softwareanwendungen 1
Das Entity-Relationship-Modell
Java: Objektorientierte Programmierung
FH-Hof Effizienz - Grundlagen Richard Göbel. FH-Hof Inhalt Einführung Aufwand für Anfragen ohne Indexierung Indexstrukturen für Anfragen an eine Tabelle.
Indirekte Adressierung
Effizienz: Indexstrukturen
DOM (Document Object Model)
XINDICE The Apache XML Project Name: Jacqueline Langhorst
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen.
XML Standardisierungen und Abfragesprachen
Speicherung von XML- Dokumenten als Large Objects.
Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.
Das Relationenmodell 1.
MMQL – Multimedia Query Language Eine Anfragesprache für Multimedia-Ähnlichkeitsanfragen Christian Mantei.
Übung Datenbanksysteme SQL-Anfragen (2)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Einführung Dateisystem <-> Datenbanksystem
XQuery-Anfragen Spezifikations- und Selektionsmethoden für Daten und Dienste Markus Mauch.
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
Seminar XML und Datenbanken Speicherung von XML-Werten vor SQL:2003.
D O M Document Object Model
Visualisierung objektrelationaler Datenbanken
Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von.
Quilt: Eine XML Anfragesprache für heterogene Datenquellen
Die Persistenzschicht
Vom XML Schema zur relationalen Datenbank Seminararbeit zum Multimedia-Seminar im SS 2002 Erstellt von: Thomas Dickel.
Wir bauen uns eine Webapplikation!
Access 2000 Willkommen im Access-Kurs Oliver Mochmann.
Java für Fortgeschrittene
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 9 Folie 2 ADO.NET (1) Klassen für Zugriffe.
Sesame Florian Mayrhuber
XML-Query. Übersicht Was ist XML-Query? Vergleich RDB XML-Dokument Syntaktisches und Use-Cases Kritik und Diskussion.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #2 Das relationale Modell (Teil 1)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Datenbanksysteme für hörer anderer Fachrichtungen
Einführung in Datenbankmodellierung und SQL
Vorlesung #10 Physische Datenorganisation
XML und Datenbanken © 2006 Markus Röder
Trust and context using the RDF- Source related Storage System (RDF‑S3) and easy RQL (eRQL) Karsten Tolle und Fabian Wleklinski.
Kurzpräsentation von Herbert Schlechta
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
Grundlagen des Relationenmodells
XQuery 1.0 – Arbeitsweise Mögl. Eingaben Das wird berücksichtigt: Typen von XPath und XML Schema Namensräume, Module Ergebnis: XML-Instanz.
XML-Datenbanken Weiterentwicklung eines Prototypen zur nativen Speicherung von XML-Dokumenten Georg Kiekel
Vorlesung #2 Das relationale Modell (Teil 1)
Rel-Modell Schema (3|8) Beispiel 8-12: Rel. Datenbank-Schema (beispielhaft) für eine rel. DB mit den Relationen angestellte1, projekt1.
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
Einführung Dateisystem <-> Datenbanksystem
1 Attribute, Attributwerte (1) Attribut (a): Eigenschaft eines Entity mit Attributname a Zu jedem Attribut a gehört ein Wertebereich (Domain) dom(a) Zum.
Seminar zur Geoinformation Folie 1 Inhalt: –XML –XML- SCHEMA –XSL –Syntax –GML Seminar zur Geoinformation Datenaustausch mit XML / GML im InternetDatenaustausch.
Peter Brezany Institut für Softwarewissenschaften Universität Wien
XML Schema Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung WS2011/2012 Hist.-kult.wiss. Informationsverarbeitung (Teil.
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Seminar: XML und Datenbanken Prof. Dr. K. Küspert, T. Müller, K. Stolze Lehrstuhl für Datenbanken und Informationssysteme Fakultät für Mathematik und Informatik.
1 Java und XML Stephan Baldes Warum XML? In welchem Format wurden die Daten gespeichert? Bernd;Thomas;3;5;1987;Freiburg;Karlsruhe Peter;Maier;7;9;1980;Karlsruhe;Freiburg.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
 Präsentation transkript:

Modellbasierte Abbildung XML – SQL Vortrag von Marcus Wenzel Dozenten: Knut Stolze & Peter Müller Seminar XML und Datenbanken

Modellbasierte Abbildung XML – SQL (0) Einführung Idee modellbasierter Abbildung Aufteilung in 2 Abbildungsarten Idee der datenbankseitigen Repräsentation (1) Einfache Graphenabbildung Ein Beispiel Konzept der Speicherung Anfragen Beispiel-Anfrage Rekonstruktion Inhalt:

Modellbasierte Abbildung XML – SQL (2) Speicherung unter Verwendung des DOM Klassenhierarchie des DOM Die Klasse Node Die Klassen Elemente & Attr. Die Relation Node Die Relationen Elemente & Attr. Anfragen Eigenschaften Inhalt:

Modellbasierte Abbildung XML – SQL Generische Speicherung eines binären Modells des XML-Dokumentes (z.B. DOM) direkte Abbildung der Graphenstruktur Idee modellbasierter Abbildung:

Modellbasierte Abbildung XML – SQL (1) einfache Speicherung der Graphenstruktur (2) Speicherung der Graphenstruktur unter Verwendung des Documtent Object Models (DOM) Unterschieden in :

Modellbasierte Abbildung XML – SQL Relation zur Speicherung der Elemente DocID Elementname ID Vorgänger Kind-Nr Wert Idee der datenbankseitigen Repräsentation: DocID Attributname ElementID Wert Relation zur Speicherung der Attribute (1) einfache Speicherung der Graphenstruktur

Modellbasierte Abbildung XML – SQL <seminar id=dbs001 semester=SS04 =Stolze =Müller Herberge der FSU Friedrichroda XML und Datenbanken Siegmundsburg Dorfstraße 4 2 Tage 12 Beispiel: XML (1) einfache Speicherung der Graphenstruktur

Modellbasierte Abbildung XML – SQL <!ATTLIST seminar id ID #REQUIRED dozent1 CDATA #IMPLIED> dozent2 CDATA #IMPLIED> Beispiel: DTD (1) einfache Speicherung der Graphenstruktur

Modellbasierte Abbildung XML – SQL seminar thema termin adresse dauer teilnehmerzahl Beispiel – Graph: plzortstrassenummer Siegmundsburg XML & Daten banken Dorfstraße4 2 Tage

Modellbasierte Abbildung XML – SQL Beispiel-Relation (Elemente): DocIDElementnameIDVorgängerKind-NrWert dbs001seminar1001 dbs001thema XML & Datenbanken dbs001termin dbs001adresse dbs001plz dbs001ort Siegmundsburg dbs001strasse Dorfstraße dbs001nummer dbs001dauer Tage dbs001teilnehmerzahl

Modellbasierte Abbildung XML – SQL Beispiel-Relation (Attribute): Attribute DocIDAttributnameElementIDWert dbs001Semester1001SS04 dbs001dozent11001Stolze dbs001dozent21001Müller dbs001id1001db001

Modellbasierte Abbildung XML – SQL Möglichkeit der Trennung der einzelnen Datentypen auf eigene Relationen Verweis-IDWert str001XML & Datenbanken str002Siegmundsburg str003Dorfstraße str0042 Tage Beispiel-Relation: Stringwerte Verweis-IDWert i i0024 i00312 Integerwerte Verweis-IDWert d Datum

Modellbasierte Abbildung XML – SQL Darstellung der Elementhierarchie in der Relation Elemente durch die Attribute ID, Vorgänger und Kind-Nr. in der Relation Attribute werden ElementID (wichtig!), Attributname und Wert gespeichert. durch die beiden Relationen werden die grundlegenden Informationen des XML- Dokuments gespeichert. Entities müssen vor Speicherung aufgelöst werden, um Anfragen an XML-Dokumente effizient zu halten. Werte von Attributen oder Elementen können in separaten Relationen abgebildet werden: –für jeden mgl. Datentyp eigene Relation –in den Mutterrelation erfolgt Verweis auf ID für Processing Instructions und Kommentare ebenfalls eigene Relationen. Konzept der Speicherung (1) einfache Speicherung der Graphenstruktur

Modellbasierte Abbildung XML – SQL einfache Anfragen ( suche nach tagwert) effizient umsetzbar Anfragen über mehrere Elemente erfordern rekursive Verbundanweisung auf Elemente-Relation (sehr aufwändig) Elemente-Relation wächst mit der Größe des XML-Dokuments oder der Anzahl der gespeicherten XML-Dokumente (jedes Element ein Tupel in Relation) Anfragen(1): (1) einfache Speicherung der Graphenstruktur

Modellbasierte Abbildung XML – SQL XQuery/XPath-Anfragen möglich Anfragen auch als angepaßte SQL-Anfragen realisierbar (siehe Beispiel angepaßte SQL-Anfrage) Anfragen jedoch sehr ineffizient, wegen Verbund-Operationen über Relation zur Speicherung der Elemente Anfragen(2): (1) einfache Speicherung der Graphenstruktur XquerySQL DB

Modellbasierte Abbildung XML – SQL FOR $i IN //seminar WHERE $i/dozent1=Stolze RETURN $i/thema $i/dozent1 Beispiel: Xquery-Anfrage (1) einfache Speicherung der Graphenstruktur

Modellbasierte Abbildung XML – SQL SELECT a.wert,b.wert FROM Elemente a, Attribute b WHERE a.elementname= thema AND b.attributname= dozent1 AND b.wert = Stolze AND a.DocID = b.DocID Welche anderen Seminare betreut/e Knut Stolze ? Anfrage schon problematisch weil zwischen Elemente und Attribute-Relation gejoint werden muß. Beispiel: angepasste SQL-Anfrage (1) einfache Speicherung der Graphenstruktur

Modellbasierte Abbildung XML – SQL weil Graphenstruktur vollständig abgebildet wird, prinzipiell möglich. jedoch wegen vieler (notwendiger) Joins sehr zeitaufwändig Rekonstruktion: (1) einfache Speicherung der Graphenstruktur

Modellbasierte Abbildung XML – SQL Die Klassenhierarchie des DOM : (2) Speicherung unter Verwendung des DOM

Modellbasierte Abbildung XML – SQL Die Klassenhierarchie des DOM: in relationalen und objektrelationalen Datenbanken wird Node durch die in der nächsten Folie dargestellte Relation abgebildet Speicherung des DOM nicht direkt über Methoden, sondern durch SQL- Anweisungen (SELECT oder UPDATE u.s.w) an die Datenbank (2) Speicherung unter Verwendung des DOM

Modellbasierte Abbildung XML – SQL Die Klasse Node (2) Speicherung unter Verwendung des DOM getNextSibling() getNodeType() getParentNode() getPreviousSibling() hasChildren() insertBefore(´Node,Node) removeChild(Node) replaceChild(Node,Node)

Modellbasierte Abbildung XML – SQL Die Klassen Element & Attr (2) Speicherung unter Verwendung des DOM getAttrbutes() getElementsByTagName(String) getTagName() setAttributes(Attribute) setAttributes(AttributeList) setTagNAme(String) getName() getSpecified() getValue() setName(String) setSpecified(NodeList) setValue(NodeList) toString()

Modellbasierte Abbildung XML – SQL Die Relation Node: (2) Speicherung unter Verwendung des DOM node_idnode_typedoc_idparentp_siblingn_sibling 001elementdbs elementdbs elementdbs elementdbs elementdbs elementdbs elementdbs elementdbs elementdbs elementdbs attributdbs attributdbs attributdbs attributdbs

Modellbasierte Abbildung XML – SQL node_idtag_nametext 001seminar 002themaXML & Datenbanken 003termin adresse 005plz ortFriedrichroda 007strasseDorfstraße 008nummer4 009dauer2 Tage 010teilnehmerzahl12 jeder Methode der einzelnen Klassen wird ein Datenbankattribut zugeordnet Elemente und Attr sind von Node abgeleitet Elemente wieder nach Datentypen in Einzelrelationen zerlegbar Die Relationen Elemente & Attr: (2) Speicherung unter Verwendung des DOM Elemente Attr node_idattr_nameattr_valuespecified 011semesterSS04true 012dozent1Stolzetrue 013dozent2Müllertrue 014iddbs001true

Modellbasierte Abbildung XML – SQL Anfragen: (2) Speicherung unter Verwendung des DOM XPath/XQuery-Anfragen möglich durch Query-Rewriting auf Datenbankanfragen (unter Berücksichtigung des intern gewählten Speichermodells) SQL-Anfragen möglich Ergebnisse werden zurücktransformiert Datenbank-Anfragesprachen einsetzbar im relationalen Datenbank-Modell sind Informationen nicht über die Methoden abfragbar (Methoden in SQL-Anweisungen repräsentiert)

Modellbasierte Abbildung XML – SQL Eigenschaften(1): (2) Speicherung unter Verwendung des DOM unter Verwendung von DOM festes Datenbank-Schema alle Informationen über die Dokumente werden als Werte der DB gespeichert Speicherung unabhängig von Schemabeschreibung XML Dokumente ohne DTD und XML Schema speicherbar (ideal für Dokumente mit häufig wechselnder Struktur)

Modellbasierte Abbildung XML – SQL Eigenschaften(2): (2) Speicherung unter Verwendung des DOM DOM von W3C festgeschrieben über DOM auch UPDATES auf Dokumenten effizient durchführbar, weil keine vollständigen XML-Dokumente geändert werden müssen DOM Information wird vollständig & permanent gespeichert XML-Dokumente sind rekonstruierbar

Modellbasierte Abbildung XML – SQL Eigenschaften(3): (2) Speicherung unter Verwendung des DOM nicht verwendbar bei komplizierten Anfragen Beantworten von Anfragen ist umständlich (langsam) Rekonstruktion sehr aufwändig

Modellbasierte Abbildung XML – SQL Fragen ???