Oracle, PL/SQL und XML

Größe: px
Ab Seite anzeigen:

Download "Oracle, PL/SQL und XML"

Transkript

1 Oracle, PL/SQL und XML Vortrag am Bei Lehmanns Fachbuchhandlung, Berlin Comelio GmbH, Marco Skulschus Comelio GmbH - 1

2 Fahrplan 1. Vorstellung 2. XML-Strategie in Oracle 3. Relationale Daten in XML 4. XML-Verarbeitung mit PL/SQL 5. Speicherstrategien von XML 6. XML Schema-Einsatz 7. XML-Datentyp XMLType 8. Fragerunde Comelio GmbH - 2

3 Inhalt des Moduls 1. Unternehmen 2. Referent 3. Bücher zum Vortrag 4. Besucher Comelio GmbH - 3

4 Vorstellung: Unternehmen Comelio GmbH Goethestraße 34 D Berlin Projekte Berichts-/Expertensysteme mit Oracle, MS SQL Server Betriebswirtschaftliche Individualsoftwareentwicklung mit.net, Java XML, Ontologien Produkt DomOnto (Befragungen) Seminare Datenbanken Softwareentwicklung Modellierung Comelio Medien Comelio GmbH - 4

5 Vorstellung: Referent Name: Marco Skulschus Ausbildung: Studium der Ökonomie Wuppertal/Paris Schwerpunkt Wirtschaftsinformatik Besondere Interessen: Ontologien, Experten- Systeme Tätigkeiten: Seminare, Konzeption/Planung von DB-/XML-gestützter Software, Veröffentlichungen Veröffentlichungen im Bereich Datenbanken Oracle 10g Programmierhandbuch, Galileo Press Oracle, PL/SQL und XML, Comelio Medien MS SQL Server 2005: T-SQL, Comelio Medien MS SQL Server 2005: XML und SOAP- Webservices, Comelio Medien Veröffentlichungen im XML-Bereich XMLSchema, Galileo Computing XSLT, XPath und XQuery, Comelio Medien PHP und XML, Comelio Medien Veröffentlichungen im Software-Bereich Java Codebook, Addison-Wesley PHP OOP, Design Patterns und UML, Comelio Medien C# - Die Sprache, Comelio Medien Comelio GmbH - 5

6 Vorstellung: Bücher zum Vortrag Oracle, PL/SQL und XML Skulschus, Wiederstein Comelio Medien 472 Seiten, 39,95 ISBN: XML: Standards und Technologien Skulschus, Wiederstein Comelio Medien 416 Seiten, 39,95 ISBN: Comelio GmbH - 6

7 Vorstellung: Besucher Fragen, die jeden bewegen: Wer kann sich in welcher Gruppe einordnen? Wie viele von jeder Gruppe sind anwesend? Handzeichen genügt (Glück gehabt, keiner muss etwas sagen). DBA Entwickler Berater Trainer Verkäufer NWZH AZKGG* * Nicht wirklich zufällig hier, aber zu keiner Gruppe gehörend. Comelio GmbH - 7

8 Fahrplan 1. Vorstellung 2. XML-Strategie in Oracle 3. Relationale Daten in XML 4. XML-Verarbeitung mit PL/SQL 5. Speicherstrategien von XML 6. XML Schema-Einsatz 7. XML-Datentyp XMLType 8. Fragerunde Comelio GmbH - 8

9 Inhalt des Moduls 1. Aspekte 2. Architektur 3. Speicherung und Zugriff Grafiken in diesem Modul aus der Oracle-Dokumentation Oracle XML DB Developer's Guide 10g Release 2 (10.2) Fassung in 9i/11g sehr ähnlich Quelle: Comelio appdev.102/b14259/toc.htm GmbH - 9

10 XML-Strategie in Oracle: Aspekte Comelio GmbH

11 XML-Strategie in Oracle: Architektur Comelio GmbH

12 XML-Strategie in Oracle: Architektur Comelio GmbH

13 XML-Strategie in Oracle: Speicherung und Zugriff Comelio GmbH

14 XML-Strategie in Oracle: Speicherung und Zugriff Comelio GmbH

15 XML-Strategie in Oracle: Speicherung und Zugriff Comelio GmbH

16 Fahrplan 1. Vorstellung 2. XML-Strategie in Oracle 3. Relationale Daten in XML 4. XML-Verarbeitung mit PL/SQL 5. Speicherstrategien von XML 6. XML Schema-Einsatz 7. XML-Datentyp XMLType 8. Fragerunde Comelio GmbH

17 Inhalt des Moduls 1. SQL/XML-Funktionen 2. DBMS_XMLGEN 3. Oracle-spezifische SQL- Funktionen Comelio GmbH

18 Relationale Daten in XML: SQL/XML-Funktionen Die SQL/XML-Funktionen (ISO/IEC :2005(E), Information technology -Database languages SQL Part 14: XML-Related Specifications (SQL/XML)) sind die einfachste Möglichkeit, aus gegebenen relationalen Daten mit Hilfe von Abfragen XML-Daten zu erzeugen. Es handelt sich um einfache Spaltenfunktionen, die zu komplexen Abfragen genutzt werden können, um XML-Daten zu erzeugen. Beispiel: SELECT XMLElement("Name", XMLElement("Titel", K_Titel), XMLElement("Untertitel", K_Untertitel)) AS XML FROM kurs; XML <Name> <Titel>Perl</Titel> <Untertitel>Syntax + Konzepte</Untertitel> </Name> <Name> <Titel>Perl</Titel> <Untertitel>Perl + CGI</Untertitel> </Name> Comelio GmbH

19 Relationale Daten in XML: SQL/XML-Funktionen Funktion (Auswahl) XMLElement () XMLAttributes() XMLForest() XMLCdata XMLComment XMLPI XMLAGG() XMLRoot Beschreibung Erzeugt ein Element im Ausgabestrom und nimmt als Werte entweder einen Textknoten (gültiger Spaltenausdruck, fester Vorgabewert) oder weitere Elemente auf. Erzeugt für ein gegebenes Element ein Attribut, das als Wert entweder einen gültigen Spaltenausdruck oder einen festen Wert übernimmt. Erzeugt mehrere Elemente im Ausgabestrom, besitzt allerdings im Vergleich zu XMLElement()eine verkürzte Syntax. Erstellt einen CDATA-Bereich in der Form <![CDATA[ inhalt]]>. Erstellt einen XML-Kommentar in der Form <!--inhalt-->. Erstellt eine Prozessoranweisung in der Form <?name inhalt?> mit zwei Parametern für Name und Inhalt. Erzeugt aus einer Liste übergebener bzw. abgefragter Reihen, die zusätzlich über ORDER BY und GROUP BY eingerichtet werden können, Kind-Elemente eines Elements. Diese Funktion eignet sich besonders, um Hierarchien korrekt abzubilden. Erstellt einen XML-Prolog in der Form <?xml version = "version" [ STANDALONE = "{yes no}" ]?>. Comelio GmbH

20 Relationale Daten in XML: SQL/XML-Funktionen Beispiel: Erstellung einer Hierarchie auf Basis einer Gruppierung. Lösung: Einsatz von XMLAgg() mit enthaltener XMLElement()-Funktion. SELECT XMLELEMENT("Kurs", XMLATTRIBUTES(K_Titel AS "Titel"), XMLAGG(XMLELEMENT("Untertitel", K_Untertitel))) AS XML FROM kurs WHERE K_Titel IN ('Oracle', 'Java') GROUP BY K_Titel; <Kurs Titel="Java"> <Untertitel>Designpatterns</Untertitel> <Untertitel>Syntax + Konzepte</Untertitel>... <Untertitel>Enterprise Java Beans</Untertitel> </Kurs> <Kurs Titel="Oracle"> <Untertitel>Architektur</Untertitel>... <Untertitel>PL/SQL-Programmierung</Untertitel> </Kurs> Comelio GmbH

21 Relationale Daten in XML: SQL/XML-Funktionen Beispiel: Erstellung einer Hierarchie auf Basis einer Tabellenbeziehung. Die Daten der Kind-Tabelle sollen unter Daten der Eltern-Tabelle verschachtelt werden. Lösung: Korrelierte Unterabfrage in der Spaltenliste. SELECT XMLELEMENT("Kurs", XMLATTRIBUTES(kurs.K_Nr AS "Nr"), XMLELEMENT("Titel", K_Titel ' ' K_Untertitel), (SELECT XMLAGG(XMLELEMENT ("Termine", XMLELEMENT("Termin", XMLATTRIBUTES(b.T_Nr AS "Nr"), XMLFOREST(T_Beginn AS "Beginn", T_Ende AS "Ende", <Kurs Nr=" "> T_Ort AS "Ort")))) <Titel>Java Syntax + Konzepte</Titel> FROM termin b <Termine> WHERE b.k_nr = a.k_nr )) AS XML <Termin Nr="573"> FROM kurs INNER JOIN termin a <Beginn> </Beginn> ON kurs.k_nr = a.k_nr <Ende> </Ende> WHERE K_Titel IN ('Oracle', 'Java'); <Ort>Dortmund</Ort> </Termin> </Termine> <Termine> <Termin Nr="574"> <Beginn> </Beginn> <Ende> </Ende> <Ort>Köln</Ort> </Termin> </Termine> Comelio GmbH

