Zurück

In den Warenkorb

Empfehlung per E-Mail versenden

Probeexemplar anfordern

Gerne schicken wir Ihnen ein Probeexemplar an die angegeben Adresse.
Oracle, PL/SQL und XML

Oracle, PL/SQL und XML

vonSkulschus, Marco | Wiederstein, Marcus
Deutsch, Erscheinungstermin 30.01.2011
lieferbar

eBook

29,99 €
(inkl. MwSt.)

Buch (broschiert)

39,95 €
(inkl. MwSt.)

Informationen zum Titel

978-3-939701-51-4
Essen
30.01.2011
2011
2
2., überarbeitete Auflage
eBook
PDF mit digitalem Wasserzeichen
450
Deutsch
Programmier- und Skriptsprachen, allgemein
1. XML-Technologien 33
1. 1.  Modellierung mit DTD 34
1. 1. 1.  Elemente, Attribute 34
1. 1. 2.  Komplexe Inhaltsmodelle 39
1. 1. 3.  Schlüssel- und Schlüsselverweise 41
1. 2.  Modellierung mit XML Schema 44
1. 2. 1.  Globale/Lokale Elemente und Attribute 46
1. 2. 2.  Datentypen 52
1. 2. 3.  Globale komplexe Typen 58
1. 2. 4.  Schlüssel und Schlüsselverweise 61
1. 3.  Abfrage mit XPath 66
1. 3. 1.  Achsen 66
1. 3. 2.  Prädikate 73
1. 3. 3.  Funktionen 74
1. 4.  Abfrage mit XQuery 77
1. 4. 1.  Einführung 78
1. 4. 2.  FLOWR-Ausdrücke 80
1. 4. 3.  XML-Erstellung 82
1. 4. 4.  Variablen 86
1. 4. 5.  Fallunterscheidungen 86
1. 5.  Transformation mit XSLT 87
1. 5. 1.  Vorlagen 88
1. 5. 2.  Kontrollanweisungen 95
1. 5. 3.  Variablen und Parameter 97
1. 5. 4.  XSLT im Zusammenhang 101
2. Relationale Abfrageergebnisse als XML 107
2. 1.  ISO-Standard: SQL/XML-Funktionen 108
2. 1. 1.  Einfache Abfragen 111
2. 1. 2.  Weitere Dokumentangaben 117
2. 1. 3.  Komplexe Abfragen 121
2. 1. 4.  SQL/XML-Abfragen verarbeiten 128
2. 1. 5.  Bewertung der SQL/XML-Funktionen 133
2. 2.  Oracle 8i: Abfragen mit DBMS_XMLQUERY 134
2. 2. 1.  Paketstruktur 135
2. 2. 2.  Abfrageverarbeitung 140
2. 3.  Oracle 9i/10g: Abfragen mit DBMS_XMLGEN 142
2. 3. 1.  Paketstruktur 142
2. 3. 2.  Abfrageverarbeitung 144
2. 3. 3.  Komplexe Abfragen 147
2. 4.  9i/10g/11g: Oracle-spezifische SQL-Funktionen 155
2. 4. 1.  Erzeugung von einfachen Elementen 155
2. 4. 2.  Einsatz von Objekt- und Tabellentypen 156
2. 4. 3.  Erzeugung von Aggregaten 161
2. 4. 4.  XML-Dokumentvorgaben 162
3. XML Verarbeitung mit PL/SQL 169
3. 1.  XML-Parser und das DBMS_XMLPARSER-Paket 169
3. 1. 1.  Aufbau des Pakets 170
3. 1. 2.  Beispiel 172
3. 2.  Verwendung des DOM mit DBMS_XMLDOM 174
3. 2. 1.  Allgemeiner Aufbau des Pakets 174
3. 2. 2.  Methoden im Einsatz 179
3. 2. 3.  Beispiele 221
3. 3.  Verwendung von XSLT mit DBMS_XSLPROCESSOR 231
3. 3. 1.  Aufbau des Pakets 232
3. 3. 2.  Beispiel 237
4. XML in Oracle speichern 251
4. 1.  Einführung 251
4. 1. 1.  Zielsetzung 252
4. 1. 2.  Struktur der Beispieldaten 254
4. 1. 3.  Übersicht der Speichermöglichkeiten 259
4. 2.  Realisierung einer Import-/Export-Schnittstelle 260
4. 2. 1.  Export 261
4. 2. 2.  Import 266
4. 3.  Speicheransätze 271
4. 3. 1.  Einsatz des Dateisystems 271
4. 3. 2.  Relationale Speicherung 272
4. 3. 3.  Objektrelationale Speicherung 274
4. 3. 4.  Einsatz von XMLType 276
4. 3. 5.  De-/Serialisierung von Objekten 279
5. XML Schema-basiertes XML 287
5. 1.  DBMS_XMLSCHEMA 287
5. 1. 1.  XML Schema registrieren 288
5. 2.  Speicherstrukturen und XML Schema generieren 293
5. 2. 1.  XML Schema entwickeln 304
5. 2. 2.  Katalog-Sichten 310
5. 3.  Schemabasierte Speicherung 311
5. 3. 1.  XML Schema und XML-Speicherung 311
5. 3. 2.  Fortgeschrittene Speicheroptionen 318
5. 4.  Einführung Oracle XDB 323
5. 4. 1.  Grundsätzliches zur XML-Datenbank 323
5. 4. 2.  Verwaltung mit dem Paket DBMS_XDB 326
5. 4. 3.  Katalog-Sichten 339
5. 4. 4.  RESOURCE_VIEW und PATH_VIEW 342
6. XML-Datentyp XMLType 353
6. 1.  Einsatz in Tabellen und Spalten 354
6. 1. 1.  Allgemeine Unterprogramme 354
6. 1. 2.  Verwendung bei der Datenerfassung 357
6. 1. 3.  Verwendung bei Abfragen 358
6. 1. 4.  Verwendung bei Manipulation 364
6. 2.  DBMS_XMLSTORE 372
6. 2. 1.  Aufbau des Pakets 373
6. 2. 2.  Beispiele 375
6. 3.  XML Schema und XSLT 381
6. 3. 1.  Transformation von XMLType 382
6. 3. 2.  Validierung von XMLType 386
6. 4.  XMLType-Sichten 390
6. 4. 1.  Erzeugung von Sichten ohne XMLSchema 391
6. 4. 2.  Erzeugung von Sichten mit XML Schema 392
7. Webservices 397
7. 1.  Grundlagen und Architektur 397
7. 1. 1.  Definition 398
7. 1. 2.  Architektur 400
7. 1. 3.  Technologien von Webservices 403
7. 1. 4.  Einsatzmöglichkeiten und Szenarien 406
7. 1. 5.  Webservice-Modelle 411
7. 2.  Umsetzung in Oracle 417
7. 2. 1.  Architektur 417
7. 2. 2.  SOAP 420
7. 2. 3.  WSDL 426
7. 3.  Webdienste erstellen 442
7. 3. 1.  Einrichtung 443
7. 3. 2.  Funktionen/Prozeduren als Webservices 445
7. 3. 3.  SQL-Anweisungen über Webservices 450
XML-Schnittstellen ersetzen allerorten Lösungen auf Basis von einfachen Textdateien oder Protokolldaten, Unternehmen gehen dazu über, semistrukturierte Daten direkt in einer (objekt)relationalen Datenbank zu speichern. Wenn Oracle im Einsatz ist, hat man eine vollwertige XML-Datenbank bereits zur Verfügung und kann aus einer Reihe von Werkzeugen für die Erzeugung, Speicherung, Abfrage und allgemein die Integration von XML-Daten in seine Datenlandschaft die beste Kombination auswählen. Dieses Buch stellt die Techniken von Oracle dar, wie in der Standard-DB oder in der speziellen XML DB (XDB) XML-Daten verwendet werden können. Dabei erläutert es die verschiedenen traditionellen und Oracle-spezifischen Speicheransätze sowie die vollständige relationale Zerlegung oder native Speicherung und Verarbeitung im XML-Datentyp XMLType genauso wie die Verarbeitung mit Hilfe von PL/SQL, die Erzeugung über SQL/XML und den Einsatz von Webservices. Das Buch fokussiert insbesondere den Aspekt der Errichtung von XML-fähigen Schnittstellen zwischen kooperierenden Systemen. Versionen: 9i, 10g und 11g.
Marco Skulschus studierte Ökonomie in Wuppertal und Paris und setzt im Rahmen seiner Arbeit.NET und Java sowie XML für das Datenbanksystem Oracle ein. Er arbeitet als Dozent und Projektleiter für Business Intelligence-Anwendungen und betriebliche Software. Marcus Wiederstein studierte Elektrotechnik in Bochum und Dortmund und ist verantwortlich für die Durchführung von Projekten im Bereich Systemintegration und Datenbanken (Sicherheit, Hochverfügbarkeit, Datenintegration). Zusammen haben sie eine Reihe von Büchern zu Datenbanken (Oracle und MS SQL Server) sowie zu XML geschrieben.
Herzlich Willkommen zu einem Fachbuch aus dem Comelio Medien-Verlag. Wir sind stets bemüht, Ihnen aktuelle Informationen rund um IT-Technologien in beispielorientierter und verständlicher Weise zu liefern, damit Sie auf diesem Wege in die Lage versetzt werden, Anforderungen mit neueren Werkzeugen als den bisherigen umzusetzen.
Zu dieser Reihe
Diese Buchreihe widmet sich aus der Sicht der Softwareentwicklung dem Datenbanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden Werken oft der Fall ist, spezielle Themen zum Oracle-Einsatz behandelt werden sollen. Dies betrifft die Themen XML-Verarbeitung, Internetanwendungen / Web Services und die Verwendung von PL/SQL und SQL sowie objektrelationale Techniken. In die einzelnen Themengebiete soll – je nach Notwendigkeit – kurz eingeführt werden, ohne eine Lektüre für Anfänger sein zu wollen. Stattdessen richten sich bis auf unser Oracle SQL-Buch alle Veröffentlichungen an Softwareentwickler, die bereits Kenntnisse mit dem Oracle-Datenbanksystem haben und sich spezialisierte Kenntnisse aus einzelnen Bereichen aneignen wollen.
Zu dieser Reihe gehören die folgenden Bücher:

