Kapitel 11. Kommerzielle Datenbanksysteme für die XML-Verarbeitung. Oracle DB2 mit XML Extender Microsoft SQL Server Tamino Excelon Poet Infonyte
|
|
- Felix Weber
- vor 6 Jahren
- Abrufe
Transkript
1 Kapitel 11 Kommerzielle Datenbanksysteme für die XML-Verarbeitung Oracle DB2 mit XML Extender Microsoft SQL Server Tamino Excelon Poet Infonyte
2 Beispiel: XML-Schema Schema- Dokument <?xml version="1.0"?> <xsd:schema xmlns:xsd=" <xsd:element name="buch" type="buch"/> <xsd:complextype name="buch"> <xsd:sequence> <xsd:element name="autor" type="xsd:string"/> <xsd:element name="titel" type="xsd:string"/> <xsd:element name="untertitel" type="xsd:string"/> <xsd:element name="verlag"> <xsd:complextype> <xsd:simplecontent> <xsd:extension base="xsd:string"> <xsd:attribute name="ort" type="xsd:string"/> </xsd:extension> </xsd:simplecontent> </xsd:complextype> </xsd:element> <xsd:element name="auflage" type="xsd:int" minoccurs="0"/> <xsd:choice minoccurs="0"> <xsd:element name="covertext" type="xsd:string"/> <xsd:element name="beschreibung" type="xsd:string"/> </xsd:choice> </xsd:sequence> <xsd:attribute name="isbn" type="xsd:string"/> <xsd:attribute name="jahr" type="xsd:gyear"/> </xsd:complextype> </xsd:schema> 11-2
3 Beispiel: XML-Dokumente <Buch ISBN=" " Jahr="2003"> <Autor>Meike Klettke</Autor> <Autor>Holger Meyer</Autor> <Titel>XML & Datenbanken</Titel> <Untertitel> XML-Dokumente effizient speichern und verarbeiten </Untertitel> <Verlag Ort="Heidelberg">dpunkt</Verlag> <Beschreibung>Mit der wachsenden... </Beschreibung> </Buch> XML-Dokument buch1.xml <Buch ISBN=" " Jahr="2003"> <Autor>Can Türker</Autor> <Titel>SQL:1999 & SQL:2003</Titel> <Untertitel> Objektrelationales SQL, SQLJ & SQL/XML </Untertitel> <Verlag Ort="Heidelberg">dpunkt</Verlag> <Beschreibung>SQL ist... </Beschreibung> </Buch> XML-Dokument buch3.xml <Buch ISBN=" " Jahr="1997"> <Autor>Gunter Saake</Autor> <Autor>Ingo Schmitt</Autor> <Autor>Can Türker</Autor> <Titel>Objektdatenbanken</Titel> <Untertitel> Konzepte, Sprachen, Architekturen </Untertitel> <Verlag Ort="Bonn"> International Thomson Publishing </Verlag> <Covertext>Dieses Lehrbuch...</Covertext> </Buch> XML-Dokument buch2.xml <Buch ISBN=" " Jahr="2003"> <Autor>Gunter Saake</Autor> <Autor>Kai-Uwe Sattler</Autor> <Titel>Datenbanken & Java</Titel> <Untertitel>JDBC, SQLJ, ODMG & JDO</Untertitel> <Verlag>dpunkt</Verlag> <Auflage>2</Auflage> <Beschreibung> Das Zusammenspiel... </Beschreibung> </Buch> XML-Dokument buch4.xml 11-3
4 Anwendung Oracle9i: Architektur XML-Dokumente Oracle9i Oracle verfolgt den SQL/XML-Ansatz Datenbank 11-4
5 Oracle9i: Architekturübersicht (1) Abbildung aus "Oracle9i - XML Database Developer s Guide - Oracle XML DB, Release 2 (9.2), March 2002" 11-5
6 Oracle9i: Architekturübersicht (2) Abbildung aus "Oracle9i - XML Database Developer s Guide - Oracle XML DB, Release 2 (9.2), March 2002" 11-6
7 Oracle9i: Speicheroptionen Abbildung aus "Oracle9i - XML Database Developer s Guide - Oracle XML DB, Release 2 (9.2), March 2002" 11-7
8 Speicherungsstruktur: Abbildung von XML auf Datenbanken Varianten zur Abbildung von XML auf Datenbanken XML-Column-Ansatz: Spalte basiert auf XML-Datentyp XML-Table-Ansatz: Tabelle basiert auf XML-Datentyp Ausnutzung der objektrelationalen Erweiterung von Oracle XMLTYPE als vordefinierter Objekttyp mit SQL/XML-Funktionen als Methoden Intermedia-Text-Paket mit Volltextfunktionalität DBMS_XMLDOM-Paket mit DOM-Methoden DBMS_XMLSCHEMA-Paket mit Methoden zur Verwaltung und Generierung von XML-Schemata DBMS_XMLGEN-Paket mit Methoden zur Generierung von XML aus SQL Speicherungsansätze textbasiert (unstrukturierte Speicherung als CLOB) strukturbasiert (objektrelationale Speicherung setzt XML-Schema voraus) hybrid (semistrukturiert) 11-8
9 Oracle9i: Speichervarianten Abbildung aus "Oracle9i - XML Database Developer s Guide - Oracle XML DB, Release 2 (9.2), March 2002" 11-9
10 XML-Column Column-Ansatz vs. XML-Table Table-Ansatz Tabelle mit XML-Spalte CREATE TABLE <Tabellenname> (<Spaltenname> XMLTYPE) [XMLTYPE [COLUMN] <Spaltenname> [STORE AS { OBJECT RELATIONAL CLOB (<LOB-Parameter>) }] [XMLSCHEMA <url> ELEMENT [<url>#]<element>]] strukturbasierte Speicherung (erfordert Angabe eines passenden XML-Schemas Schemas) textbasierte Speicherung Default: CLOB Tabelle mit XML-Zeile CREATE TABLE <Tabellenname> OF XMLTYPE [XMLTYPESTOREAS{ OBJECT RELATIONAL CLOB (<LOB-Parameter>) }] [XMLSCHEMA <url> ELEMENT [<url>#]<element>]] 11-10
11 Benutzerdefinierte Funktion getdocument(datei) zum Einlesen von XML-Dokumenten CREATE DIRECTORY xmldir AS 'c:\xmldir'; GRANT READ ON DIRECTORY xmldir TO PUBLIC WITH GRANT OPTION; CREATE FUNCTION getdocument(filename VARCHAR2) RETURN CLOB AUTHID CURRENT_USER IS xbfile BFILE; xclob CLOB; BEGIN xbfile := BFILENAME('xmldir', filename); DBMS_LOB.open(xbfile); DBMS_LOB.createTemporary(xclob, TRUE, DBMS_LOB.session); DBMS_LOB.loadFromFile(xclob, xbfile, DBMS_LOB.getLength(xbfile)); DBMS_LOB.close(xbfile); RETURN xclob; END; / 11-11
12 XML-Column Column-Ansatz Definition einer Tabelle zur Aufnahme von XML-Dokumenten CREATE TABLE Buch ( Inhalt XMLTYPE ) ; Einfügen von Dokumenten INSERT INTO Buch VALUES (XMLTYPE('<Buch ISBN=" " Jahr="2003"> <Autor>Meike Klettke</Autor> <Autor>Holger Meyer</Autor>... </Buch>')); INSERT INTO Buch VALUES (XMLTYPE(getDocument('buch1.xml'))); 11-12
13 XML-Table Table-Ansatz Definition einer Tabelle zur Aufnahme von XML-Dokumenten CREATE TABLE Buch OF XMLTYPE ; Einfügen von Dokumenten INSERT INTO Buch VALUES (XMLTYPE('<Buch ISBN=" " Jahr="2003"> <Autor>Meike Klettke</Autor> <Autor>Holger Meyer</Autor>... </Buch>')); INSERT INTO Buch VALUES (XMLTYPE(getDocument('buch1.xml'))); 11-13
14 Behandlung von XML-Schemata Package DBMS_XMLSCHEMA bietet Routinen zum Registrieren, Übersetzen, Generieren und Löschen von XML-Schemata DBMS_XMLSCHEMA.registerSchema('Schema-URL', 'XML-Schema'); DBMS_XMLSCHEMA.compileSchema('Schema-URL'); DBMS_XMLSCHEMA.generateSchema('Schema', 'Typname'); DBMS_XMLSCHEMA.deleteSchema('Schema-URL', DeleteOption); DELETE_RESTRICT CONSTANT NUMBER := 1; DELETE_INVALIDATE CONSTANT NUMBER := 2; DELETE_CASCADE CONSTANT NUMBER := 3; DELETE_CASCADE_FORCE CONSTANT NUMBER := 4; 11-14
15 Erzeugen einer schemabasierten XML-Tabelle Registrierung des XML-Schemas BEGIN DBMS_XMLSCHEMA.registerSchema('buch.xsd', getdocument('buch.xsd')); END; / Erzeugen der XML-Tabelle CREATE TABLE Buch OF XMLTYPE XMLSCHEMA "buch.xsd" ELEMENT "Buch"; ist äquivalent zu CREATE TABLE Buch OF XMLTYPE ELEMENT "buch.xsd#buch"; 11-15
16 Methoden des XML-Datentyps XMLTYPE (1) XMLTYPE(<Wertausdruck>) ist der Konstruktor Wertausdruck kann eine Zeichenkette oder eine Instanz eines benutzerdefinierten Typs sein getclobval() liefert XML-Wert als CLOB getstringval() liefert XML-Wert als Zeichenkette getnumval() ist nur anwendbar auf einem XML-Wert, der einen Textknoten darstellt, dessen Zeichenkette einer Nummer entspricht isfragment() liefert 1, wenn Instanz mehr als ein Wurzelelement hat existsnode(<xpath-ausdruck Ausdruck>) liefert 1 oder 0, je nach dem, ob der XPath- Ausdruck einen Knoten liefert oder nicht extract(<xpath-ausdruck Ausdruck>) extrahiert einen Teil des XML-Wertes entsprechend eines XPath-Ausdruckes 11-16
17 Methoden des XML-Datentyps XMLTYPE (2) transform(<xml-wertausdruck Wertausdruck>) transformiert einen XML-Wert gemäss einem anderen XML-Wert, der ein Stylesheet repräsentiert toobject() konvertiert einen XML-Wert in einen Objektwert isschemabased() liefert 1, wenn der XML-Wert aus einen vorgegebenen Schema basiert getschemaurl() liefert die URL des Schemas getrootelement() liefert das Wurzelelement (bei XML-Fragmenten Null) createschemabasedxml(<schema-urk URK>) fügt dem XML-Wert ein Schema hinzu createnonschemabasedxml() hebt die Assoziation zu einem Schema auf (falls eine vorhanden war) 11-17
18 Anfragen Unterstützung des SQL/XML-Standards Standards XMLAGG XMLELEMENT XMLATTRIBUTE XMLFOREST Plus weitere Funktionen wie XMLSEQUENCE XMLCOLATTVAL EXTRACT EXISTSNODE etc. Volltextsuche durch Einbindung des Intermedia-Text Text-Pakets 11-18
19 XML-Funktionen basieren auf den XMLTYPE-Methoden Methoden Auswahl von Oracle-XML XML-Funktionen XMLTYPE erzeugt einen XML-Wert aus einem CLOB EXTRACT extrahiert Knoten mittels eines XPath-Ausdruckes EXTRACTVALUE extrahiert einen Knoten mittels eines XPath-Ausdruckes EXISTSNODE überprüft, ob ein bestimmter Knoten existiert XMLELEMENT erzeugt ein XML-Element aus einer Werteliste XMLATTRIBUTES erzeugt XML-Attribute XMLCOLATTVAL liefert einen Wald von XML-Elementen mit Tag <column> XMLFOREST erzeugt einen Wald von XML-Elementen XMLCONCAT konkateniert mehrere XML-Elemente zu einem Wald XMLAGG aggregriert die XML-Elemente einer Gruppe XMLUPDATE manipuliert einen XMLWert 11-19
20 XMLTYPE (1) XMLTYPE(<Zeichenkettenausdruck> ) erzeugt einen XML-Wert Beispiel: Mitarbeiter Name Joe Jim Gehalt SELECT XMLTYPE('<Mitarbeiter Name="' Name '"> <Gehalt>' 12 * Gehalt '</Gehalt> </Mitarbeiter>') AS Angestellte FROM Mitarbeiter; Simulation von XMLGEN partiell möglich (beschränkt auf XPath- Ausdrücke; ; kein XQuery)! Vergleiche mit dem entsprechenden Beispiel aus Kapitel 7 (SQL/XML) Angestellte <Mitarbeiter Name="Joe"> <Gehalt>24000</Gehalt> </Mitarbeiter> <Mitarbeiter Name="Jim"> <Gehalt>42000</Gehalt> </Mitarbeiter> 11-20
21 XMLTYPE (2) SELECT XMLTYPE('<Autoren>' EXTRACT(VALUE(b), '//Autor') '</Autoren>') AS Autorennamen FROM Buch b; AUTORENNAMEN <Autoren> <Autor>Meike Klettke</Autor> <Autor>Holger Meyer</Autor> </Autoren> <Autoren> <Autor>Gunter Saake</Autor> <Autor>Ingo Schmitt</Autor> <Autor>Can Türker</Autor> </Autoren> <Autoren> <Autor>Can Türker</Autor> </Autoren> <Autoren> <Autor>Gunter Saake</Autor> <Autor>Kai-Uwe Sattler</Autor> </Autoren> 11-21
22 EXTRACTVALUE EXTRACTVALUE(<XML-Wertausdruck>, <XPath-Ausdruck>[,<Wertausdruck>]) extrahiert einen durch eine XPath-Anfrage definierten Ausschnitt des XML-Wert, der einem einzelnen Knotenwert entspricht Beispiel: SELECT EXTRACTVALUE(VALUE(b), AS ISBNummer, EXTRACTVALUE(VALUE(b), '//Titel') AS Buchtitel FROM Buch b; ISBNUMMER BUCHTITEL XML & Datenbanken Objektdatenbanken SQL:1999 & SQL:2003 Datenbanken & Java 11-22
23 EXTRACT EXTRACT(<XML-Wertausdruck>, <XPath-Ausdruck>[, <Namensraum>]) extrahiert einen durch eine XPath-Anfrage definierten Ausschnitt des XML-Wertes Beispiel: SELECT EXTRACT(VALUE(b), AS ISBNummer, EXTRACT(VALUE(b), '//Titel/text()') AS Titel_Inhalt, EXTRACT(VALUE(b), '//Titel') AS Titel_Element FROM Buch b; ISBNUMMER TITEL_INHALT XML & Datenbanken Objektdatenbanken SQL:1999 & SQL:2003 Datenbanken & Java TITEL_ELEMENT <Titel>XML & Datenbanken</Titel> <Titel>Objektdatenbanken</Titel> <Titel>SQL:1999 & SQL:2003</Titel> <Titel>Datenbanken & Java</Titel> 11-23
24 EXISTSNODE EXISTSNODE(<XML-Wertausdruck>, <XPath-Ausdruck> [, <Namensraum>]) ergibt 1, wenn die Anfrage auf dem XML-Wert ein nicht-leeres Ergebnis liefert Beispiel: SELECT EXTRACTVALUE(VALUE(b), '//Titel') AS Buchtitel, EXTRACTVALUE(VALUE(b), '//Verlag') AS Verlagsname, EXTRACTVALUE(VALUE(b), '//Autor[1]') AS Erstautor FROM Buch b WHERE EXISTSNODE(VALUE(b), '//Buch[@ISBN=" "]') = 1; BUCHTITEL Objektdatenbanken VERLAGSNAME International Thomson Publishing Erstautor Gunter Saake 11-24
25 XMLELEMENT XMLELEMENT(NAME <Elementname> [, XMLATTRIBUTES(<XML-Attributliste>)] [, <Wertausdrucksliste>]) <XML-Attribut> := <Wertausdruck> [AS <Attributname>] erzeugt ein XML-Element Beispiel: SELECT XMLELEMENT(NAME "ISBNummer", XMLATTRIBUTES(EXTRACTVALUE(VALUE(b), '//Titel') AS TITEL), EXTRACT(VALUE(b), AS ISBN_Element FROM Buch b; ISBN_ELEMENT <ISBNummer TITEL="XML & Datenbanken"> </ISBNummer> <ISBNummer TITEL="Objektdatenbanken"> </ISBNummer> <ISBNummer TITEL="SQL:1999 & SQL:2003"> </ISBNummer> <ISBNummer TITEL="Datenbanken & Java"> </ISBNummer> 11-25
26 XMLCOLATTVAL XMLCOLATTVAL(<XML-Spaltenwerteliste>) <XML-Spaltenwerte>:=<Wertausdruck> [AS <Elementname>] erzeugt XML-Elemente aus SQL-Wertausdrücken Beispiel: SELECT XMLCOLATTVAL(EXTRACTVALUE(VALUE(b), '//Titel') AS Buchtitel, EXTRACTVALUE(VALUE(b), '//Autor[1]') AS Erstautor) AS Buchtitelautor FROM Buch b WHERE EXISTSNODE(VALUE(b), '//Autor[text()="Gunter Saake"]') = 1; BUCHTITELAUTOR <column name="buchtitel">objektdatenbanken</column> <column name="erstautor">gunter Saake</column> <column name="buchtitel">datenbanken & Java</column> <column name="erstautor">gunter Saake</column> 11-26
27 XMLFOREST XMLFOREST(<XML-Forest-Elementliste>) <XML-Forest-Element>:=<Wertausdruck> [AS <Elementname>] erzeugt einen Wald von XML-Elementen mit optionalen Attributen Beispiel: SELECT XMLFOREST(EXTRACTVALUE(VALUE(b), '//Titel') AS Buchtitel, EXTRACTVALUE(VALUE(b), '//Autor[1]') AS Erstautor) AS Buchtitelautor FROM Buch b WHERE EXISTSNODE(VALUE(b), '//Autor[text()="Gunter Saake"]') = 1; BUCHTITELAUTOR <BUCHTITEL>Objektdatenbanken</BUCHTITEL> <ERSTAUTOR>Gunter Saake</ERSTAUTOR> <BUCHTITEL>Datenbanken & Java</BUCHTITEL> <ERSTAUTOR>Gunter Saake</ERSTAUTOR> 11-27
28 XMLCONCAT XMLCONCAT(<XML-Wertausdrucksliste>) konkateniert XML-Elemente zu einem Wald Beispiel: SELECT XMLCONCAT(EXTRACT(VALUE(b), '//Titel'), EXTRACT(VALUE(b), '//Autor[1]')) AS Buchtitelautor FROM Buch b WHERE EXISTSNODE(VALUE(b), '//Autor[text()="Gunter Saake"]') = 1; BUCHTITELAUTOR <Titel>Objektdatenbanken</Titel> <Autor>Gunter Saake</Autor> <Titel>Datenbanken & Java</Titel> <Autor>Gunter Saake</Autor> 11-28
29 XMLAGG XMLAGG(<XML-Wertausdruck>[ORDER BY, <Sortierausdrucksliste>] ) aggregiert die XML-Elemente einer Gruppe Beispiel: SELECT EXTRACTVALUE(VALUE(b), '//Verlag') AS Verlag, XMLAGG(EXTRACT(VALUE(b), '//Titel')) AS Titel FROM Buch b GROUP BY EXTRACTVALUE(VALUE(b), '//Verlag'); VERLAG International Thomson Publishing dpunkt TITEL XML & Datenbanken <Titel>XML & Datenbanken</Titel> <Titel>Datenbanken & Java</Titel> <Titel>SQL:1999 & SQL:2003</Titel> 11-29
30 XMLSEQUENCE XMLSEQUENCE(<XML-Wertausdruck>) erzeugt aus XML-Elementen ein Array von XML-Werten Beispiel: SELECT EXTRACTVALUE(VALUE(b), AS ISBN, XMLSEQUENCE(EXTRACT(VALUE(b), '//Autor')) AS Autoren FROM Buch b WHERE EXISTSNODE(VALUE(b), '//Autor[text()="Gunter Saake"]') = 1; ISBN AUTOREN XMLSEQUENCETYPE(XMLTYPE(<Autor>Gunter Saake</Autor>), XMLTYPE(<Autor>Ingo Schmitt</Autor>), XMLTYPE(<Autor>Can Türker</Autor>)) XMLSEQUENCETYPE(XMLTYPE(<Autor>Gunter Saake</Autor>), XMLTYPE(<Autor>Kai-Uwe Sattler</Autor>)) 11-30
31 Indexierung Indexunterstützung Volltextindex Pfadindex Funktionaler Index (Wertindex) CREATE INDEX xmlfulltextidx ON Buch b (VALUE(b)) INDEXTYPE IS CTXSYS.CONTEXT; CREATE INDEX xmlpfadidx ON Buch b (VALUE(b)) INDEXTYPE IS CTXSYS.CTXXPATH; CREATE INDEX xmlfunktionalidx ON Buch (EXTRACTVALUE(VALUE(b),'//@Jahr')); 11-31
32 Anfrage, die den Pfadindex nutzt: Indexausnutzung SELECT EXTRACTVALUE(VALUE(b), '//Titel') AS Titel FROM Buch b WHERE EXISTSNODE(VALUE(b),'/Buch/Verlag[text()="dpunkt"]') = 1; Anfrage, die den Volltextindex nutzt: SELECT SCORE(0), EXTRACT(VALUE(b), '//@ISBN') AS ISBN FROM Buch b WHERE CONTAINS(VALUE(b), 'Java', 0) > 0 ORDER BY SCORE(0) DESC; Anfrage, die den funktionalen Index nutzt: SELECT EXTRACTVALUE(VALUE(b), '//Titel') AS Titel FROM Buch b WHERE EXTRACTVALUE(VALUE(b),'//@Jahr') = 2003; 11-32
33 Manipulation UPDATEXML UPDATEXML(<XML-Wertausdruck>, <Ersetzungsliste>[,<Namensraum>]) <Ersetzung> := <XPath-Ausdruck>,<Wert-Ausdruck> ändert einen durch eine XPath-Anfrage definierten Ausschnitt des XML-Wertes Beispiel: UPDATE Buch b SET VALUE(b) = UPDATEXML(VALUE(b), '//Verlag[text()="dpunkt"]/@Ort', 'Zürich'); Buch SYS_NC_ROWINFO$ <Buch ISBN=" " Jahr="2003">... <Verlag Ort="Zürich">dpunkt-Verlag</Verlag>... </Buch> <Buch ISBN=" " Jahr="1997">... <Verlag Ort="Bonn">International Thomson Publishing</Verlag>... </Buch> <Buch ISBN=" " Jahr="2003">... <Verlag Ort="Zürich">dpunkt-Verlag</Verlag>... </Buch> <Buch ISBN=" " Jahr="2003">... <Verlag Ort="Zürich">dpunkt-Verlag</Verlag>... </Buch> 11-33
34 XML-Sichten ermöglichen XML-basierte Sicht auf SQL- bzw. XML-Werte basieren auf dem Prinzip der Objektsichten der Objekttyp ist hier XMLTYPE Beispiel: CREATE VIEW DpunktBuch OF XMLTYPE WITH OBJECT ID DEFAULT AS SELECT VALUE(b) FROM Buch b WHERE EXISTSNODE(VALUE(b), '//Verlag[text()="dpunkt"]') = 1; 11-34
35 Export von Datenbankinhalten mit XML-Syntax Standardabbildung: : SQL ô XML mit Spalten ergeben Elemente der ersten Ebene (top level) Einfache Typen (mit skalaren Werten) als Elemente mit PCDATA Strukturierte Typen und ihre Attribute auf Elemente mit Subelementen für die Attribute abgebildet Komplexe Attribute als hierarchisch geschachtelte Elemente Aus Kollektionstypen werden Listen von Elementen Objektreferenzen und referenzielle Integritätsbedingungen werden auf ID/IDREF innerhalb eines Dokuments abgebildet Tabelleninhalt wird auf ROWSET-Elemente abgebildet < ROWSET> </ ROWSET> DBMS_XMLGEN.getXML('Anfrage') <ROW num="1"> </ROW> <ROW num="n"> </ROW> Benutzerdefinierte Transformation von SQL nach XML mit XSLT möglich 11-35
36 Zusammenfassung Oracle-XML XML-Unterstützung Modell Schemabeschreibung Art der Speicherung Abbildungen von DB auf XML XML-Datentyp Wert-/Funktionsindex Volltextindex Pfadindex Anfragen Volltextsuche Manipulationen XML-Speicherung erweiterbar, objektrelational Validierung möglich text- oder strukturbasiert durch XML-Funktionen, Schemageneratoren, XML-Sichten vorhanden Indexe vorhanden vorhanden vorhanden Anfragen und Manipulation SQL-Methoden mit XPath 1.0 mit dem Intermedia-Text Text-Erweiterungspaket SQL-Methoden mit XPath
37 Kritik des Ansatzes von Oracle Gute Unterstützung von Standards XPath 1.0 XML-Schema SQL/XML Besonderheiten: XML-Sichten Tools für Export und Import von XML-Schemata XSLT-Prozessor, XML-Prozessoren (DOM, SAX), XML-Schema Validator Problem: zu viele parallele, redundante Ansätze Konsolidierung erforderlich! Hier nicht weiter betrachtet! 11-37
38 IBM DB2 mit XMLExtender: : Architektur Anwendung XML-Dokumente DAD Document Access Definition DB2 XML Extender IBM DB2 Datenbank Dateisystem Dateisystem Dateisystem Dateisystem 11-38
39 Abbildung zwischen XML und SQL Abbildungen aus "IBM DB2 Universal Database XML Extender Administration and Programming, Version " 11-39
40 Speicherungsstruktur: Abbildung von XML auf Datenbanken Varianten zur Abbildung von XML auf Datenbanken XML-Column-Ansatz: basiert auf XML-Datentyp XML-Collection-Ansatz: basiert auf Zerlegung der XML-Dokumente in Datenbanktabellen und -spalten Tabellen mit XML-Spalten (Ansatz: XML-Column Column) Diverse XML-Datentypen XMLCLOB: XML-Dokumente als CLOBs gespeichert XMLVARCHAR: XML-Dokumente als VARCHARs gespeichert XMLFILE: XML-Dokumente im Dateisystem gespeichert Zusätzliche materialisierte Sichten: Extraktion von ausgewählten XML-Inhalten aus den Dokumenten Materialisierung dieser Inhalte in sog. Seitentabellen Seitentabellen werden in der Document Access Definition (DAD) definiert Methoden zur Verarbeitung von XML-Dokumenten ergänzen XML-Datentypen besprechen wir später 11-40
41 Erzeugen der Tabellen mit XML-Typen und Einfügen von Dokumenten Einrichten der XML-Erweiterungen für die Datenbank über XML Extender Admin Wizard oder Command Window > dxxadm enable_db XMLDB XMLDB heisst hier unsere Beispieldatenbank Definition der Tabellen zur Aufnahme von XML-Dokumenten Variante 1: Erzeugen mit dem XML Extender Admin Wizard Variante 2: SQL CREATE TABLE Buch ( Inhalt DB2XML.XMLVARCHAR ) Einfügen eines XML-Dokuments INSERT INTO Buch (Inhalt) VALUES (DB2XML.XMLVARCHARFromFile('C:\XMLDIR\buch01.xml')) 11-41
42 Definition der Abbildung durch eine DAD mit dem XML-Column Column-Ansatz Document Access Definition (DAD) Beschreibung der Abbildungen zwischen XML und Datenbanktabellen über ein XML-Dokument, das sog. DAD-Dokument (im Dateisystem) Syntax für den XML-Column Column-Ansatz (spezifiziert in dad.dtd von IBM): Tabellen-Element: <table> Attribut Tabellenname: name="tabname" Spalten-Element: <column> Attribut Spaltenname: name="colname" Attribut Datentyp: type="typespecifier" Attribut Pfad im XML-Dokument: path="xpath-" multi_occurrence="boolean" Beim Registrieren der DAD werden die Seitentabellen und Trigger zu deren Wartung automatisch erzeugt C:\> dxxadm enable_column DBName Tabellenname XMl-Attributname DADName Beispiel: C:\> dxxadm enable_column XMLDB Buchlob Inhalt buch.dad 11-42
43 Beispiel für eine XML-Column Column-DAD <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE DAD SYSTEM "C:\XMLDIR\dad.dtd"> <DAD> <dtdid>buch.dtd</dtdid> <validation>yes</validation> <Xcolumn> <table name="buch"> <column name="isbn" type="varchar(20)" multi_occurrence="no"/> <column name="jahr" type="varchar(4)" multi_occurrence="no"/> <column name="titel" type="varchar(80)" path="/buch/titel" multi_occurrence="no"/> <column name="untertitel" type="varchar(80)" path="/buch/untertitel" multi_occurrence="no"/> <column name="verlag" type="varchar(50)" path="/buch/verlag" multi_occurrence="no"/> <column name="verlagsort"type="varchar(50)" multi_occurrence="no"/> <column name="auflage" type="varchar(2)" path="/buch/auflage" multi_occurrence="no"/> </table> <table name="buchautor"> <column name="autor" type="varchar(50)" path="/buch/autor" multi_occurrence="yes"/> </table> </Xcolumn> </DAD> Autoren können in den Dokumenten mehrfach auftreten IBM's DTD für DAD's Angabe einer DTD, die das DAD erfüllen muss 11-43
44 XML-Column Column-Ansatz für die Beispiel-Dokumente XML-Tabelle Buchlob ROOT_ID Inhalt 1 <Buch>...</Buch> 2 <Buch>...</Buch> 3 <Buch>...</Buch> DAD- Spezifikation Trigger überwachen Laden der Dokumente Aus der DAD generiert das DBMS automatisch die korrespondierenden Seitentabellen Seitentabelle Buchautor ROOT_ID SEQNO Autor Meike Klettke Holger Meyer Gunter Saake... Seitentabelle Buch ROOT_ID ISBN Jahr Titel Untertitel Verlag Verlagsort Auflage XML & Datenbanken XML-Dok dpunkt Heidelberg Objektdatenbanken Konzepte, ITP Bonn SQL:1999 & SQL:2003 Objekt dpunkt Heidelberg Datenbanken & Java JDBC, dpunkt Heidelberg
45 Definition der Abbildung durch eine DAD mit dem XML-Collection Collection-Ansatz Zerlegung von XML-Dokumenten Abbildung von XML auf Datenbank dxxinsertxml() arbeitet auf XML-Kollektionen mit fester DAD dxxshredxml() arbeitet auf XML-Kollektionen mit variabler DAD Abbildung von Datenbank auf XML dxxretrievexml() arbeitet auf XML-Kollektionen mit fester DAD dxxgenxml() arbeitet auf XML-Kollektionen mit variabler DAD Aufruf dieser Stored Procedures nur aus einem Anwendungsprogramm möglich!!! Aufruf aus dem Anwendungsprogramm ist nicht akzeptabel, daher hier nicht weiter ausgeführt 11-45
46 Definition der Abbildung durch eine DAD mit dem XML-Collection Collection-Ansatz DAD-DTD DTD stellt verschiedene XML-Elemente zur Verfügung, um die Abbildung zwischen Datenbank und XML festzulegen Element SQL_stmt: Angabe einer SQL-Anfrage Element prolog: Angabe des Prologs zum XML-Dokument Element element_node: Definition von Zielelementen Attribut name: Tag des Zielelements Element attribute_node: dito XML-Attribute Attribut name: Name des Zielattributs Element column: Bezug zur Spalte im Anfrageergebnis Umgekehrte Abbildung von XML auf Datenbankinhalten ist auch möglich Element RDB_node anstelle von SQL_stmt Angabe von Tabellennamen und evtl. Join-Bedingungen 11-46
47 Vorgehen: Abbildung von SQL nach XML Spezifiziere XML-Collection Collection-DAD (z.b( z.b. buchcol.dad; siehe nächste Folie) Erzeuge entsprechende Zieltabelle,, die eine XML-Spalte enthält CREATE TABLE result_tab (Inhalt DB2XML.XMLVARCHAR) Generiere XML-Collection (Fülle( Zieltabelle mit generierten XML-Werten Werten) ) C:\> dxxgenx XMLDB C:\XMLDIR\buchcol.dad result_tab 11-47
48 Beispiel für eine XML-Collection Collection-DAD <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE DAD SYSTEM "C:\XMLDIR\dad.dtd"> <DAD> <validation>no</validation> <Xcollection> <SQL_stmt> SELECT ISBN, Titel, Verlag, Verlagsort FROM Buch ORDER BY ISBN </SQL_stmt> <prolog>?xml version="1.0"?</prolog> <root_node> <element_node name="buch"> <attribute_node name="isbn"> <column name="isbn"/> </attribute_node> <element_node name="titel"> <text_node><column name="titel"/></text_node> </element_node> <element_node name="verlag"> <attribute_node name="ort"> <column name="verlagsort"/> </attribute_node> <text_node><column name="verlag"/></text_node> </element_node> </element_node> </root_node> </Xcollection> </DAD> 11-48
49 Generierte XML-Collection SELECT * FROM result_tab <?xml version="1.0"?> <Buch ISBN=" "> <Titel>Objektdatenbanken</Titel> <Verlag Ort="Bonn">International Thomson Publishing</Verlag> </Buch> <?xml version="1.0"?> <Buch ISBN=" "> <Titel>XML & Datenbanken</Titel> <Verlag Ort="Bonn">dpunkt</Verlag> </Buch> <?xml version="1.0"?> <Buch ISBN=" "> <Titel>SQL:1999 & SQL:2003</Titel> <Verlag Ort="Bonn">dpunkt</Verlag> </Buch> <?xml version="1.0"?> <Buch ISBN=" "> <Titel>Datenbanken & Java</Titel> <Verlag Ort="Bonn">dpunkt</Verlag> </Buch> 11-49
50 Anfragen XML-Extender XML-Erweiterung bietet Funktionen für Anfragen und Manipulationen Extract-Funktionen: DB2XML.EXTRACT<Datentyp>(<XML-Wertausdruck>, <XPath-Ausdruck>) Beispiel: SELECT a.returnedvarchar FROM Buchlob, TABLE(DB2XML.EXTRACTVARCHARS(Inhalt, '//Autor')) a Begrenzte Unterstützung des SQL/XML-Standards Standards XMLAGG XMLELEMENT XMLATTRIBUTE 11-50
51 ExtractXXX(<XML (<XML-Wertausdruck>, <XPath< XPath-Ausdruck>) Abbildung aus "IBM DB2 Universal Database XML Extender Administration and Programming, Version 8, 2002" 11-51
52 XMLVARCHAR DB2XML.XMLVARCHAR(<Zeichenkettenausdruck> ) erzeugt einen XML-Wert Beispiel: SELECT DB2XML.XMLVARCHAR('<isbn>' ISBN '</isbn>') AS ISBN_Element FROM Buch ISBN_ELEMENT <ISBNummer> </ISBNummer> <ISBNummer> </ISBNummer> <ISBNummer> </ISBNummer> <ISBNummer> </ISBNummer> 11-52
53 XMLELEMENT XMLELEMENT(NAME <Elementname> [, XMLATTRIBUTES(<XML-Attributliste>)] [, <Wertausdrucksliste>]) <XML-Attribut> := <Wertausdruck> [AS <Attributname>] erzeugt ein XML-Element Beispiel: SELECT VARCHAR(XML2CLOB(XMLELEMENT( NAME "ISBNummer", XMLATTRIBUTES(Titel), ISBN))) AS ISBN_Element FROM Buch ISBN_ELEMENT <ISBNummer TITEL="XML & Datenbanken"> </ISBNummer> <ISBNummer TITEL="Objektdatenbanken"> </ISBNummer> <ISBNummer TITEL="SQL:1999 & SQL:2003"> </ISBNummer> <ISBNummer TITEL="Datenbanken & Java"> </ISBNummer> 11-53
54 XMLAGG XMLAGG(<XML-Wertausdruck> aggregiert die XML-Elemente einer Gruppe Beispiel: SELECT Verlag, VARCHAR(XML2CLOB(XMLAGG(XMLELEMENT(NAME "Titel", Titel)))) AS Titel FROM Buch GROUP BY BY Verlag VERLAG International Thomson Publishing dpunkt TITEL XML & Datenbanken <Titel>XML & Datenbanken</Titel> <Titel>Datenbanken & Java</Titel> <Titel>SQL:1999 & SQL:2003</Titel> 11-54
55 Manipulation Manipulationen über spezielle Methoden der XML-Typen möglich Syntax: DB2XML.UPDATE(<XML-Wertausdruck>, <XPath-Ausdruck>, <NeuerWert>) Beispiel UPDATE Buchlob SET Inhalt = DB2XML.UPDATE(Inhalt, '//Verlag[text()="dpunkt"]/@Ort', 'Zürich') Mit dem XML-Column Column-Ansatz werden die Änderungen automatisch auf den Seitentabellen nachgezogen 11-55
56 Indexierung Indexunterstützung Wertindexe (B-Baum, Bitmap, etc.) auf den Seitentabellen Volltextindex (mit Text Extender) auf den XML-Typen Erweiterung des Volltextindex für IR auf XML Mitführen der Pfadinformation im Index Unterstützung für Pfadausdrücke Beispiel: contains-ausdruck enthält im zweiten Parameter eine Query für den Text Extender SELECT Inhalt FROM Buchlob WHERE contains(dscrhandel, MODEL order SECTION(//Buch/Covertext) "Datenbank" ) = 1 Retrievalmodell Pfadausdruck zur Einschränkung der Suche 11-56
57 Zusammenfassung IBM DB2 XML-Unterstützung Modell Schemabeschreibung Art der Speicherung Abbildungen von DB auf XML XML-Datentyp Wertindex Volltextindex Pfadindex Anfragen Volltextsuche Manipulationen XML-Speicherung erweiterbar, objektrelational Validierung bei Import möglich textbasiert oder benutzerdefiniert-strukturbasiert durch DAD vorhanden Indexe Standard-DBS DBS-Indexe auf Seitentabellen mit TextExtender nur im TextExtender Anfragen und Manipulation SQL-Methoden mit XPath-Dialekt mit TextExtender SQL-Methoden mit XPath-Dialekt 11-57
58 Kritik des Ansatzes von DB2 Schlechte Unterstützung von Standards DAD statt XML-Schema Eigener XPath-Dialekt anstatt XPath 1.0 Keine volle Unterstützung von SQL/XML Schlechte Integration der Tools mit dem Komplettsystem bzw. SQL Umständliches Aktivieren von XML-Unterstützung für Datenbanken, Tabellen Unnötige Koexistenz verschiedener, teilweise redundanter Ansätze Beispiel: XML-Unterstützung durch XML Extender vs. SQL/XML-Funktionalität Keine Unterstützung modellbasierter Abbildungen Vieles befindet sich offensichtlich noch im Beta-Stadium, auch wenn es offiziell schon lange released ist! 11-58
7. XML-Datenbanksysteme und SQL/XML
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
MehrXML in Oracle 12c. Wolfgang Nast
XML in Oracle 12c Wolfgang Nast Agenda Vorstellung der Möglichkeiten Klassisch XDB Beispiel XML Schema Umsetzung klassisch Umsetzung XDB Zusammenfassung 2 XML in Oracle 12c Im Überblick Technologie-orientiert
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. XMLType. Christian Senger/Andreas Schmidt XMLType 1/32
XMLType Christian Senger/Andreas Schmidt XMLType 1/32 XMLType von Oracle vordefinierter Typ zur Speicherung von nativen XML-Dokumenten unterstützt verschiedene Speichermodelle für XML structured storage
MehrXML in Oracle. Workshop. Ing. Markus Gamperl
XML in Oracle Workshop Ing. Markus Gamperl mariahilferstraße 52, 1070 wien, österreich tel.: +43-1-5326852-0 fax: +43-1-5326852-20 w w w. j o y n - i t. a t Inhalt Teil 1 Oracle 9i/10g XML-Datenbank 1)
MehrObjekt-relationales Datenbanksystem Oracle
Objekt-relationales Datenbanksystem Oracle 1 Benutzerdefinierte Datentypen 1.1 Unvollständige Typen create-incomplete-type OR 1.2 Kollektionstypen REPLACE TYPE type-name create-varray-type OR TYPE type-name
Mehr7. XML-Datenbanksysteme und SQL/XML
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
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II - WS 2016 SQLX. Andreas Schmidt Oracle und XML (SQLX) 1/15
SQLX Andreas Schmidt Oracle und XML (SQLX) 1/15 SQLX Standard XML Standard für SQL Reihe von Funktionen zur Unterstützung der Ausgabe von XML mittels SQL- Select-Statements Momentan in Oracle 11g implementiert:
MehrMicrosoft SQL Server 2000: Architektur
Microsoft SQL Server 2000: Architektur Anwendung XML-Dokumente Internet Information Server (IIS) ADO Middleware SQLOLEDB MS SQL Server 2000 Datenbank 11-59 Abbildung von XML auf Datenbanken Drei Varianten
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015 SQLX. Christian Senger/Andreas Schmidt Oracle und XML (SQLX) 1/14
SQLX Christian Senger/Andreas Schmidt Oracle und XML (SQLX) 1/14 SQLX Standard XML Standard für SQL Reihe von Funktionen zur Unterstützung der Ausgabe von XML mittels SQL- Select-Statements Momentan in
MehrXML in der Oracle Datenbank
XML in der Oracle Datenbank Oracle XML DB Eine kurze Einführung Gruppe A Michaela Geierhos Galina Hinova Maximilian Schöfmann AGENDA Warum XML in einer Datenbank? Was bietet die Oracle XML DB? Unterschiedliche
MehrXML-Datenaustausch in der Praxis Projekt TOMIS bei der ThyssenKrupp Stahl AG
Mittwoch, 9. November 2005 13h00, Bruno-Schmitz-Saal 18. Deutsche ORACLE-Anwenderkonferenz XML-Datenaustausch in der Praxis Projekt TOMIS bei der ThyssenKrupp Stahl AG Volker Husemann Thyssen Krupp Stahl
MehrDatenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen
Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Übersicht Semistrukturierte Daten Dokumenttypdefinition XML-Schema XML aus Datenbank konstruieren XML in Datenbank speichern Merkmale
MehrKapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023
Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten
MehrXML in der Oracle Datenbank "relational and beyond"
XML in der Oracle Datenbank "relational and beyond" Ulrike Schwinn (Ulrike.Schwinn@oracle.com) Oracle Deutschland GmbH Oracle XML DB Ein Überblick 1-1 Agenda Warum XML in der Datenbank? Unterschiedliche
MehrObjektrelationale Datenbanken
Objektrelationale Datenbanken Ein Lehrbuch von Can Türker, Gunther Saake 1. Auflage Objektrelationale Datenbanken Türker / Saake schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG dpunkt.verlag
MehrGrundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB
Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Jörg Liedtke, Oracle Consulting Vortrag zum Praxis-Seminar B bei der KIS-Fachtagung 2007, Ludwigshafen Agenda
MehrSQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar
Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-
MehrInhalt. 1 Einleitung Warum dieses Buch? Der rote Faden Danksagung URL zum Buch 4. TEIL I Einführung 5
Inhalt 1 Einleitung 1 1.1 Warum dieses Buch? 1 1.2 Der rote Faden 2 1.3 Danksagung 3 1.4 URL zum Buch 4 TEIL I Einführung 5 2 XML-Grundlagen 7 2.1 Einleitung 7 2.2 WasistXML? 7 2.3 Dokumenttypen und Namensräume
Mehr4. Objektrelationales Typsystem Kollektionstypen. Nested Table
Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen
MehrDynamische Generierung von XML
Kunde: DOAGNews Ort, Datum: Artikel im Heft Q3 / 2005 Thema / Themen: Projekt: Autor: Artikel von merlin.zwo Dynamische Generierung von XML In Hakon Lugert Oracle & Technologien Systementwicklung Individuelle
MehrHochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.
Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.
MehrXML, QPATH, XQUERY: NEUE KONZEPTE FÜR DATENBANKEN. 4. Übung SQL/XML
XML, QPATH, XQUERY: NEUE KONZEPTE FÜR DATENBANKEN 4. Übung SQL/XML Agenda 2 XML zum Abbilden von DB-Inhalten Motivation Abbildungsvorschriften Vollständige Abbildung mithilfe von XML-Schema Beispiel Laender
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. noch einmal. XQuery... Andreas Schmidt Oracle XQuery 1/12
noch einmal XQuery... Andreas Schmidt Oracle XQuery 1/12 Oracle XML DB Repository Fakultät für Informatik & Wirtschaftsinformatik Erlaubt Speichern von Dokumenten wie in einem Filesystem (Daten liegen
MehrObjektrelationale und erweiterbare Datenbanksysteme
Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler
MehrSQL structured query language
Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query
MehrSpeicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer
Speicherung von XML in (objekt-)relationalen Datenbanken Burkhard Schäfer Übersicht Motivation Anforderungen Ansätze modellorientiert strukturorientiert Zusammenfassung Motivation Warum XML in Datenbanken
MehrKapitel 6 Abbildung von Datenbanken auf XML
Kapitel 6 Abbildung von Datenbanken auf XML Standardabbildung von Tabellen Standardabbildung von Anfrageergebnissen Individuelle Abbildungsvorschriften Anforderungen an die Generierung von XML-Dokumenten
MehrLösungen zum Praktikum XML-Technologien XML-Grammatiken
Lösungen zum Praktikum XML-Technologien XML-Grammatiken Aufgabe 1: XML Schema xsdbuecherdocument.xsd 28.Oktober 2010 Raffaella Riccato
MehrSeminar XML und Datenbanken Andreas Krug. XML -Unterstützung durch IBM DB2
Seminar XML und Datenbanken Andreas Krug XML -Unterstützung durch IBM DB2 Fahrplan 1. XML-enabled Unterstützung vs. native XML Unterstützung 2. Nachteile der relationalen XML- Unterstützung 3. Native XML-Verarbeitung
MehrEs geht also im die SQL Data Manipulation Language.
1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.
MehrKapitel 6: SQL und XML
6. SQL und XML Seite 1 Kapitel 6: SQL und XML Wie können die Inhalte einer Datenbank als XML-Dokumente exportiert werden (Publizieren von XML? Wie können die Inhalte eines XML-Dokumentes in eine Datenbank
MehrNeuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching
Neuerungen in 12.2 Marco Patzwahl MuniQSoft GmbH Unterhaching Schlüsselworte Neuerungen in 12.2, DBA Einleitung Jede neue Datenbankversion bringt diverse Neuerungen mit. Nur welche sind wichtig und welche
MehrKapitel 7 SQL/XML. Teil des SQL-Standards Standards SQL:2003. Part-Standard. ISO/IEC 9075-n:2003. Multi-Part
Kapitel 7 SQL/XML Teil des SQL-Standards Standards SQL:2003 Der Basisdatentyp XML Abbildung zwischen SQL und XML SQL und XQuery Multi-Part Part-Standard ISO/IEC 9075-n:2003 Part 1: SQL/Framework (92 Seiten)
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)
Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)
MehrÜbersicht der wichtigsten MySQL-Befehle
Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit
MehrFunktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion
Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert
MehrKapitel 7 SQL/XML. Teil des zukünftigen Datenbankstandards SQL:2003. Der Basisdatentyp XML Abbildung zwischen SQL und XML SQL und XQuery
Kapitel 7 SQL/XML Teil des zukünftigen Datenbankstandards SQL:2003 Der Basisdatentyp XML Abbildung zwischen SQL und XML SQL und XQuery Multi-Part Part-Standard ISO/IEC 9075-n:200 n:200x Part 1: SQL/Framework
MehrKomplexe XML-Dokumente über XSU und Objekt-Typen aus der Datenbank generieren
Komplexe XML-Dokumente über XSU und Objekt-Typen aus der Datenbank generieren Autor: Norbert Bahn, Opitz Consulting DOAGNews Q3_2005 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten
MehrDatenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs])
Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs]) Hochschule für Technik, Wirtschaft und Kultur Leipzig 06.06.2008 Datenbanken II,Speicherung und Verarbeitung großer Objekte
MehrXML-Abfragen der neuen Art: XQuery
Mittwoch, 9. November 2005 15h00, Bruno-Schmitz-Saal XML-Abfragen der neuen Art XQuery Carsten Czarski ORACLE Deutschland GmbH, München Ulrike Schwinn ORACLE Deutschland GmbH, München Schlüsselworte XML,
MehrRudolf Jansen. Oracle, Java, XML. Integration in Oracle9/
Rudolf Jansen Oracle, Java, XML Integration in Oracle9/ Software & Support Verlag 2003 Inhaltsverzeichnis VORWORT 11 1 EINLEITUNG 13 1.1 ZIELGRUPPE 13 1.2 LERNWEGE 14 1.3 HISTORIE 16 1.3.1 Entwicklung
MehrOracle 10g Einführung
Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes
MehrOracle XML DB: XML Schema Handling für Entwickler und Administratoren
Oracle XML DB: XML Schema Handling für Entwickler und Administratoren Annegret Warnecke Oracle Deutschland GmbH Berlin Schlüsselworte: Orale XML DB, XML Schema, XML Schema Registrierung, Annotationen,
MehrPRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname
Gruppe B Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 27. 6. 2007 Kennnr.
MehrProjektseminar Texttechnologische Informationsmodellierung
Projektseminar Texttechnologische Informationsmodellierung XQuery Ziele der Sitzung Nach dieser Sitzung sollten Sie: XQuery als wesentlichen Standard zur Abfrage von in XML kodierten Daten kennen Mit Hilfe
MehrDatenbanken SQL. Insert, Update, Delete, Drop. Krebs
Datenbanken SQL Insert, Update, Delete, Drop Krebs Inhalt 1. Datensätze einfügen: INSERT 2. Datensätze verändern: UPDATE 3. Datensätze löschen: DROP vs. DELETE Beispiel Datenbank Schule Klasse P_Klasse
MehrDie Anweisung create table
SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl
MehrUlrike Schwinn Dipl.-Math. Oracle Deutschland GmbH. Kultur und Informatik - Datenverwaltung 04.Juli 2007
,QVHUW3LFWXUH+HUH! 1LFKWUHODWLRQDOH'DWHQLQGHU2UDFOH'DWHQEDQN Ulrike Schwinn Dipl.-Math. Oracle Deutschland GmbH Kultur und Informatik - Datenverwaltung 04.Juli 2007 'DWHQRUJDQLVDWLRQ *HWUHQQWH'DWHQKDOWXQJ
Mehr1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken
1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken Grundlagen: Datenbank im XML-Kontext Einsatzszenarien MS SQL Server und Oracle Datenbank im
MehrEinführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)
Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrBäume in RDBMS. Enthalten beide: Nested-Set Model of Trees
Bäume in RDBMS Literatur: A Look at SQL Trees by Joe Celko, online under: http://www.dbmsmag.com/9603d06.html Managing Hierarchical Data in MySQL by Mike Hillyer: http://dev.mysql.com/tech-resources/articles/hierarchical-data.html
MehrAbbildung von Datenbanken auf XML
Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Übung 8 XML und Datenbanken WS 04/05 Institut für Informationssysteme Dr.C.Türker Beispiellösung Abbildung von Datenbanken
MehrXML-Schnittstellen zum Import und Export von Daten für eine Oracle DB Ein Erfahrungsbericht DOAG 2006
XML-Schnittstellen zum Import und Export von Daten für eine Oracle DB Ein Erfahrungsbericht DOAG 2006 Dr. Wolfgang Braunisch Opitz Consulting GmbH Seite 1 Gliederung Anforderungsszenario Lösungsalternativen
MehrAuf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13
Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung
MehrEntwicklung eines Tutorials für XQuery
Informatik Dimitar Menkov Entwicklung eines Tutorials für XQuery Development of a Tutorial for XQuery Masterarbeit Bibliografische Information der Deutschen Nationalbibliothek: Die Deutsche Bibliothek
MehrValidating XML Parser. Application. XML-Datei XML-Datei XML-Datei XML-Datei XML-Datei. XML-Schema oder DTD
XML-Schema oder DTD XML-Datei XML-Datei XML-Datei XML-Datei XML-Datei Validating XML Parser Application SQL 2003 Part 14: XML-Related Specifications (SQL/XML) This part of ISO/IEC 9075 defines ways in
MehrErzeugung und Veränderung von Tabellen
Datenbanken - Objekte Erzeugung und Veränderung von Tabellen Objekt Tabelle View Sequence Index Synonym Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen
MehrRelationales Datenbanksystem Oracle
Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information
MehrAuf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13
Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel
Mehr<Insert Picture Here> XML DB Vorlesung Ulrike Schwinn Teil 3
XML DB Vorlesung Ulrike Schwinn Teil 3 Agenda XQuery-Abfragesprache Query Rewrite XMLTYPE- Tabellen und Views Speicherform Binary XML Vergleich der Speicherformen Operationen im Überblick
MehrÜberblick Felix Naumann. Zugriffsrechte Zugriffsrechte erzeugen Zugriffsrechte prüfen Zugriffsrechte vergeben Zugriffsrechte entziehen
Datenbanksysteme I Zugriffskontrolle (kleiner Einschub) 18.1.2007 Felix Naumann Überblick 2 Zugriffsrechte Zugriffsrechte erzeugen Zugriffsrechte prüfen Zugriffsrechte vergeben Zugriffsrechte entziehen
MehrDBMS für spezielle Anwendungen XML als Mittel der Datenbank-Interoperabilität
DBMS für spezielle Anwendungen XML als Mittel der Datenbank-Interoperabilität Seminarvortrag von D. Zimmermann 26-Februar-2004 Gliederung Datenbanken und Interoperabilität Begriffe Bedarf Ansätze XML als
MehrAllgemeines. veröffentlicht unter http://www.profv.de/uni/ lizensiert unter. Creative Commons BY-SA 3.0. XQuery in MS SQL Server 2005
Volker Grabsch 14. Januar 2008 Allgemeines veröffentlicht unter http://www.profv.de/uni/ lizensiert unter Creative Commons BY-SA 3.0 Quelle Dieser Vortrag basiert auf dem Paper XQuery Implementation in
MehrIn diesem Abschnitt wollen wir uns mit dem Thema XML Datenbank beschäftigen. Das Ziel ist, herauszufinden, was XML Datenbank überhaupt sind und was
1 In diesem Abschnitt wollen wir uns mit dem Thema XML Datenbank beschäftigen. Das Ziel ist, herauszufinden, was XML Datenbank überhaupt sind und was die wichtigsten Konzepte sind. Den Themenbereich XML
MehrTransit-Abkommen Mit Views XML relational speichern
Transit-Abkommen Mit Views XML relational speichern Autor: Ulrich Vogel, ORACLE Deutschland GmbH DOAGNews Q3_2004 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere
MehrMichael Seemann. Native XML-Datenbanken im Praxiseinsatz
Michael Seemann Native XML-Datenbanken im Praxiseinsatz Software & Support Verlag GmbH Frankfurt 2003 Inhaltsverzeichnis VORWORT 13 1 XML IN DATENBANKEN 15 1.1 DATEN ODER DOKUMENTE 15 1.2 SEMISTRUKTURIERTE
MehrXML-Dokumente und die Oracle-Datenbank
XML-Dokumente und die Oracle-Datenbank Carsten Czarski Business Unit Database Oracle Deutschland GmbH Warum XML in der Datenbank...? www.decus.de 1 ... und nicht einfach im Dateisystem? Warum XML in der
MehrMySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.
MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt
MehrInhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15
Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................
MehrKlausur zur Vorlesung Einführung in XML
Nachname: Klausur zur Vorlesung Einführung in XML MUSTERLÖSUNG Vorname: Matr.Nr.: Studiengang: Bearbeiten Sie alle Aufgaben! Hilfsmittel sind nicht zugelassen. Die Bearbeitungszeit ist 90 Minuten. Aufgabe
MehrPostgreSQL Ein Überblick
26. August 2007 Agenda Neue Funktionen im Bereich SQL, XML und Volltextsuche Geschwindigkeitsverbesserungen Neue Erweiterungen (contrib) XML (1) Neuer Datentyp xml ( well-formedness ) Viele Funktionen
MehrBibliografische Informationen digitalisiert durch http://d-nb.info/995021198
Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen
MehrPRÜFUNG IN SEMI-STRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname
PRÜFUNG IN SEMI-STRUKTURIERTE DATEN 184.705 27. 06. 2017 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht gewertet.
MehrSODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG
SODA Die Datenbank als Document Store Rainer Willems Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG vs No Anforderungskonflikte Agile Entwicklung Häufige Schema-Änderungen Relationales
MehrGruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis
Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 23. 01. 2008 Kennnr.
MehrISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de
08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren
Mehr<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co.
Security-Basics Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update Carsten Czarski, ORACLE Deutschland B.V. Co. KG Themen Rechte, Rollen und PL/SQL: Grundsätzliches Invokers vs.
MehrDATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.
MehrInhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15
Vorwort 13 Kapitel 1 Einleitung 15 Kapitel 2 SQL-der Standard relationaler Datenbanken... 19 2.1 Die Geschichte 19 2.2 Die Bestandteile 20 2.3 Die Verarbeitung einer SQL-Anweisung 22 2.4 Die Struktur von
MehrXML in kommerziellen Datenbanksystemen. Vortrag im Rahmen des Seminares: XML Datenbanken Cordula Bauer
XML in kommerziellen Datenbanksystemen Vortrag im Rahmen des Seminares: XML Datenbanken Cordula Bauer Thematik: Untersucht werden MS SQL Server, Oracle und DB2 Alle drei Anbieter haben XML in ihre bestehenden,
MehrDr. Arno Schmidhauser Letzte Revision: November Webseite:
Aufgabensammllung zu SQL/XML Dr. Arno Schmidhauser Letzte Revision: November 2004 Email: arno.schmidhauser@sws.bfh.ch Webseite: http://www.sws.bfh.ch/db Aufgabensammlung zu SQL/XML 2 Inhalt 1 SQL-Tabellen...
MehrXML exemplarisch. nach: André Bergholz, Extending Your Markup: An XML Tutorial IEEE Internet Computing, Jul./Aug. 2000, 74 79
XML exemplarisch nach: André Bergholz, Extending Your Markup: An XML Tutorial IEEE Internet Computing, Jul./Aug. 2000, 74 79 Wohlgeformte XML-Dokumente bestehen aus Prolog genau einem Element Beispiel-Prolog.
MehrWebbasierte Informationssysteme
SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)
MehrObjektrelationale, erweiterbare Datenbanken WS 04/05
Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Institut für Informationssysteme Dr.C.Türker Objektrelationale, erweiterbare Datenbanken WS 0405 Übung 8 Aufgabe
MehrRelational and Beyond : Oracle9i, die native XML Datenbank
Carsten Czarski Ulrike Schwinn Oracle Deutschland GmbH
MehrFuzzy-Suche in Application Express
Fuzzy-Suche in Application Express So geht s! Carsten Czarski Consulting Member of technical staff - Oracle Application Express September 2017 Copyright 2016 Oracle and/or its affiliates. All rights reserved.
MehrXML - Extensible Markup Language. Agenda - Oracle XML DB
Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von Datenbanken 2005 in Wörlitz Annegret Warnecke Senior
MehrSQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99
SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:
Mehr<Insert Picture Here> Geodaten und XML: XML in der Oracle-Datenbank
Geodaten und XML: XML in der Oracle-Datenbank Geodaten und XML XML-Standards und Geodaten WMS: getcapabilities, getfeatureinfo WFS KML, GML, GPX,... XML-Verarbeitung daher häufig
MehrSQL (Structured Query Language) Schemata Datentypen
2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente
MehrInstitut für Dokumentologie und Editorik. XML-Datenbanken und XQuery
XML-Datenbanken & XQuery Folie 1 XML Digitale Edition XSL-FO XSLT XQuery XML-DB Folie 2 Programm - Ausgewählte Biere verköstigen - Brauereibesichtigung - Anwendung der Hefe erlernen - brauen Folie 3 Telota
MehrObjektrelationale, erweiterbare Datenbanken
Objektrelationale, erweiterbare Datenbanken Wintersemester 2003/2004 Vorlesung: Mittwoch, 15:15-17:00 Uhr IFW A32 Übung: Mittwoch, 17:15-18:00 Uhr IFW A32 Dozent: Dr. Can Türker IFW C47.2 Email: WWW: tuerker@inf.ethz.ch
MehrStrukturierte Objekttypen
Strukturierte Objekttypen Der Typ t approxmatch row des letzten Beispiels ist ein sogenannter Objekttyp. Definition: Ein Objekttyp ist ein Datentyp, bei dem (u.u. verschiedene) bekannte Datentypen zu einem
Mehr3.17 Zugriffskontrolle
3. Der SQL-Standard 3.17. Zugriffskontrolle Seite 1 3.17 Zugriffskontrolle Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man
MehrMCSA: SQL 2016 Database Development
MCSA: SQL 2016 Database Development Querying Data with Transact-SQL & Developing SQL Databases Seminarziel In diesem 6-tägigen Kurs werden die Teilnehmer von Grund auf in die Entwicklung
MehrObjektrelationale Datenbanken
Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige
MehrXML Schema 2016 S h_da S Seite 1
XML Schema Seite 1 XML/Schema: Strukturen Dokumentinstanz Dokumenttyp Wellformed Valid Dokumentstrukturdefinition mit XML/Schema XML Document Type Definition Seite 2 XML Dokument Instanz XML-Deklaration
MehrDieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.
Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,
Mehr