22 Inhalt des Moduls 1. SQL/XML-Funktionen 2. DBMS_XMLGEN 3. Oracle-spezifische SQL- Funktionen Comelio GmbH

23 Relationale Daten in XML: DBMS_XMLGEN Das Paket DBMS_XMLGEN soll das 8i-Paket DBMS_XMLQUERY ersetzen. Allerdings bietet es nicht alle Funktionalitäten wie das veraltete Paket. Es dient ebenfalls dazu, innerhalb von PL/SQL aus SQL-Abfragen XML-Strukturen zu gewinnen. Unterschied zu SQL/XML: PL/SQL-Programm notwendig, in dem eine traditionelle SQL-Abfrage in XML umgewandelt wird. Comelio GmbH

24 Relationale Daten in XML: DBMS_XMLGEN Beispiel: Das folgende Programm verwendet eine Vielzahl der verfügbaren Unterprogramme. Für den Einsatz des Pakets ist letztendlich nur wichtig, dass das mit dem paketeigenen Datentyp DBMS_XMLGEN.ctxHandle erzeugte Handle für den Abfragekontext allen Prozeduren und Funktionen als ein Parameter übergeben wird und dass das Ergebnis in Form eines CLOBs/VARCHARs zurückgeliefert wird, sodass man es dann verarbeiten kann. Ziel: <?xml version="1.0"?> <Kursuebersicht> <Kurs> <K_NR> </K_NR> <K_BEREICH>Datenbanken</K_BEREICH> </Kurs> </Kursuebersicht> Comelio GmbH

25 Relationale Daten in XML: DBMS_XMLGEN DECLARE Ctx DBMS_XMLGEN.ctxHandle; -- Konversionsvar. SQL->XML xml VARCHAR2(2000); -- Daten datei utl_file.file_type; -- Ausgabedatei b_knr kurs.k_nr%type := ; BEGIN -- Abfrage absenden Ctx := DBMS_XMLGEN.newContext('SELECT * FROM kurs WHERE K_Nr = ' b_knr); -- Ergebnisformat -- ReihenTag / Standard: ROW DBMS_XMLGEN.setRowTag(Ctx, 'Kurs'); -- DatenmengeTag / Standard: ROWSET DBMS_XMLGEN.setRowSetTag(Ctx, 'Kursuebersicht'); DBMS_XMLGEN.setMaxRows(Ctx, 3); -- Maximale Reihenzahl -- Abholen der Abfrage xml := DBMS_XMLGEN.getXML(Ctx); -- Schließen des Kontextes DBMS_XMLGEN.closeContext(Ctx); -- Dateispeicherung datei := UTL_FILE.FOPEN('c:\oratext', 'kursuebersicht_xmlgen1.xml', 'W'); UTL_FILE.PUT_LINE(datei, xml); UTL_FILE.FCLOSE(datei); END; Comelio GmbH

26 Inhalt des Moduls 1. SQL/XML-Funktionen 2. DBMS_XMLGEN 3. Oracle-spezifische SQL- Funktionen Comelio GmbH

27 Relationale Daten in XML: Oracle-spezifische SQL-Funktionen Neben den SQL/XML-Funktionen besitzt Oracle weitere Funktionen, die allerdings spezifisch für dieses Datenbanksystem sind. Die Aggregation lässt sich über Objekt- und Tabellentypen realisieren. Diese Funktionen erleichtern die Lesbarkeit der Abfrage im Gegensatz zu den SQL/XML-Funktionen, erfordern allerdings mehr Planung auf der Datenbankseite, weil die entsprechenden Typen vorhanden sein müssen. Hinweis: Mit Einsatz von XML Schema lässt sich die Erstellung dieser Datentypen automatisieren. Unterschied zu SQL/XML, DBMS_XMLQUERY und DBMS_XMLGEN: Aufruf direkt aus SQL heraus. Hinweis: Die Erstellung von Objekt- und Tabellentypen ist für diese PL/SQL-Pakete auch bei hierarchisierten XML-Daten ebenfalls erforderlich. Comelio GmbH

28 Relationale Daten in XML: Oracle-spezifische SQL-Funktionen Beispiel: Erstellung einer verschachtelten XML-Struktur. Lösung: Der 1. Schritt erfordert die Erstellung von Objekt- und Tabellentypen, welche die geplante XML-Struktur objektrelational nachbilden. Der 2. Schritt erfordert die Erstellung der SQL-Abfrage, welche Daten in die objektrelationalen Datentypen überführt. Der 3. Schritt erfordert die Anwendung der SYS_XMLGEN()- Funktion. Achtung: Ganz einfache XML-Strukturen lassen sich auch ohne objektrelationale Datentypen erzeugen. Comelio GmbH

29 Relationale Daten in XML: Oracle-spezifische SQL-Funktionen 1. Schritt: Erstellung von Objekt- und Tabellentypen, welche die geplante XML-Struktur objektrelational nachbilden. -- Mehrspaltige Struktur CREATE TYPE Thema_T AS OBJECT ( "@Nr" NUMBER(7,0), titel VARCHAR2(30), untertitel VARCHAR2(40) ); / -- Reihenstruktur CREATE TYPE Kursliste_T AS TABLE OF Thema_T; / -- Mehrspaltige, verschachtelte Reihenstruktur CREATE TYPE Dozent_T AS OBJECT ( "@Nr" NUMBER(7,0), vorname VARCHAR2(20), nachname VARCHAR2(30), THEMA_T( , 'C++', 'Syntax + Konzepte') KURSLISTE_T( THEMA_T( , 'C++', 'Syntax + Konzepte'), THEMA_T( , 'C++', 'MFC (Windows- Programmierung)'), ) DOZENT_T(5, 'Stefan', 'Erdbau', KURSLISTE_T( THEMA_T( , 'C++', 'Syntax + Konzepte'), THEMA_T( , 'C++', 'MFC (Windows- Programmierung)'), )) kursliste Kursliste_T ); / Comelio GmbH

30 Relationale Daten in XML: Oracle-spezifische SQL-Funktionen 2. Schritt: Erstellung der SQL-Abfrage, welche Daten in die objektrelationalen Datentypen überführt. -- Mehrspaltige Struktur CREATE TYPE Thema_T AS OBJECT ( ); / "@Nr" NUMBER(7,0), titel VARCHAR2(30), untertitel VARCHAR2(40) -- Reihenstruktur CREATE TYPE Kursliste_T AS TABLE OF Thema_T; / -- Mehrspaltige, verschachtelte Reihenstruktur CREATE TYPE Dozent_T AS OBJECT ( ); / "@Nr" NUMBER(7,0), vorname VARCHAR2(20), nachname VARCHAR2(30), kursliste Kursliste_T SELECT Dozent_T(dozent.D_Nr, D_Vorname, D_Nachname, CAST( MULTISET( SELECT kurs.k_nr, K_Titel, K_Untertitel FROM kurs INNER JOIN themenverteilung t2 ON kurs.k_nr = t2.k_nr WHERE t1.d_nr = t2.d_nr) AS Kursliste_T)) AS XML FROM dozent INNER JOIN themenverteilung t1 ON dozent.d_nr = t1.d_nr WHERE dozent.d_nr BETWEEN 5 AND 7; Comelio GmbH

31 Relationale Daten in XML: Oracle-spezifische SQL-Funktionen 3. Schritt: Anwendung der SYS_XMLGEN()-Funktion. SELECT SYS_XMLGEN(Dozent_T(dozent.D_Nr, D_Vorname, D_Nachname, CAST(MULTISET(SELECT kurs.k_nr, K_Titel, K_Untertitel FROM kurs INNER JOIN themenverteilung t2 ON kurs.k_nr = t2.k_nr WHERE t1.d_nr = t2.d_nr) AS Kursliste_T))) AS XML FROM dozent INNER JOIN themenverteilung t1 ON dozent.d_nr = t1.d_nr WHERE dozent.d_nr BETWEEN 5 AND 7; Comelio GmbH

32 Fahrplan 1. Vorstellung 2. XML-Strategie in Oracle 3. Relationale Daten in XML 4. XML-Verarbeitung mit PL/SQL 5. Speicherstrategien von XML 6. XML Schema-Einsatz 7. XML-Datentyp XMLType 8. Fragerunde Comelio GmbH

