Kapitel 11. Kommerzielle Datenbanksysteme für die XML-Verarbeitung. Oracle DB2 mit XML Extender Microsoft SQL Server Tamino Excelon Poet Infonyte

Größe: px
Ab Seite anzeigen:

Download "Kapitel 11. Kommerzielle Datenbanksysteme für die XML-Verarbeitung. Oracle DB2 mit XML Extender Microsoft SQL Server Tamino Excelon Poet Infonyte"

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

Mehr

XML in Oracle 12c. Wolfgang Nast

XML 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

Mehr

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

Fakultä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

Mehr

XML in Oracle. Workshop. Ing. Markus Gamperl

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

Mehr

Objekt-relationales Datenbanksystem Oracle

Objekt-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

Mehr

7. XML-Datenbanksysteme und SQL/XML

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

Mehr

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

Fakultä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:

Mehr

Microsoft SQL Server 2000: Architektur

Microsoft 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

Mehr

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

Fakultä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

Mehr

XML in der Oracle Datenbank

XML 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

Mehr

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

XML-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

Mehr

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen

Datenbanksysteme. 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

Mehr

Kapitel 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 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

Mehr

XML in der Oracle Datenbank "relational and beyond"

XML 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

Mehr

Objektrelationale Datenbanken

Objektrelationale 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

Mehr

Grundzü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 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

Mehr

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

SQL 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-

Mehr

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

Inhalt. 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

Mehr

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

4. 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

Mehr

Dynamische Generierung von XML

Dynamische 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

Mehr

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

Hochschule 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.

Mehr

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

XML, 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

Mehr

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

Fakultä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

Mehr

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale 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

Mehr

SQL structured query language

SQL 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

Mehr

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

Speicherung 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

Mehr

Kapitel 6 Abbildung von Datenbanken auf XML

Kapitel 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

Mehr

Lösungen zum Praktikum XML-Technologien XML-Grammatiken

Lö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

Mehr

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

Seminar 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

Mehr

Es geht also im die SQL Data Manipulation Language.

Es 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.

Mehr

Kapitel 6: SQL und XML

Kapitel 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

Mehr

Neuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching

Neuerungen 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

Mehr

Kapitel 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. 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)

Mehr

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

WS 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 Ü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

Mehr

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Funktionen. Ü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

Mehr

Kapitel 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 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

Mehr

Komplexe XML-Dokumente über XSU und Objekt-Typen aus der Datenbank generieren

Komplexe 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

Mehr

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs])

Datenbanken 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

Mehr

XML-Abfragen der neuen Art: XQuery

XML-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,

Mehr

Rudolf Jansen. Oracle, Java, XML. Integration in Oracle9/

Rudolf 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

Mehr

Oracle 10g Einführung

Oracle 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

Mehr

Oracle XML DB: XML Schema Handling für Entwickler und Administratoren

Oracle 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,

Mehr

PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

PRÜ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.

Mehr

Projektseminar Texttechnologische Informationsmodellierung

Projektseminar 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

Mehr

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Datenbanken 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

Mehr

Die Anweisung create table

Die 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

Mehr

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

Ulrike 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

Mehr

1. 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 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

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einfü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

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

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

Bä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

Mehr

Abbildung von Datenbanken auf XML

Abbildung 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

Mehr

XML-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 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

Mehr

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

Auf 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

Mehr

Entwicklung eines Tutorials für XQuery

Entwicklung 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

Mehr

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

Validating 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

Mehr

Erzeugung und Veränderung von Tabellen

Erzeugung 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

Mehr

Relationales Datenbanksystem Oracle

Relationales 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

Mehr

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

Auf 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

<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

Ü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

Mehr

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

DBMS 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

Mehr

Allgemeines. veröffentlicht unter http://www.profv.de/uni/ lizensiert unter. Creative Commons BY-SA 3.0. XQuery in MS SQL Server 2005

Allgemeines. 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

Mehr

In diesem Abschnitt wollen wir uns mit dem Thema XML Datenbank beschäftigen. Das Ziel ist, herauszufinden, was XML Datenbank überhaupt sind und was

In 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

Mehr

Transit-Abkommen Mit Views XML relational speichern

Transit-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

Mehr

Michael Seemann. Native XML-Datenbanken im Praxiseinsatz

Michael 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

Mehr

XML-Dokumente und die Oracle-Datenbank

XML-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

Mehr

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

MySQL-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

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15 Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................

Mehr

Klausur zur Vorlesung Einführung in XML

Klausur 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

Mehr

PostgreSQL Ein Überblick

PostgreSQL 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

Mehr

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische 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

Mehr

PRÜFUNG IN SEMI-STRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

PRÜ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.

Mehr

SODA. 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 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

Mehr

Gruppe 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 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.

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 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.

<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.

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN 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.

Mehr

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Inhaltsverzeichnis. 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

Mehr

XML 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 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,

Mehr

Dr. Arno Schmidhauser Letzte Revision: November Webseite:

Dr. 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...

Mehr

XML 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 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.

Mehr

Webbasierte Informationssysteme

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

Mehr

Objektrelationale, erweiterbare Datenbanken WS 04/05

Objektrelationale, 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

Mehr

Relational and Beyond : Oracle9i, die native XML Datenbank

Relational and Beyond : Oracle9i, die native XML Datenbank Carsten Czarski Ulrike Schwinn Oracle Deutschland GmbH

Mehr

Fuzzy-Suche in Application Express

Fuzzy-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.

Mehr

XML - Extensible Markup Language. Agenda - Oracle XML DB

XML - 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

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. 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

<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

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (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

Mehr

Institut für Dokumentologie und Editorik. XML-Datenbanken und XQuery

Institut 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

Mehr

Objektrelationale, erweiterbare Datenbanken

Objektrelationale, 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

Mehr

Strukturierte Objekttypen

Strukturierte 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

Mehr

3.17 Zugriffskontrolle

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

Mehr

MCSA: SQL 2016 Database Development

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

Mehr

Objektrelationale Datenbanken

Objektrelationale 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

Mehr

XML Schema 2016 S h_da S Seite 1

XML 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

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser 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