Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Modellbasierte Abbildung XML – SQL Vortrag von Marcus Wenzel Dozenten: Knut Stolze & Peter Müller Seminar XML und Datenbanken."—  Präsentation transkript:

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

2 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:

3 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:

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

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

6 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

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

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

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

10 Modellbasierte Abbildung XML – SQL Beispiel-Relation (Elemente): DocIDElementnameIDVorgängerKind-NrWert dbs001seminar1001 dbs001thema100210011XML & Datenbanken dbs001termin10031001229.05.2004 dbs001adresse100410013 dbs001plz10051004198744 dbs001ort100610042Siegmundsburg dbs001strasse100710043Dorfstraße dbs001nummer1008100444 dbs001dauer1009100142 Tage dbs001teilnehmerzahl10101001512

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

12 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 i00198744 i0024 i00312 Integerwerte Verweis-IDWert d00129.05.2004 Datum

13 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

14 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

15 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

16 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

17 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

18 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

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

20 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

21 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)

22 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()

23 Modellbasierte Abbildung XML – SQL Die Relation Node: (2) Speicherung unter Verwendung des DOM node_idnode_typedoc_idparentp_siblingn_sibling 001elementdbs001--- 002elementdbs001001-003 elementdbs001001002004 elementdbs001001003009 005elementdbs001004-006 elementdbs001004005007 elementdbs001004006008 elementdbs001004007009 elementdbs001001008010 elementdbs001001009- 011attributdbs001001-012 attributdbs001001011013 attributdbs001001012014 attributdbs001001013-

24 Modellbasierte Abbildung XML – SQL node_idtag_nametext 001seminar 002themaXML & Datenbanken 003termin29.05.2004 004adresse 005plz98744 006ortFriedrichroda 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

25 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)

26 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)

27 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

28 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

29 Modellbasierte Abbildung XML – SQL Fragen ???


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

Ähnliche Präsentationen


Google-Anzeigen