33 Inhalt des Moduls 1. Übersicht 2. DBMS_XMLPARSER 3. DBMS_XMLDOM 4. DBMS_XSLPROCESS Dokumentation OR Die englischen Grafiken in diesem Modul aus der Oracle- Oracle XML DB Developer's Guide 10g Release 2 (10.2) Fassung in 9i/11g sehr ähnlich Quelle: Comelio GmbH appdev.102/b14259/toc.htm

34 XML-Verarbeitung mit PL/SQL: Übersicht Die Beschaffung von XML-Daten aus relationalen Daten ist meistens nur eine Voraussetzung, um eine geeignete Datenbasis zu besitzen, die dann in anderen Formaten verarbeitet werden soll. Dies gilt natürlich auch für XML-Daten, die bereits in der Datenbank gespeichert sind oder über (Objekt-)Sichten beschafft werden. Die in Oracle angebotenen Techniken sind: DOM mit dem Paket DBMS_XMLDOM XSLT mit dem Paket DBMS_XSLPROCESSOR Das allgemeine Paket DBMS_XMLPARSER für die Bereitstellung der XML-Bearbeitungsfunktionalität. Weitere Techniken für XML Schema-Validierung, XQuery-/XPath- Nutzung und Schnellspeicherung. Comelio GmbH

35 XML-Verarbeitung mit PL/SQL: Übersicht Comelio GmbH

36 XML-Verarbeitung mit PL/SQL: Übersicht Comelio GmbH

37 Inhalt des Moduls 1. Übersicht 2. DBMS_XMLPARSER 3. DBMS_XMLDOM 4. DBMS_XSLPROCESSOR Comelio GmbH

38 XML-Verarbeitung mit PL/SQL: DBMS_XMLPARSER Damit überhaupt XML-Strukturen geparst werden können, benötigt man einen Parser. Dieser allein ist für den Parsing-Vorgang natürlich nicht ausreichend, bietet aber mit den anderen Paketen wie DBMS_XMLDOM oder DBMS_XSLPROCESSOR die Möglichkeit, entweder das DOM oder XSLT für die Transformation zu verwenden. Die einzelnen Methoden des Pakets entsprechen denen in anderen Programmiersprachen. Dies betrifft insbesondere das Verwalten der Parserinstanz in Form des Erzeugens, Löschens und Startens des Parsers. Interessant sind die unterschiedlichen möglichen Datenstrukturen, mit denen der Parser befüllt werden kann, um seine Arbeit zu erledigen. Comelio GmbH

39 XML-Verarbeitung mit PL/SQL: DBMS_XMLPARSER Beispiel: starten und stoppen eines Parsers. Ein Kommentar zeigt die Stelle, an der die eigentliche Verarbeitung über DOM oder XSLT einsetzen würde. Besonders hervorzuheben: Das Basisverzeichnis und die Anmeldung desselben beim Parser ermöglichen es, dynamisch den kompletten Dateipfad anzugeben. Die Verwendung der Fehlerdatei ermöglicht es, die entstandenen Fehler auch in einer Textdatei zu erfassen. Comelio GmbH

40 XML-Verarbeitung mit PL/SQL: DBMS_XMLPARSER DECLARE dir VARCHAR2(100) := 'C:\Oraxml'; xmlfile VARCHAR2(100) := 'dozentenliste.xml'; errfile VARCHAR2(100) := 'dozentenliste.txt'; p DBMS_XMLPARSER.Parser; BEGIN -- Erzeuge Parser p := DBMS_XMLPARSER.newParser; -- Version des Parsers DBMS_OUTPUT.PUT_LINE('Version: ' DBMS_XMLPARSER.getReleaseVersion()); -- Eigenschaften des Parsers -- Basisverzeichnis DBMS_XMLPARSER.setBaseDir(p, dir); -- Validierung DBMS_XMLPARSER.setValidationMode(p, TRUE); IF DBMS_XMLPARSER.getValidationMode(p) THEN DBMS_OUTPUT.PUT_LINE('Validierung gesetzt.'); END IF; -- Fehlerdatei DBMS_XMLPARSER.setErrorLog(p, errfile); /* Verarbeitung mit DOM oder XSLT */ -- Parser entfernen DBMS_XMLPARSER.freeParser(p); END; Comelio GmbH

41 Inhalt des Moduls 1. Übersicht 2. DBMS_XMLPARSER 3. DBMS_XMLDOM 4. DBMS_XSLPROCESSOR Comelio GmbH

42 XML-Verarbeitung mit PL/SQL: DBMS_XMLDOM Mit DOM (Document Object Model) hat das W3C einen Standard entwickelt, der die baumorientierte Verarbeitung von XML-Dokumenten anbietet. Der Standard besitzt eine Vielzahl an unterschiedlichen Methoden, die in vielen Programmiersprachen implementiert sind. Die Methoden tragen dort jeweils den gleichen Namen bzw. sollten ihn dort tragen und sollten auch die gleichen Schnittstellen bieten. Nicht in allen Programmiersprachen jedoch sind alle vom W3C vorgeschlagenen Methoden implementiert; die Implementation in Oracle bzw. in PL/SQL ist allerdings überaus umfangreich. Bei der Verwendung des DOM gibt es ein bestimmtes Verarbeitungsschema, also eine Reihenfolge von Funktions-, Prozeduroder Methodenaufrufen, sowie bestimmte Voraussetzungen, die die unterschiedlichen Parameter erfüllen müssen, damit die Anwendung korrekt verläuft. Comelio GmbH

43 XML-Verarbeitung mit PL/SQL: DBMS_XMLDOM XML erstellen SELECT- Anweisung XMLType Neues, leeres DOM Neues, gefülltes DOM DOM Document DOMElement Schnittstelle DOMText Schnittstelle DOMAttribute Schnittstelle Erstellen der verschiedenen Knotentypen DOMNode Schnittstelle Bei Bedarf Umwandlung Comelio GmbH

44 XML-Verarbeitung mit PL/SQL: DBMS_XMLDOM PL/SQL kennt zwar keine Vererbung, doch durch eine umfangreiche Reihe an Datentypen und die Struktur der Parameter wurde die typische DOM-Hierarchie abgebildet. Node Attr Element Document Document Fragment Document Type Processing Instruction Character Data Entity Entity Reference Notation Text CDATA Section Comment Comelio GmbH

45 XML-Verarbeitung mit PL/SQL: DBMS_XMLDOM Beispiel: Erstellung eines einfachen XML-Dokuments. Ausgabe: Version: 1.0 Zeichensatz: ISO Standalone: yes <?xml version="1.0" standalone='yes'?> DECLARE doc DBMS_XMLDOM.DOMDocument; v_text VARCHAR2(200); v_xml VARCHAR2(200); BEGIN -- Neues DOM-Dokument erstellen doc := DBMS_XMLDOM.newDOMDocument(); -- Version setzen DBMS_XMLDOM.setVersion(doc, '1.0'); -- Zeichensatz setzen DBMS_XMLDOM.setCharset(doc, 'ISO '); -- Keine DTD, kein XML Schema DBMS_XMLDOM.setStandalone(doc, 'yes'); -- Abruf von Eigenschaften v_text := 'Version: ' DBMS_XMLDOM.getVersion(doc) ' Zeichensatz: ' DBMS_XMLDOM.getCharset(doc) ' Standalone: ' DBMS_XMLDOM.getStandalone(doc); DBMS_OUTPUT.put_line(v_Text); -- Ausgabe als Datei und Text DBMS_XMLDOM.writeToFile(doc, 'XMLAUSGABE/test.xml'); DBMS_XMLDOM.writeToBuffer(doc, v_xml); DBMS_OUTPUT.put_line(v_XML); -- DOM-Dokument entfernen DBMS_XMLDOM.freeDocument(doc); END; Comelio GmbH

46 XML-Verarbeitung mit PL/SQL: DBMS_XMLDOM Beispiel: Verarbeitung eines XML-Dokuments aus einer Abfrage (Auszug). Ausgabe: Dozentenliste: 1 Dozent: 1 und Attribut(e) Name: 1 <Dozent Nr="3"> <Name> <Vorname>Martin</Vorname> <Nachname>Dünn</Nachname> <Stadt>Rhede, Westf</Stadt> </Name> </Dozent> BEGIN -- XML abrufen SELECT XMLElement("Dozentenliste", XMLAgg(XMLElement("Dozent", XMLAttributes(D_Nr AS "Nr"), XMLElement("Name", XMLForest(D_Vorname AS "Vorname", D_Nachname AS "Nachname"), XMLElement("Stadt", D_Stadt))))) AS XML INTO v_xml FROM dozent WHERE D_Nr < 5; Comelio GmbH