Oracle PL/SQL, ISBN 978-3-939701-40-8
Oracle SQL, ISBN 978-3-939701-41-5
Oracle PL/SQL - Objekte und Objektrelationale Techniken,
ISBN 978-3-939701-42-2
PHP und Oracle, ISBN 978-3-939701-01-9
Zu diesem Buch
In diesem Buch stellen wir Ihnen den Einsatz von XML im Oracle-Datenbanksystem vor, wobei wir davon ausgehen, dass Sie mit SQL und PL/SQL schon Erfahrung haben, XML für Sie allerdings eine neue Welt ist und Sie nun die Aufgabe erhalten haben, für eine Anwendung XML in verschiedenen Varianten mit der Datenbank zu verwenden.
Vorteile von XML
XML bietet eine Reihe von Vorteilen, welche die schnelle und umfassende Verbreitung sehr gefördert haben. Teilweise befürchten insbesondere Datenbankprogrammierer und Administratoren, XML könnte in irgendeiner Weise eine Datenbank ersetzen. Ab und an trifft man auch auf Verantwortliche, die eine solche Überlegung pflegen oder wenigstens grundsätzlich erwogen haben. Dazu wird es nicht kommen. Vielmehr haben sich, wie man in den letzten Jahren gut gesehen hat, die großen DB-Hersteller wie Oracle, Microsoft und IBM in ihren Datenbanksystemen einen neuen XML-Datentyp eingeführt, der es den DB-Produkten ermöglicht, sich diese neue Technologie der Datenspeicherung und –abbildung gleichfalls einzuverleiben.
Zu den gerade genannten Vorteilen von XML im Gegensatz zu CSV und insbesondere sonstigen Protokollformaten zählen u.a. die folgenden:

Einfachheit: XML ist, wenn man sich grundlegend damit beschäftigt, ein sehr einfacher Standard, der durch die starke Verbreitung von HTML nur wenig Neues für HTML-versierte Entwickler bietet. Damit ist allerdings auch schon die erste Problemstelle aufgedeckt, denn mehr als die spitzen Klammern, die Verwendung von Attributen und der korrekten Verschachtelung haben HTML und XML nichts gemeinsam. Stattdessen dient XML dem allgemeinen Datenaustausch und der ebenso allgemeinen Datenmodellierung. Doch die Ähnlichkeit mit einer noch einfacheren Syntax und die gute Lesbarkeit von XML-Strukturen im Gegensatz zu Protokollen begünstigen eine starke und vor allen Dingen schnelle Verbreitung. HTML bzw. seine wohlgeformte Variante XHTML dagegen entspricht einer gegebenen Modellierung von Strukturen in XML, die für die Inhaltspräsenation in so genannten Browser-Programmen eingesetzt werden kann.
Vielseitiger Einsatz: Da – wie gerade schon erwähnt – XML für die Datenmodellierung und den Datenaustausch eingesetzt werden kann, ist es ebenso vielseitig verwendbar wie eine Datenbank. Praktisch überall dort, wo Daten anfallen, ausgetauscht und verarbeitet werden, lässt sich eine Lösung grundsätzlich auch in XML denken. Aus technischen Einschränkungen heraus oder aufgrund von zusätzlichen Anforderungen ist dies nicht immer die endgültige Wahl, doch ließe sich wenigstens eine Alternativ-Lösung in XML denken. Dies liegt nicht daran, dass XML besondere Fähigkeiten hat, sondern schlichtweg daran, dass es eine gute Möglichkeit ist, Daten zu verarbeiten. Nichtsdestotrotz wird man für allereinfachste Datenaustauschziele weiterhin auch kommagetrennte Werte verwenden oder aus XML heraus solche CSV-Werte erstellen oder den umgekehrten Weg beschreiten und aus CSV-Daten XML-Strukturen generieren müssen. Vielseitige Verwendung für Daten in Textform oder mit notwendigen Verschachtelungen und komplexen Strukturen, die in relationalen Datenbanken nicht akzeptabel abgebildet werden können, zeichnen XML aus. Gerade hinsichtlich des Datenaustauschs zwischen verschiedenen Datenbanken gibt es viele gemischte Lösungen, die gleichzeitig XML und Text in Form von CSV oder auch SQL verwenden. Dabei werden oft die verschiedenen Textformate aus XML-Srukturen heraus generiert.
Gute Lesbarkeit: Im Gegensatz zu kommagetrennten Werten oder gar Protokollen, welche Daten durch XML-ähnliche Steuerzeichen trennen, bietet XML im Normalfall eine schnell zu verstehende Lesbarkeit. Lange Dokumente oder tief verschachtelte Strukturen eignen sich zwar nicht notwendigerweise für eine direkte Lektüre ohne Transformation in ein tabellen- oder listenorientiertes Format, aber bei gut gewählten Bezeichnern und einem grundlegenden Verständnis des Themas oder der modellierten Datenstrukturen wird eine XML-Datei durch die Auszeichnung mit Hilfe der XML-Tags immer einfacher und besser zu lesen sein als kommagetrennte Werte ohne Auszeichnung oder Protokolldaten mit kryptischen Steuerzeichen. Ein frühes Gegenargument, das bei der Verwendung von XML auftauchte, beruhte darauf, dass durch die Auszeichnung der Daten sehr viel Speicherplatz einer Datei allein für die Datendarstellung und –aufbereitung verwendet wird. Dies ist unter den beiden Stichwörtern Nutzdaten und Beschreibungsdaten bekannt. Sind dazu diese Daten auch noch sehr kurz, kann der Fall eintreten, dass sogar mehr Dateispeicherplatz für die XML-Strukturen verwendet wird als für die eigentlichen Daten. Dies sollte allerdings bei heutiger Festplattengröße sowie Netzwerkübertragungsgeschwindigkeit einen zu vernachlässigenden Aspekt darstellen. XML-Daten sind natürlich nur dann gut lesbar, wenn die XML-Tags, welche die Daten auszeichnen, für den Leser verständlch sind. Gerade in speziellen Anwendungen im Finanz-, Wissenschafts- oder Technikbereich benötigt ein dem Gebiet grundsätzlich fern stehender Leser dann eine entsprechende Übersetzungshilfe in Form einer Dokumentation des Datenmodells. Es entfällt allerdings das bei CSV-Daten übliche Zählen (und vor allen Dingen Verzählen) von Positionen, was gerade bei breiten Strukturen mit vielen einzelnen Feldern Hürden für die Datenzugänglichkeit aufbaut.
Standardisierung: Protokolldaten in unterschiedlichen Systemen bzw. Industriezweigen beruhten und beruhen natürlich auch heute noch auf Standardisierungsabkommen zwischen Unternehmen und Organisationen. XML oder das W3C bieten auch keine Möglichkeiten, Datenstrukturen für jedweden Einsatzbereich einfach von der W3C-Webseite herunterzuladen und direkt weiterzuverwenden, aber der Grundansatz und das theoretische Fundament von XML sowie angrenzende Technologien wie XML Schema, XSLT, RDF oder XML Topic Maps liegen jeweils als Standards vor. Viele Industriezweige besitzen Schemata für ihre Datenstrukturen, welche weit verbreitet sind und sich auch gut verwenden lassen. Im Gegensatz zu Protokollen, in denen zumindest dieser Zustand auch vorherrscht(e), bietet die Verwendung von XML mit XSLT eine wirklich sehr einfache Möglichkeit, Daten auszutauschen und in andere Formate zu transformieren bzw. über das gesamte Namensraumkonzept auch Daten mit gleicher Auszeichnung oder fremden Strukturen zu mischen und weiterhin getrennt zu adressieren und zu verarbeiten. Die Vorteile der Standardisierung bei XML liegen also im Wesentlichen nicht darin, dass es eine große Auswahl an Standard-Schemata gibt, sondern vielmehr, dass die Grundkonzeption (XML selbst), die einfache Datenmodellierung (XML Schema), die semantische Datenmodellierung (RDF, XTM, OWL), die Adressierung (XPath, XQL) sowie die Transformation (XSLT, XSL-FO) herstellerungebunden vom W3C durchgeführt werden. Die Herstellerungebundenheit darf natürlich nicht überschätzt werden, weil die bedeutenden IT-Unternehmen mit entsprechender Marktmacht selbstverständlich alle auch im W3C Mitglied sind und dort auch Einfluss ausüben. Doch zumindest handelt es sich um ein Gremium, das nicht durch schiere Marktmacht dominiert wird, sondern seine Entscheidungen in einem Prozess trifft, in dem viele Parteien eingebunden sind. Neben dieser Standardisierung, welche die Basisarchitektur und damit die allgemeinen Bereiche Modellierung, Validierung, Abfrage und Umwandlung betrifft, gibt es eine Reihe von Versuchen, für bestimmte Sinnzusammenhänge Referenzmodelle und sogar feste Standards zu etablieren, welche den Datenaustausch noch weiter vereinfachen, da eine Umwandlung komplett entfällt. Man kann nicht erwarten, dass jeder Datenbereich überhaupt beschrieben wurde oder gar so gut modelliert wurde, dass die Modellierung exakt für das eigene Problem genutzt werden kann. Doch lohnt sich immer die Überlegung, ob möglicherweise ein solcher Standard existiert, um wenigstens Anregungen und Denkanstöße zu erhalten. Teilweise droht man allerdings auch, das Rad neu zu erfinden, sodass eine Kontrolle, ob ein Modellierungsversuch vorliegt, teilweise auch zu der Erkenntnis führt, dass andere Organisationen (Unternehmen, Regierungen und sonstige Körperschaften) bereits umfangreiche Modellierungsarbeiten geleistet haben und daher die Entscheidung, einen eigenen Weg zu gehen, bereits erfordert, für dieses Verhalten eine gute Begründung zu finden.
Aufgabenstellungen mit XML-Einsatz
Als Programmierer oder Administrator müssen Sie sich zu verschiedenen Gelegenheiten mit dem Thema dieses Buchs beschäftigen. In den Seminaren, die wir zu diesem Thema durchführen, nennen Teilnehmer immer wieder die nachfolgenden Aufgabenstellungen. Besonders auffällig ist, dass nur eine diffuse Vorstellung über den Sinn und Zweck von XML besteht und – was erschwerend für die Lösung der Aufgabe hinzukommt – neues Wissen sowohl im Bereich von allgemeinen XML-Technologien und –Denkansätzen wie zwangsläufig auch bei der Verwendung in Oracle erworben werden muss.
Erstellung einer Import-/Export-Schnittstelle auf Basis von XML, wobei aus relationalen Daten XML-Daten in einem bestimmten Format aus der Datenbank exportiert und XML-Daten in einem bestimmten Format in die Datenbank importiert werden sollen. Dabei müssen Sie für den Export-Vorgang mit Hilfe von Abfragen oder geeigneten Programmen relationale Daten mit sich wiederholenden Datensätzen, Verknüpfungen und Hierarchien in Form von XML zusammensetzen, während beim Import-Vorgang dagegen eine Zerlegung von XML stattfinden muss, um die vorhandenen relationalen Strukturen direkt aus XML zu befüllen.
Integration von XML in der Datenbank, wobei nun einzelne Felder oder der gesamte Datensatz einer Tabelle in Form von XML aus einer Anwendung oder einem Import-Vorgang übernommen werden. Hierbei liegt die Aufgabenstellung so, dass man für ausgewählte Datenelemente keine relationale Zerlegung wünscht oder aufgrund von eher dokumentenorientierten Strukturen auch nicht erreichen kann und XML hier anstelle von binären großen Objekten oder langen Zeichenketten zum Einsatz kommt, da die XML-Verwendung für die Anwendungsentwicklung eine Reihe von Vorteilen bringt.
Erstellung und Bereitstellung von Webservices direkt aus der Datenbarnk heraus, wobei gerade vermieden werden soll, dass in Java,.NET oder.PHP eine eigene Webservice-Anwendung programmiert wird, die dann wiederum auf die Datenbak zugreift. In diesem Fall kann man Webservices direkt mit Hilfe des Oracle-Systems erstellen und veröffentlichen.
Verwendung der Oracle XML-Datenbank zur Speicherung von umfangreichen Text- und Datensammlungen in XML, wobei hier gerade keine selbst geschriebene Verwaltungssoftware oder gar eine von einem anderen Hersteller zusätzlich gekaufte XML-Datenbank verwendet werden soll. In disem Aufgabenfeld geht es darum, für ein Redaktionssystem oder ähnliche Systeme, die Artikel oder sonstige Texte in XML-Form speichern, geeignete Datenstrukturen zu finden und diese ordnerorientiert, mit Sicherheit und Prüfmechanismen versehen anzubieten.
Allgemeine Verarbeitung von XML, wobei in diesem Aufgabengebiet eine Reihe von allgemeinen Arbeiten durchgeführt werden, die sich typischerweise bei XML-Anwendungen stellen und in diesem Fall mit Hilfe der Programmiersprache PL/SQL und teilweise sogar nur Oracle SQL umgesetzt werden können. Zu diesen Standardaufgaben gehören: Validierung von XML-Daten auf Basis von XML Schema-Datenstrukturen und –regeln, Transformation und Verarbeitung von gespeicherten oder übernommenen XML-Inhalten mit den Werkzeugen DOM (Document Object Model) oder XSLT (eXtensible Stylesheet Language for Transformations) sowie die Durchführung von Abfragen auf XML-Daten unter Verwendung von XPath oder XQuery. Zusätzlich bietet das Oracle-System noch weitere eigene Werkzeuge an, welche die gerade genannten Standard-Werkzeuge, die in vielen Programmiersprachen und Datenbanken umgesetzt sind, ergänzen und für jede Anforderungen in der einen oder anderen Weise eine Lösung bieten.
Kundenmitteilung
EU-Datenschutzgrundverordnung

Die DSGVO stärkt die Datenschutzrechte europaweit für uns alle. Bei vub haben wir aus diesem Anlass unsere Datenschutzerklärung grundlegend verändert:

  • Wir stellen noch übersichtlicher dar, wie und wofür wir personenbezogene Daten verarbeiten (wenn überhaupt, denn das Verwerten Ihrer persönlichen Daten ist überhaupt nicht unser Geschäft!).
  • Wir informieren in unserer neuen Datenschutzerklärung über die Kundenrechte.
  • Wir haben die Datenschutzerklärung übersichtlicher gestaltet.
  • Ab dem 25. Mai 2018 können Sie in Ihrem Kundenkonto im Menü unter „mein vub - Einstellungen“ den gewünschten Datenschutz selbst einstellen.

Bei Fragen wenden Sie sich bitte jederzeit an unseren vub-Kundenservice und Ihre bekannten Ansprechpartner unter premiumservice@vub.de.

Bestätigung