47 XML-Verarbeitung mit PL/SQL: DBMS_XMLDOM Beispiel: Verarbeitung eines XML-Dokuments aus einer Abfrage (Auszug). Hilfsfunktion allgemeineeigenschaften() zur Ausgabe von Knoteneigenschaften. FUNCTION allgemeineeigenschaften( n IN DBMS_XMLDOM.DOMNode) RETURN VARCHAR2 IS v_text VARCHAR2(10000); BEGIN v_text := DBMS_XMLDOM.getNodeName(n) ': Typ ' DBMS_XMLDOM.getNodeType(n); -- Textknoten oder Kind-Elemente? IF NOT(DBMS_XMLDOM.hasChildNodes(n)) THEN v_text := v_text ' (' DBMS_XMLDOM.getNodeValue(n) ' ) '; ELSIF DBMS_XMLDOM.hasAttributes(n) THEN v_text := v_text ' und Attribut(e)'; END IF; RETURN v_text; END allgemeineeigenschaften; Comelio GmbH

48 XML-Verarbeitung mit PL/SQL: DBMS_XMLDOM Beispiel: Verarbeitung eines XML-Dokuments aus einer Abfrage (Auszug). -- DOM-Dokument erzeugen doc := DBMS_XMLDOM.newDOMDocument(v_XML); -- Wurzel abrufen v_wurzel := DBMS_XMLDOM.makeNode(DBMS_XMLDOM.getDocumentElement(do c)); -- Kindelemente abrufen IF DBMS_XMLDOM.hasChildNodes(v_Wurzel) THEN -- Zum letzten Dozenten... v_dozent1 := DBMS_XMLDOM.getLastChild(v_Wurzel); DBMS_OUTPUT.put_line(allgemeineEigenschaften(v_Dozent1)); --...einen nach vorne, den Namen abrufen... v_dozent1 := DBMS_XMLDOM.getPreviousSibling(v_Dozent1); v_name := DBMS_XMLDOM.getFirstChild(v_Dozent1); DBMS_OUTPUT.put_line(allgemeineEigenschaften(v_Name)); --...und diesen Dozenten ausgeben DBMS_XMLDOM.writeToBuffer(v_Dozent1, v_text); DBMS_OUTPUT.put_line(v_Text); -- Ersten Dozenten abrufen... v_dozent2 := DBMS_XMLDOM.getFirstChild(v_Wurzel); --...gegen den vorvorletzten austauschen v_dozent1 := DBMS_XMLDOM.replaceChild(v_Wurzel, v_dozent1, v_dozent2); -- und das geänderte XML ausgeben DBMS_XMLDOM.writeToBuffer(v_Wurzel, v_text); DBMS_OUTPUT.put_line(v_Text); END IF; Comelio GmbH END;

49 Inhalt des Moduls 1. Übersicht 2. DBMS_XMLPARSER 3. DBMS_XMLDOM 4. DBMS_XSLPROCESSOR Comelio GmbH

50 XML-Verarbeitung mit PL/SQL: DBMS_XSLPROCESSOR Anstatt die Transformation in einer beliebigen Programmiersprache über die standardisierten DOM-Methoden einzurichten, ruft man einen entsprechenden XSLT-Prozessor auf und übergibt den XML- Eingabestrom sowie die XSLT-Transformationsdatei. Zusätzlich lassen sich noch globale Parameter an die Transformationsdatei übergeben, die dann während der Transformation ausgewertet werden. Der Vorteil, den man durch die Verwendung von XSLT genießen kann, besteht darin, dass die gleiche Transformation aus unterschiedlichen Programmiersprachen heraus aufgerufen werden kann. Dabei ist der gesamte Algorithmus ausgelagert und kann dementsprechend wiederverwendet werden. Voraussetzung: Die Transformation kann erst nach dem Abschluss aller Datenbeschaffungsvorgänge und nach der Erstellung einer endgültigen XML-Struktur durchgeführt werden. Bei der Verwendung von DOM ist man hier etwas flexibler und kann auch Zwischenstadien transformieren oder während der Verarbeitung andere Anweisungen ausführen. Comelio GmbH

51 XML-Verarbeitung mit PL/SQL: DBMS_XSLPROCESSOR XSL Dokument (DOM) new Processor new Stylesheet setparams Prozessor Stylesheet XML Dokument (DOM) processxsl XMLType DOMDocument DOMNode Fragment Schnittstelle Schnittstelle Comelio GmbH

52 XML-Verarbeitung mit PL/SQL: DBMS_XSLPROCESSOR Beispiel: Umwandlung einer XML-Datei mit XSLT. Comelio GmbH

53 XML-Verarbeitung mit PL/SQL: DBMS_XSLPROCESSOR Beispiel: Umwandlung einer XML-Datei mit XSLT. DECLARE -- Verzeichnis dir VARCHAR2(100) := 'C:\Oraxml'; -- XML-Datei (extern) xmlfile VARCHAR2(100) := 'dozentenliste.xml'; -- XSLT-Datei (extern) xslfile VARCHAR2(100) := 'dozentenliste.xslt'; -- Ergebnisdatei (extern) resfile VARCHAR2(100) := 'dozentenliste.html'; -- Fehlerdatei (extern) errfile VARCHAR2(100) := 'dozentenliste.txt'; -- Parser p DBMS_XMLPARSER.Parser; -- Parser xmldoc DBMS_XMLDOM.DOMDocument; -- DOM-Dokument xmldocnode DBMS_XMLDOM.DOMNode; -- DOM-Knoten proc DBMS_XSLPROCESSOR.Processor; -- XSLT-Prozessor ss DBMS_XSLPROCESSOR.Stylesheet; -- XSLT-Datei xsldoc DBMS_XMLDOM.DOMDocument; -- XSLT-DOM-Dokument docfrag DBMS_XMLDOM.DOMDocumentFragment; -- DOM-Fragment docfragnode DBMS_XMLDOM.DOMNode; -- DOM-Fragment-Knoten xslelem DBMS_XMLDOM.DOMElement; -- DOM-Element Comelio GmbH

54 XML-Verarbeitung mit PL/SQL: DBMS_XSLPROCESSOR Beispiel: Umwandlung einer XML-Datei mit XSLT. BEGIN -- Erzeuge Parser p := DBMS_XMLPARSER.newParser; -- Eigenschaften des Parsers -- Fehlerdatei DBMS_XMLPARSER.setErrorLog(p, dir '/' errfile); -- Leerzeichenbewahrung DBMS_XMLPARSER.setPreserveWhiteSpace(p, TRUE); -- Transformation XML->DOM DBMS_XMLPARSER.parse(p, dir '/' xmlfile); -- DOM-Dokument erhalten xmldoc := DBMS_XMLPARSER.getDocument(p); Comelio GmbH

55 XML-Verarbeitung mit PL/SQL: DBMS_XSLPROCESSOR Beispiel: Umwandlung einer XML-Datei mit XSLT. -- Laden der XSLT-Datei DBMS_XMLPARSER.parse(p, dir '/' xslfile); -- DOM-Dokument von XSLT-Datei erhalten xsldoc := DBMS_XMLPARSER.getDocument(p); -- Angabe der XSLT-Datei ss := DBMS_XSLPROCESSOR.newStylesheet(xsldoc, dir '/' xslfile); -- Transformation XML mit XSLT -> HTML proc := DBMS_XSLPROCESSOR.newProcessor; DBMS_XSLPROCESSOR.showWarnings(proc, true); DBMS_XSLPROCESSOR.setErrorLog(proc, dir '/' errfile); docfrag := DBMS_XSLPROCESSOR.processXSL(proc, ss, xmldoc); docfragnode := DBMS_XMLDOM.makeNode(docfrag); -- Dateierstellung DBMS_XMLDOM.writeToFile(docfragnode, dir '/' resfile); -- XML_Dateien lösen DBMS_XMLDOM.freeDocument(xmldoc); DBMS_XMLDOM.freeDocument(xsldoc); -- XSL-Datei und Prozessor entfernen DBMS_XSLPROCESSOR.freeProcessor(proc); DBMS_XSLPROCESSOR.freeStylesheet(ss); -- Parser entfernen DBMS_XMLPARSER.freeParser(p); END; Comelio GmbH

56 Fahrplan 1. Vorstellung 2. XML-Strategie in Oracle 3. Relationale Daten in XML 4. XML-Verarbeitung mit PL/SQL 5. Speicherstrategien von XML 6. XML Schema-Einsatz 7. XML-Datentyp XMLType 8. Fragerunde Comelio GmbH

57 Inhalt des Moduls 1. Übersicht 2. Dateisystem 3. Relationale Speicherung 4. Objektrelationale Speicherung 5. XMLType Die englischen Grafiken in diesem Modul aus der Oracle- Dokumentation Oracle XML DB Developer's Guide 10g Release 2 (10.2) Fassung in 9i/11g sehr ähnlich Quelle: Comelio GmbH appdev.102/b14259/toc.htm

58 Speicherstrategien von XML: Übersicht Möglichkeiten der XML-Integration: Einsatz des Dateisystems: Die XML-Daten werden gar nicht in der Datenbank gespeichert, sondern stattdessen im Dateisystem gespeichert. Relationale Speicherung: Die XML-Daten werden vollständig zerlegt und die einzelnen Datenfelder (Elemente, Attribute) komplett oder soweit es das eigene Datenmodell erfordert, in Spalten gespeichert. Objektrelationale Speicherung: Die Daten werden teilweise in einfachen relationalen Spalten und teilweise in Objekte Objekt-Sammlungen zerlegt und gespeichert. Einsatz von XML-Datentyp: Die Daten werden vollständig oder teilweise als XML im Datentyp XML(Type) gespeichert. Einsatz des Oracle XML DB Repository: Die XML-Daten werden in einer ordnerähnlichen Struktur in der speziellen XML-Datenbank gespeichert. Comelio GmbH

59 Speicherstrategien von XML: Übersicht Comelio GmbH

60 Speicherstrategien von XML: Übersicht Comelio GmbH

61 Inhalt des Moduls 1. Übersicht 2. Dateisystem 3. Relationale Speicherung 4. Objektrelationale Speicherung 5. XMLType Comelio GmbH

62 Speicherstrategien von XML: Dateisystem Die XML-Daten werden gar nicht in der Datenbank gespeichert, sondern stattdessen im Dateisystem gespeichert. In der Datenbank befinden sich dann nur Verweise auf die einzelnen Dateien. Bei Bedarf können sie von der Festplatte geladen und verarbeitet werden. Als zusätzliche Variante können sie in Form von BFILEs gespeichert werden. Comelio GmbH

63 Speicherstrategien von XML: Dateisystem Datenbank Dateisystem Tabelle 1 Tabelle 2 Comelio GmbH

64 Inhalt des Moduls 1. Übersicht 2. Dateisystem 3. Relationale Speicherung 4. Objektrelationale Speicherung 5. XMLType Comelio GmbH

65 Speicherstrategien von XML: Relationale Speicherung Die XML-Daten werden vollständig zerlegt und die einzelnen Datenfelder (Elemente, Attribute) komplett oder soweit es das eigene Datenmodell erfordert, in Spalten gespeichert. Die Eltern-Kind-Strukuren werden wieder zu einzelnen Tabellen(beziehungen) aufgelöst. Es findet gar keine XML-Speicherung statt, sondern nur ein Austausch und eine Umwandlung. Dieses Verfahren ist nur bei datenorientierten Dokumenten ohne gemischtem Inhaltsmodell denkbar. Comelio GmbH

66 Speicherstrategien von XML: Relationale Speicherung Dozent Themenverteilung Comelio GmbH

67 Inhalt des Moduls 1. Übersicht 2. Dateisystem 3. Relationale Speicherung 4. Objektrelationale Speicherung 5. XMLType Comelio GmbH

68 Speicherstrategien von XML: Objektrelationale Speicherung Die Daten werden teilweise in einfachen relationalen Spalten und teilweise in Objekte Objekt-Sammlungen zerlegt und gespeichert. Die Eltern-Kind-Strukturen führen dabei in jedem Fall zu Objektsammlungen pro einzelnem Eltern-Datensatz. Untervarianten lassen sich bilden, wenn nur objektrelationale Aufbereitung stattfindet und das gesamte Dokument als Objekt gespeichert wird, oder wenn auf unterschiedliche Weise relationale und objektrelationale Techniken gemischt werden. Es findet gar keine XML-Speicherung statt, sondern eine Zerlegung. Dieses Verfahren ist nur bei datenorientierten Dokumenten ohne gemischtes Inhaltsmodell denkbar. Comelio GmbH

69 Speicherstrategien von XML: Objektrelationale Speicherung Dozent Name Adresse Themenverteilung Objekt Spalten Collection mit Objekten Comelio GmbH

70 Inhalt des Moduls 1. Übersicht 2. Dateisystem 3. Relationale Speicherung 4. Objektrelationale Speicherung 5. XMLType Comelio GmbH

71 Speicherstrategien von XML: XMLType Die Daten werden vollständig oder teilweise als XML im Datentyp XMLType gespeichert. Untervarianten lassen sich denken, wenn verschiedene Bereiche in unterschiedlichen Datentypen und mit unterschiedlicher oder auch keiner Zerlegung gespeichert werden. Weitere Untervarianten ergeben sich, wenn Datentypen wie CLOB oder VARCHAR2, die allerdings nicht die Vorteile wie XMLType bieten, genutzt werden. Dieses Verfahren ist sowohl bei datenorientierten Dokumenten als auch bei dokumentenorientierten Dokumenten mit gemischtem Inhaltsmodell denkbar. Comelio GmbH

72 Speicherstrategien von XML: XMLType Dozent Name Adresse Themenverteilung Objekt Spalten XMLType Comelio GmbH

73 Speicherstrategien von XML: XMLType Dozent Name / Adresse / Thema-Liste XMLType Comelio GmbH

74 Fahrplan 1. Vorstellung 2. XML-Strategie in Oracle 3. Relationale Daten in XML 4. XML-Verarbeitung mit PL/SQL 5. Speicherstrategien von XML 6. XML Schema-Einsatz 7. XML-Datentyp XMLType 8. Fragerunde Comelio GmbH

75 Inhalt des Moduls 1. Übersicht 2. XML Schema registrieren 3. XML-Daten prüfen 4. Objektrelationale Strukturen erstellen Comelio GmbH

76 XML Schema-Einsatz: Überblick XML Schema ist ein W3C-Standard, mit dem XML-Strukturen beschrieben werden können. Die entstehenden Regeldokumente liegen wiederum in XML vor und werden hauptsächlich für die Validierung/Prüfung von XML-Daten genutzt. Für die Verwendung von XML Schema eignet sich das Paket DBMS_XMLSCHEMA. Durch die Anmeldung kann man das XML Schema über eine URL referenzieren. Neben der Validierung bietet es die Möglichkeit, die für SYS_XMLGEN()- Abfragen oder die objektrelationale Speicherung notwendigen objektrelationalen Strukturen automatisch zu erstellen. Comelio GmbH

77 Inhalt des Moduls 1. Übersicht 2. XML Schema registrieren 3. XML-Daten prüfen 4. Objektrelationale Strukturen erstellen Comelio GmbH

78 XML Schema-Einsatz: XML Schema registrieren Beispiel: XML Schema registrieren. BEGIN -- Schema aufgrund von XMLType registrieren DBMS_XMLSCHEMA.registerSchema( schemaurl => ' schemadoc => XMLType('<?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" elementformdefault="qualified"> <xs:element name="kurs"> <xs:complextype> <xs:sequence> <xs:element name="titel" type="xs:string"/> <xs:element name="untertitel" type="xs:string"/> <xs:element name="dauer" type="xs:byte"/> </xs:sequence> <xs:attribute name="nr" type="xs:int" use="required"/> </xs:complextype> </xs:element> </xs:schema>')); END; Comelio GmbH

79 XML Schema-Einsatz: XML Schema registrieren Beispiel: XML Schema registrieren. BEGIN Schema anhand eines URI registrieren DBMS_XMLSCHEMA.registerURI( schemaurl => ' schemadocuri => ' -- Schema löschen mit allen erzeugten Objekten schemaurldbms_xmlschema.deleteschema( schemaurl => ' delete_option => DBMS_XMLSCHEMA.DELETE_CASCADE); END; Comelio GmbH

80 Inhalt des Moduls 1. Übersicht 2. XML Schema registrieren 3. XML-Daten prüfen 4. Objektrelationale Strukturen erstellen Comelio GmbH

81 XML Schema-Einsatz: XML-Daten prüfen Sinn und Zweck der Verwendung von XML Schema in der Datenbank ist es nicht, nur in PL/SQL darauf zu überprüfen, ob eine XML-Datei gültig ist. Vielmehr ist es möglich, Tabellen auf einem XML Schema basieren zu lassen. Hier kann man sich entscheiden, ob man eine einzelne Spalte schemabasiert definiert oder einfach eine ganze Tabelle als Speicherort für XML-Daten anbietet. Dies sind weitere Möglichkeiten, die es nicht voraussetzen, dass die XML-Daten zerlegt werden. Die letzte Stufe der XML-Speicherung ist dann als Dokument, wobei hier die originale Oracle XDB zum Einsatz kommen kann und man eine ordnerbasierte Speicherstruktur aufbaut. Comelio GmbH

82 XML Schema-Einsatz: XML-Daten prüfen Beispiel: XMLType-Tabellen/-Spalten festlegen. -- XMLType-Tabelle CREATE TABLE kurs_x1 OF XMLTYPE XMLSCHEMA " ELEMENT "Kurs"; -- XMLType-Spalte CREATE TABLE kurs_x2 (K_Nr NUMBER, K_Inhalt XMLType) XMLTYPE COLUMN K_Inhalt ELEMENT " -- XMLType-Tabelle mit CLOB-Speicherung CREATE TABLE kurs_x3 OF XMLType XMLTYPE STORE AS CLOB XMLSCHEMA " ELEMENT "Kurs"; -- XMLType-Spalte mit CLOB-Speicherung CREATE TABLE kurs_x4 (K_Nr NUMBER, K_Inhalt XMLType) XMLTYPE COLUMN K_Inhalt STORE AS CLOB XMLSCHEMA " ELEMENT "Kurs"; Comelio GmbH

83 XML Schema-Einsatz: XML-Daten prüfen Es gibt auch eine Möglichkeit, dass man bewusst die Hierarchien bei der Speicherung herausnimmt. Dies kann Geschwindigkeitsvorteile bei Aktualisierungen von genau diesen enthaltenen Strukturen bedeuten. In dieser Technik lassen sich auch Schlüssel und sogar Fremdschlüssel in den XML-Dokumenten festlegen. Sollte man aber mehrere Listen auslagern wollen, dann setzt man ganz einfach ohne Komma weitere VARRAY STORE-Angaben hintereinander. Der Bezeichner XMLDATA referenziert die XML-Daten und gilt quasi als Wurzelelement von allen Daten unterhalb des eigentlichen Wurzelelements. CREATE TABLE Dozent_Tabelle OF XMLType (UNIQUE ("XMLDATA"."Nr"), FOREIGN KEY ("XMLDATA"."Nr") REFERENCES Dozent (D_Nr)) ELEMENT " VARRAY "XMLDATA"."Kursliste"."Thema" STORE AS TABLE Thema_Tabelle ((PRIMARY KEY (NESTED_TABLE_ID, SYS_NC_ARRAY_INDEX$)) ORGANIZATION INDEX OVERFLOW) Comelio GmbH

84 Inhalt des Moduls 1. Übersicht 2. XML Schema registrieren 3. XML-Daten prüfen 4. Objektrelationale Strukturen erstellen Comelio GmbH

85 XML Schema-Einsatz: Objektrelationale Strukturen erstellen Beispiel: Objektrelationale Strukturen über XML Schema generieren. Es können Standard-Strukturen mit Standard-Namen generiert werden. Im Regelfall ergänzt man allerdings das XML Schema um Oracle-Fremd- Attribute. <xsd:schema... xmlns:xdb=" <xsd:element name="kurs_t" type="kurs_ttype xdb:sqltype="kurs_t" xdb:sqlschema="scott"/> <xsd:complextype name="kurs_ttype" xdb:sqltype="kurs_t" xdb:sqlschema="scott > <xsd:sequence> <xsd:element name="titel xdb:sqlname="titel xdb:sqltype="varchar2"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:maxlength value="40"/> </xsd:restriction> </xsd:simpletype> </xsd:element> Comelio GmbH

86 XML Schema-Einsatz: Objektrelationale Strukturen erstellen Beispiel: Objektrelationale Strukturen über XML Schema generieren. <xsd:element name="dauer" type="xsd:double" xdb:sqlname="dauer xdb:sqltype="number"/> <xsd:element name="nr xdb:sqlname="nr xdb:sqltype="varchar2"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:maxlength value="30"/> </xsd:restriction> </xsd:simpletype> </xsd:element> </xsd:sequence> </xsd:complextype> </xsd:schema> CREATE OR REPLACE TYPE "SCOTT"."Kurs_T" AS OBJECT ( "Titel" VARCHAR2(40 CHAR), "Untertitel" VARCHAR2(40 CHAR), "Dauer" NUMBER, "Nr" VARCHAR2(30 CHAR) ) NOT FINAL INSTANTIABLE; Comelio GmbH

87 XML Schema-Einsatz: Objektrelationale Strukturen erstellen Beispiel: Objektrelationale Strukturen über XML Schema generieren. CREATE TYPE Dozent_T AS OBJECT ( "Nr" NUMBER(7,0), "Vorname" VARCHAR2(20), "Nachname" VARCHAR2(30), "Kursliste" Thema_T ); CREATE TYPE Thema_T AS OBJECT ( "Thema" Thema_C ); CREATE TYPE Thema_C AS VARRAY( ) OF ThemaKinder_T; CREATE TYPE ThemaKinder_T AS OBJECT ( "Nr" NUMBER(7,0), "Titel" VARCHAR2(30), "Untertitel" VARCHAR2(40) ); Comelio GmbH

88 XML Schema-Einsatz: Objektrelationale Strukturen erstellen Ändert sich das Datenmodell in der XML Schema-Datei, müssen bestehende XML-Daten und sogar ggf. objektrelationale Strukturen angepasst werden. Dies gelingt ebenfalls über Oracle-XML Schema-Annotationen und PL/SQL. XML Schema-Entwicklung XML Schema XML Schema neu Umwandlung der Daten Erzeugung der neuen Strukturen XML XSLT XML neu Tabelle Tabelle neu Comelio GmbH

89 XML Schema-Einsatz: Objektrelationale Strukturen erstellen Beispiel: Objektrelationale Strukturen über sich veränderndes XML Schema ebenfalls anpassen. BEGIN DBMS_XMLSCHEMA.copyEvolve( xdb$string_list_t('url der alten XML Schema-Datei'), XMLSequenceType(XMLType('XML-Fassung von neuem XML Schema')), XMLSequenceType(XMLType('XSLT-Transformation, um alte Daten zu ändern'))); END; Comelio GmbH

90 Fahrplan 1. Vorstellung 2. XML-Strategie in Oracle 3. Relationale Daten in XML 4. XML-Verarbeitung mit PL/SQL 5. Speicherstrategien von XML 6. XML Schema-Einsatz 7. XML-Datentyp XMLType 8. Fragerunde Comelio GmbH

91 Inhalt des Moduls 1. Übersicht 2. Methoden 3. XML Schema und XSLT Comelio GmbH

92 XML-Datentyp XMLType: Übersicht Der Datentyp XMLType ist der zentrale Datentyp für die Verarbeitung und Speicherung von XML in Oracle. Der XML-Datentyp weist viele Fähigkeiten auf, die ihn von anderen Datentypen unterscheiden und die ihn für die XML-Verarbeitung besonders geeignet machen. Zu diesen speziellen Eigenschaften zählen: PL/SQL DOM API für XMLType (Paket DBMS_XMLDOM) zur Adressierung und Verarbeitung von XML sowie zur Erzeugung und Manipulation von bestehenden XML-Strukturen. XMLType-Objekte: Diese Objekte können schema- oder nicht-schemabasiert sein. PL/SQL XML Parser API für XMLType (Paket DBMS_XMLPARSER) für die Durchführung von Parsing-Vorgängen auf XML-Strukturen. PL/SQL XSLT Prozessor für XMLType (Paket DBMS_XSLPROCESSOR): Für die Transformation von XML-Daten mit Hilfe des XSLT-Standards. PL/SQL XML Schema-API Die spezielle API für die Arbeit mit XMLType-Daten erlaubt die Erstellung von XMLType-Tabellen, Spalten und Sichten sowie die Adressierung, Validierung und Bearbeitung solcher Daten. Comelio GmbH

93 Inhalt des Moduls 1. Übersicht 2. Methoden 3. XML Schema und XSLT Comelio GmbH

94 XML-Datentyp XMLType: Methoden Der Datentyp XMLType besitzt wie ein Objekttyp eigene Methoden, mit denen eine Reihe von Bearbeitungen durchgeführt werden können und Standards wie XML Schema, XSLT, XPath und XQuery genutzt werden können. Da er als Spalten-/Variablen- und Parameterdatentyp auftreten kann, können diese XML-Standards überall in PL/SQL genutzt werden. Methoden (Auswahl): existsnode(): Prüft anhand eines XPath-/XQuery-Ausdrucks, ob in der angegebenen XMLType-Instanz passende Knoten vorhanden sind (Rückgabewert 1) oder nicht (Wert 0). extract(): Liefert anhand eines XPath-/XQuery-Ausdrucks in der angegebenen XMLType-Instanz passende Knoten. extractvalue(): Liefert auf Basis eines XMLType-Parameters und eines XPath-Ausdrucks einen skalaren Wert (kein XML-Fragment) zurück. updatexml(): Ersetzt XML-Knoten. Die Funktion erwartet als ersten Parameter die XMLType-Instanz, die zu bearbeiten ist, als zweiten Parameter einen XPath-/XQuery-Ausdruck, der die zu ersetzenden Teile definiert, und als dritten Parameter in XMLType oder VARCHAR2 die Ersetzung. Die folgenden Methoden haben ähnliche Parameter. insertchildxml(): Fügt Elemente oder Attribute zu einem Knoten hinzu. deletexml(): Löscht XML-Knoten. Comelio GmbH

95 XML-Datentyp XMLType: Methoden Beispiele: Werte suchen und manipulieren. SELECT extract(t_xml, '//Termin').getStringVal() AS XML FROM termin_d WHERE t_knr = ; SELECT extract(t_xml, '//Termin[@Nr=498]/Beginn/text()') AS Beginn, extract(t_xml, '//Termin[@Nr=498]/Ende/text()') AS Ende FROM termin_d WHERE t_knr = ; SELECT t_xml AS XML FROM termin_d WHERE existsnode(t_xml, '//Termin[@Nr=498]') = 1; UPDATE termin_d SET t_xml = updatexml(t_xml, 'Termin/@Nr','782') WHERE extract(t_xml, 'Termin/@Nr').getStringVal()='498'; SELECT updatexml(t_xml, 'Termin/Beginn/text()', ' ', 'Termin/Ende/text()', ' ') FROM termin_d; Comelio GmbH

96 Inhalt des Moduls 1. Übersicht 2. Methoden 3. XML Schema und XSLT Comelio GmbH

97 XML-Datentyp XMLType: XML Schema und XSLT Ohne einen Parser starten zu müssen, kann man eine Spalte bzw. eine Variable, deren Datentyp XMLType ist, direkt mit Hilfe von XSLT transformieren. Dies verkürzt eine entsprechende Anwendung erheblich und beschränkt sie nur auf die Beschaffung der Daten, die Transformation über die SQL-Funktion XMLtransform() oder die XMLType-Methode transform() und das Speichern der Ergebnisdaten in einer geeigneten Variablen. Die grundlegende Technologie, die für die Transformation bzw. für den Algorithmus der Transformation verwendet werden muss, ist dann XSLT. Beide Techniken können in SQL und PL/SQL zum Einsatz kommen. Comelio GmbH

98 XML-Datentyp XMLType: XML Schema und XSLT Beispiele: XSLT- Transformation in SQL und PL/SQL durchführen. Hinweis: XML und XSLT sind als XMLType in einer Tabelle gespeichert. DECLARE v_html VARCHAR2(4000); v_xml XMLType; v_xslt XMLType; BEGIN -- Transformation über SQL -- ohne Parameter SELECT XMLTransform(t_xml, t_xslt).getstringval() INTO v_html FROM termin_d; DBMS_OUTPUT.PUT_LINE(v_HTML); -- Transformation über PL/SQL -- mit Parameter SELECT t_xml, t_xslt INTO v_xml, v_xslt FROM termin_d; v_html := v_xml.transform(v_xslt, 'liste="''ul''"').getstringval(); DBMS_OUTPUT.PUT_LINE(v_HTML); END; Comelio GmbH

99 XML-Datentyp XMLType: XML Schema und XSLT XMLType kann in Zusammenhang mit XML Schema auch dafür genutzt werden, nur gültiges XML zu speichern und XML-Daten zu prüfen. Es stehen für die Arbeit mit XML Schema die folgenden Typ-Methoden zur Verfügung (Auswahl): createschemabasedxml(): Erzeugt eine XMLType-Instanz mit Schema- Verknüpfung. schemavalidate(): Validiert die Eingabedaten einer XMLType-Instanz auf Basis eines XML Schemas. isschemavalidated(): Prüft, ob die XMLType-Instanz validiert wurde. isschemavalid(): Prüft, ob die XMLType-Instanz gültig ist. Comelio GmbH

100 XML-Datentyp XMLType: XML Schema und XSLT SELECT XMLIsValid(t_xml, t_schema), t_xml, t_schema FROM termin_d; DECLARE v_xml1 XMLType; v_xml2 XMLType; v_schema XMLType; BEGIN SELECT t_xml, t_schema INTO v_xml1, v_schema FROM termin_d WHERE t_knr = ; v_xml2 := v_xml1.createschemabasedxml(' -- Status der Validierung abfragen -- Variante 1 v_xml2.schemavalidate(); IF v_xml2.isschemavalidated() = 1 THEN DBMS_OUTPUT.PUT_LINE('Schema-URL: ' v_xml2.getschemaurl()); DBMS_OUTPUT.PUT_LINE('Wurzel: ' v_xml2.getrootelement()); END IF; -- Variante 2 IF v_xml2.isschemavalid(' 'Termin') = 1 THEN DBMS_OUTPUT.PUT_LINE('Namensraum: ' v_xml2.getnamespace()); DBMS_OUTPUT.PUT_LINE('Schemabasiert: ' v_xml2.isschemabased()); END IF; END; Beispiele: XML Schema- Validierung in SQL und PL/SQL durchführen. Hinweis: XML und XML Schema sind als XMLType in einer Tabelle gespeichert. XML Schema ist angemeldet. Comelio GmbH

101 Fahrplan 1. Vorstellung 2. XML-Strategie in Oracle 3. Relationale Daten in XML 4. XML-Verarbeitung mit PL/SQL 5. Speicherstrategien von XML 6. XML Schema-Einsatz 7. XML-Datentyp XMLType 8. Fragerunde Comelio GmbH

102 Fragerunde Nun geht s an die Fragerunde. Sie trauen sich nicht, die eine entscheidende Frage zu stellen, aber hier ist trotzdem die Antwort. Wer ist der Drache, und wo kriege ich ihn her? Comelio-Bilder zum Selberausmalen: Weitere Fragen folgen nun Comelio GmbH

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

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

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de 3.12.09 HKInformationsverarbeitung Kurs: Datenbanken vs. MarkUp WS 09/10 Dozent: Prof. Dr. M. Thaller XINDICE The Apache XML Project Inhalt Native

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

Oracle PL/SQL und XML. Marco Skulschus Marcus Wiederstein

Oracle PL/SQL und XML. Marco Skulschus Marcus Wiederstein www.comelio-medien.com Oracle, PL/SQL und XML Marco Skulschus Marcus Wiederstein Oracle PL/SQL und XML Marco Skulschus Marcus Wiederstein Oracle, PL/SQL und XML Marco Skulschus Marcus Wiederstein Webseite

Mehr

M e d i e n IT-Beratung I Projekte I Seminare

M e d i e n IT-Beratung I Projekte I Seminare M e d i e n IT-Beratung I Projekte I Seminare I N H A L T I N H A L T Buchkatalog... XML... Datenbanken... Web-Programmierung... Empirische Sozialforschung... Online Medien... Comelio-Blog... Kurzreferenzen...

Mehr

SEMINAR Modifikation für die Nutzung des Community Builders

SEMINAR Modifikation für die Nutzung des Community Builders 20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Ein Ausflug zu ACCESS

Ein Ausflug zu ACCESS Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E S TAND N OVEMBE R 2012 HANDBUCH T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E Herausgeber Referat Informationstechnologie in der Landeskirche und im Oberkirchenrat Evangelischer Oberkirchenrat

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

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

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

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

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

Vorwort. Aufbau und Struktur

Vorwort. Aufbau und Struktur Vorwort Herzlich willkommen zu einem Fachbuch aus dem Verlag Comelio Medien. Dieses Buch aus dem Bereich Datenbanken soll Sie dabei unterstützen, die Oracle SQL zu lernen, um DB-Objekte zu erstellen und

Mehr

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

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

Mehr

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010 FHNW, Services, ICT Windisch, März 2013 Berechtigungen im Kalender 1 1 Gruppen 3 1.1 Die Gruppe/der Benutzer Standard

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

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

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

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Aufgaben zu XPath und XQuery

Aufgaben zu XPath und XQuery Aufgaben zu XPath und XQuery Dr. Arno Schmidhauser Letzte Revision: März 2005 Email: arno.schmidhauser@sws.bfh.ch Webseite: http://www.sws.bfh.ch/db Inhalt 1 XPath... 2 2 XQuery... 2 3 XPath/SQL Umsetzung...

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

SICHERN DER FAVORITEN

SICHERN DER FAVORITEN Seite 1 von 7 SICHERN DER FAVORITEN Eine Anleitung zum Sichern der eigenen Favoriten zur Verfügung gestellt durch: ZID Dezentrale Systeme März 2010 Seite 2 von 7 Für die Datensicherheit ist bekanntlich

Mehr

1 ZUR EINSTIMMUNG............................................ 13 1.1 AUFBAU DES BUCHES.......................................... 13 1.2 VORAUSSETZUNGEN FÜR DIESES BUCH.............................. 14

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

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

CL-Mini-ABF. Kurzbeschreibung. Installation und Vorbereitung. Stand 30.01.2012. Ihre HTK-Filiale Michelstadt

CL-Mini-ABF. Kurzbeschreibung. Installation und Vorbereitung. Stand 30.01.2012. Ihre HTK-Filiale Michelstadt 64720 email : Info@KM-EDV.de Stand 30.01.2012 CL-Mini-ABF Inhaltsverzeichnis Kurzbeschreibung... 1 Installation und Vorbereitung...1 ODBC-Zugriff... 2 ODBC-Einrichtung unter Windows XP...2 ODBC-Einrichtung

Mehr

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift. Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Installationsbeschreibung Import / ATLAS / PV Zollsystem für die EDV-Abteilung

Installationsbeschreibung Import / ATLAS / PV Zollsystem für die EDV-Abteilung Seite 1/11 Installationsbeschreibung Import / ATLAS / PV Zollsystem für die EDV-Abteilung 1. WICHTIGE HINWEISE Anbei erhalten Sie das Import /PV ATLAS NCTS Update Version V8.4.1 Build: 404, welches Sie

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Backup der Progress Datenbank

Backup der Progress Datenbank Backup der Progress Datenbank Zeitplandienst (AT): Beachten Sie bitte: Die folgenden Aktionen können nur direkt am Server, vollzogen werden. Mit Progress 9.1 gibt es keine Möglichkeit über die Clients,

Mehr

Online-Publishing mit HTML und CSS für Einsteigerinnen

Online-Publishing mit HTML und CSS für Einsteigerinnen mit HTML und CSS für Einsteigerinnen Dipl.-Math. Eva Dyllong Universität Duisburg Dipl.-Math. Maria Oelinger spirito GmbH IF MYT 07-2002 Web-Technologien Überblick HTML und CSS, XML und DTD, JavaScript

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Vorwort. Zu dieser Reihe. Autoren. Vorwort

Vorwort. Zu dieser Reihe. Autoren. Vorwort Vorwort 11 12 Vorwort Herzlich Willkommen zu einem Fachbuch von Comelio Medien, ein Bereich der Comelio GmbH. Wir hoffen sehr, dass Sie mit der Darstellung und Aufbereitung zu den verschiedenen Themengebieten

Mehr

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Zweck dieser Anleitung ist es einen kleinen Überblick über die Funktion Last Minute auf Swisshotelportal zu erhalten. Für das erstellen

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Gesicherte Prozeduren

Gesicherte Prozeduren Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

Mehr

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden Agentur für Werbung & Internet Schritt für Schritt: Newsletter mit WebEdition versenden E-Mail-Adresse im Control Panel einrichten Inhalt Vorwort 3 Einstellungen im Reiter «Eigenschaften» 4 Einstellungen

Mehr

XML und Datenbanken Fortsetzung

XML und Datenbanken Fortsetzung XML und Datenbanken Fortsetzung XML und Datenbanken 1 Anwendungsszenarien Fakultät für Informatik & Wirtschaftsinformatik XML und Datenbanken Generierung von XML aus Datenbanken Visualisierung von Datenbankinhalten

Mehr

Options- und Freitext-Modul Update-Anleitung

Options- und Freitext-Modul Update-Anleitung Options- und Freitext-Modul Update-Anleitung Hinweis... 2 Update für Versionen kleiner als 1.2.4 auf 1.3.x... 3 Update für Versionen ab 1.2.4 auf 1.3.x... 6 Update für Versionen ab 1.3.x auf 2.x.x... 7

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012) Information zum SQL Server: Installieren und deinstallieren (Stand: September 2012) Um pulsmagic nutzen zu können, wird eine SQL-Server-Datenbank benötigt. Im Rahmen der Installation von pulsmagic wird

Mehr

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

Erstellen einer PostScript-Datei unter Windows XP

Erstellen einer PostScript-Datei unter Windows XP Erstellen einer PostScript-Datei unter Windows XP Sie möchten uns Ihre Druckvorlage als PostScript-Datei einreichen. Um Fehler in der Herstellung von vorneherein auszuschließen, möchten wir Sie bitten,

Mehr

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole Lavid-F.I.S. Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der Lavid Software GmbH Dauner Straße 12, D-41236 Mönchengladbach http://www.lavid-software.net Support:

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

E-Mail-Versand an Galileo Kundenstamm. Galileo / Outlook

E-Mail-Versand an Galileo Kundenstamm. Galileo / Outlook E-Mail-Versand an Galileo Kundenstamm Galileo / Outlook 1 Grundsätzliches...1 2 Voraussetzung...1 3 Vorbereitung...2 3.1 E-Mail-Adressen exportieren 2 3.1.1 Ohne Filter 2 3.1.2 Mit Filter 2 4 Mail-Versand

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Registrierungsanleitung Informatik-Biber

Registrierungsanleitung Informatik-Biber Registrierungsanleitung Informatik-Biber Sehr geehrte Lehrkraft, wir freuen uns sehr, dass Sie mit Ihren Schülerinnen und Schülern am Informatik-Biber teilnehmen möchten. Für jede Schule, die beim Informatik-Biber

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Grafstat Checkliste Internetbefragung

Grafstat Checkliste Internetbefragung Grafstat Checkliste Internetbefragung ( A ) Datensammelpunkt im Formular eintragen ( B ) Befragung auf dem Datensammelpunkt anmelden ( C ) Formular ins Internet stellen (z.b. Homepage) ( D ) Befragung

Mehr

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr

Mehr

Import der Schülerdaten Sokrates Web

Import der Schülerdaten Sokrates Web 23.09.2014 Import der Schülerdaten Sokrates Web Leitfaden zum korrekten Import der Schülerdaten aus Sokrates Web WebUntis 2015 Über dieses Dokument Dieses Dokument beschreibt die konkreten Schritte, die

Mehr

Werkschau Web-Präsentationen

Werkschau Web-Präsentationen Werkschau Web-Präsentationen Willkommen zum Tutorial für neue Beiträge in der Werkschau. Mein Name ist Eugen Notter; ich habe für Sei diese Anleitung verfasst. Sie hilft Ihnen dabei, in der Medien-Galerie

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

SJ OFFICE - Update 3.0

SJ OFFICE - Update 3.0 SJ OFFICE - Update 3.0 Das Update auf die vorherige Version 2.0 kostet netto Euro 75,00 für die erste Lizenz. Das Update für weitere Lizenzen kostet jeweils netto Euro 18,75 (25%). inkl. Programmsupport

Mehr

Beschaffung mit. Auszug aus dem Schulungshandbuch: Erste Schritte im UniKat-System

Beschaffung mit. Auszug aus dem Schulungshandbuch: Erste Schritte im UniKat-System Beschaffung mit Auszug aus dem Schulungshandbuch: Erste Schritte im UniKat-System Stand: 31. Oktober 2014 Inhaltsverzeichnis 1 Erste Schritte im UniKat-System... 2 1.1 Aufruf des Systems... 2 1.2 Personalisierung...

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

IAWWeb PDFManager. - Kurzanleitung -

IAWWeb PDFManager. - Kurzanleitung - IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die

Mehr

1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software

1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software 1. Software installieren 2. Software starten Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software 3. Auswahl 1. Neues Fotobuch erstellen oder 2. ein erstelltes, gespeichertes Fotobuch laden und bearbeiten.

Mehr

ESB - Elektronischer Service Bericht

ESB - Elektronischer Service Bericht Desk Software & Consulting GmbH ESB - Elektronischer Service Bericht Dokumentation des elektronischen Serviceberichts Matthias Hoffmann 25.04.2012 DESK Software und Consulting GmbH Im Heerfeld 2-4 35713

Mehr

10.3.1.5 Übung - Datensicherung und Wiederherstellung in Windows Vista

10.3.1.5 Übung - Datensicherung und Wiederherstellung in Windows Vista 5.0 10.3.1.5 Übung - Datensicherung und Wiederherstellung in Windows Vista Einführung Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie die Daten sichern. Sie werden auch

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH Dokumentenverwaltung Copyright 2012 cobra computer s brainware GmbH cobra Adress PLUS ist eingetragenes Warenzeichen der cobra computer s brainware GmbH. Andere Begriffe können Warenzeichen oder anderweitig

Mehr

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden. Track in Route umwandeln ACHTUNG: Ein Track kann nur dann in eine Route umgewandelt werden, wenn der Track auf Wegen gefahren wurde. Ein Querfeldein-Track kann nicht in eine Route umgewandelt werden, da

Mehr

Emaileinrichtung in den kaufmännischen Programmen der WISO Reihe

Emaileinrichtung in den kaufmännischen Programmen der WISO Reihe Emaileinrichtung in den kaufmännischen Programmen der WISO Reihe Voraussetzung für die Einrichtung eine Emailanbindung in den kaufmännischen Produkten der WISO Reihe ist ein auf dem System als Standardmailclient

Mehr

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen Das können wir Ihnen versprechen: An der neuen Taskleiste in Windows 7 werden Sie sehr viel Freude haben. Denn diese sorgt

Mehr

S.M. Hartmann GmbH IT Solutions

S.M. Hartmann GmbH IT Solutions S.M. Hartmann GmbH 82008 Unterhaching Prager Straße 7 www.smhsoftware.de S.M. Hartmann GmbH IT Solutions Software für den modernen Handel Modul IDEA-Schnittstelle gemäß GDPdU Version V5.0 Funktionsüberblick

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta! Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Um mehrere Versionsstände parallel betreiben zu können, sollte man die folgenden Hintergründe kennen, um zu verstehen wo ggf. die Hürden liegen.

Mehr

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014 Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014 Martin Vollenweider Dateinamen im Internet Da wir im Internet in gemischten Hard- und Softwareumgebungen (z.b. Windows, Unix, Macintosh,

Mehr