Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die...

17
Vorwort

Transcript of Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die...

Page 1: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

Vorwort

Page 2: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

10

Vorwort

Vorwort

Herzlich Willkommen zu einem Fachbuch aus dem Comelio Medien-Verlag. Wir sind stets bemüht, Ihnen aktuelle Informationen rund um IT-Technologien in bei-spielorientierter und verständlicher Weise zu liefern, damit Sie auf diesem Wege in die Lage versetzt werden, Anforderungen mit neueren Werkzeugen als den bis-herigen umzusetzen.

Zu dieser Reihe

Diese Buchreihe widmet sich aus der Sicht der Softwareentwicklung dem Daten-banksystem 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 Tech-niken. In die einzelnen Themengebiete soll – je nach Notwendigkeit – kurz einge-fü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 speziali-sierte 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

Page 3: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

11

Vorwort

ZudiesemBuch

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 Ver-breitung sehr gefördert haben. Teilweise befürchten insbesondere Datenbankpro-grammierer und Administratoren, XML könnte in irgendeiner Weise eine Daten-bank 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 gese-hen hat, die großen DB-Hersteller wie Oracle, Microsoft und IBM in ihren Daten-banksystemen 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 insbeson-dere 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.

Page 4: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

12

Vorwort

● Vielseitiger Einsatz: Da – wie gerade schon erwähnt – XML für die Datenmo-dellierung 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 grund-sätzlich auch in XML denken. Aus technischen Einschränkungen heraus oder aufgrund von zusätzlichen Anforderungen ist dies nicht immer die endgülti-ge Wahl, doch ließe sich wenigstens eine Alternativ-Lösung in XML denken. Dies liegt nicht daran, dass XML besondere Fähigkeiten hat, sondern schlicht-weg daran, dass es eine gute Möglichkeit ist, Daten zu verarbeiten. Nichts-destotrotz 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, zeich-nen XML aus. Gerade hinsichtlich des Datenaustauschs zwischen verschie-denen 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 Proto-kollen, 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 listenorientier-tes 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 Da-tendarstellung 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 Datei-speicherplatz 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

Page 5: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

13

Vorwort

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 Fel-dern Hürden für die Datenzugänglichkeit aufbaut.

● Standardisierung: Protokolldaten in unterschiedlichen Systemen bzw. Indust-riezweigen beruhten und beruhen natürlich auch heute noch auf Standardi-sierungsabkommen 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 besit-zen 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 Stan-dardisierung bei XML liegen also im Wesentlichen nicht darin, dass es eine große Auswahl an Standard-Schemata gibt, sondern vielmehr, dass die Grund-konzeption (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 entsprechen-der 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 Entscheidun-gen in einem Prozess trifft, in dem viele Parteien eingebunden sind. Neben dieser Standardisierung, welche die Basisarchitektur und damit die allgemei-nen Bereiche Modellierung, Validierung, Abfrage und Umwandlung betrifft, gibt es eine Reihe von Versuchen, für bestimmte Sinnzusammenhänge Re-ferenzmodelle und sogar feste Standards zu etablieren, welche den Daten-austausch noch weiter vereinfachen, da eine Umwandlung komplett entfällt.

Page 6: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

14

Vorwort

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 (Unter-nehmen, 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 Be-gründung zu finden.

AufgabenstellungenmitXML-Einsatz

Als Programmierer oder Administrator müssen Sie sich zu verschiedenen Gelegen-heiten 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 Daten-bank exportiert und XML-Daten in einem bestimmten Format in die Daten-bank 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 Zerle-gung 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 Aufgabenstel-lung so, dass man für ausgewählte Datenelemente keine relationale Zerle-gung wünscht oder aufgrund von eher dokumentenorientierten Strukturen

Page 7: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

15

Vorwort

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 he-raus, 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 geschrie-bene Verwaltungssoftware oder gar eine von einem anderen Hersteller zu-sätzlich gekaufte XML-Datenbank verwendet werden soll. In disem Aufgaben-feld geht es darum, für ein Redaktionssystem oder ähnliche Systeme, die Ar-tikel 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 typischerwei-se bei XML-Anwendungen stellen und in diesem Fall mit Hilfe der Program-miersprache 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 Style-sheet 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 Da-tenbanken umgesetzt sind, ergänzen und für jede Anforderungen in der einen oder anderen Weise eine Lösung bieten.

Page 8: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

16

Vorwort

ThemennachKapiteln

Die Themen der einzelnen Kapitel werden im Folgenden kurz aufgelistet:

1. Das erste Kapitel stellt als Einstiegskapitel XML-Technologien allgemein mit den Daten der Beispieldatenbank dar. Es startet mit der klassischen DTD (Do-cument Type Definition) als erster Modellierungs- und Beschreibungstechnik für XML-Daten und stellt dann auf Basis der Technik der DTD die Unterschie-de, Vorteile und neuartigen Ansätze von XML Schema dar. XML Schema ist auch die Technologie, mit der in Oracle XML-Daten beschrieben und validiert werden können, wenn man sich dafür entscheidet, typisiertes XML zu ver-wenden und nicht einfach beliebige XML-Strukturen zuzulassen. Für die Ab-frage von XML-Daten folgen dann die Pfadbeschreibungssprache XPath und die relativ komplexe Abfragesprache XQuery. Mit XPath ist es möglich, inner-halb von XML-Dokumenten zu navigieren und entweder vom Wurzelelement oder jedem beliebigen Knoten aus andere Knoten zu lokalisieren, zu filtern und eine Reihe von Funktionen einzusetzen. Die XPath-Ausdrücke können in SQL eingesetzt werden, um Teile von XML-Daten abzurufen oder komplexe Filter vorzugeben. Man setzt diese Technik allerdings auch in XML Schema für die Angabe von Schlüsseln und Fremdschlüsseln ein. Die Umwandlung von XML-Daten mit Hilfe des DOM (Document Object Model) und XSLT (eXtensi-ble Stylesheet Language for Transformations) lässt sich ebenso einsetzen. Es dient in vielen Anwendungen als Ausdruckssprache, um dem Benutzer kom-plexe Filter oder Bedingungen zu ermöglichen. XQuery dagegen kombiniert Filterung und Auswahl mit einer verkürzten und nicht XML-basierten Syntax, um die gefundenen Strukturen auch unmittelbar wieder in XML umzuwan-deln. Während XPath eine Ergebnismenge mit unterschiedlichen Inhalten in Form von Knoten, Knotensätzen oder Zeichenketten und Zahlen liefert, kann man mit XQuery unmittelbar ein XML-Ergebnis erzeugen. Schließlich stellt dieses Kapitel noch die Technik XSLT vor, mit der es möglich ist, neue Doku-mente in Form von XML, HTML oder Text zu erzeugen. Dabei setzt man eine programmiersprachenähnliche Syntax in XML-Form ein, die man als deklara-tive Sprache bezeichnet.

2. Das zweite Kapitel beschreibt, wie eine der wesentlichen Anforderungen beim XML-Einsatz in Oracle umgesetzt wird: den Datenabruf von relationa-len Daten und die Erzeugung von XML-Ausgabedaten in einer ad-hoc-Abfrage oder einer Sicht. Oracle bietet in diesem Bereich verschiedene Möglichkeiten, die sich hinsichtlich Geschwindigkeit und Komplexität der Formulierung un-

Page 9: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

17

Vorwort

terscheiden. In diesem Kapitel lernt man sowol die Techniken kennen, die so-fort aus einer SQL-Abfrage heraus XML erzeugen, wie auch die Durchführung der gleichen Aufgabenstellung in PL/SQL.

3. Das dritte Kapitel konzentriert sich ganz auf PL/SQL und die Verarbeitung von XML. Hier gibt es eine Vielzahl an möglichen Techniken, von denen insbeson-dere die beiden W3C-Techniken DOM und XSLT ins Auge fallen, die in PL/SQL genauso umgesetzt sind wie in vielen anderen Programmiersprachen. Dazu gibt es allerdings auch eine Reihe von PL/SQL-Paketen, die entweder für den Einsatz der beiden genannten Standardtechnologien notwendig sind, oder die ein eigenes Angebot bieten, mit XML-Daten zu arbeiten, sie zu manipulie-ren und sie umzuwandeln.

4. Das vierte Kapitel setzt den Fokus auf das wichtige Thema Import und Ex-port. Es gibt eine Reihe von traditionellen und nicht nur in Oracle einsetzba-ren Techniken, mit XML umzugehen und insbesondere XML somit relational oder objektrelational zu zerlegen, sodass man noch nicht direkt XML in einer traditionellen Datenbank speichern muss. Das Kapitel diskutiert verschiedene Speicheransätze, in denen XML relational zerlegt wird oder in denen mehr oder weniger große Teile in speziellen Datentypen und selbstverständlich auch den XML-Datentyp gespeichert werden. Die Erläuterungen in diesem Kapitel sollen eine Sensibilität für den großen Gestaltungsspielraum bewir-ken, mit der dann in der konkreten Modellierungssituation eine passende Va-riante ausgewählt wird.

5. Das fünfte Kapitel setzt die Überlegungen des vierten Kapitels insoweit fort, als dass die Oracle XDB (XML Datenbank) als eigenständige Möglichkeit zur direkten, nativen und nicht auf Tabellen basierenden Speicherung von XML-Daten (Dateien, Dokumenten) vorgeführt wird. Für dokumentenorientierte Systeme (Redaktionssysteme, Archive) ist dies eine geeignete Möglichkeit, mit Oracle eine XML-Datenbank im ursprünglichen Sinne aufzubauen und eine Reihe von Oracle-Techniken für Sicherheit und Geschwindigkeit zu ver-wenden und sich darüber hinaus in der gewohnten Umgebung zu bewegen.

6. Das sechste Kapitel rückt den wesentlichen Datentyp, mit dem die XML-Ver-wendung in Oracle mit PL/SQL und SQL überhaupt erst denkbar ist, in den Mittelpunkt: XMLType. Im Gegensatz zu einer langen Zeichenkette oder ei-nem großen Binärobjekt erlaubt XMLType die Abfrage und Filterung mit XPath und XQuery, die Umwandlung mit XSLT, die Validierung mit XML Schema so-

Page 10: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

18

Vorwort

wie die Verarbeitung mit einer Reihe von speziellen SQL-Funktionen und PL/SQL-Paketen. Seine Fähigkeiten sind schon in den vorherigen Kapiteln immer mal wieder in Beispielen vorgeführt worden, doch im sechsten Kapitel erhält XMLType eine Bühne, in der die verschiedenen Möglichkeiten und Vorteile gesammelt, erläutert und zusammengefasst werden.

7. Das siebte Kapitel schließt das Buch mit dem neu in Oracle 11g eingeführ-ten Thema Webservices ab. Es beginnt mit einer Einführung in den Grund-gedanken, der hinter dem Themenkomplex serviceorientierte Anwendungs-entwicklung und verteilte Software steht und beschreibt dann kurz Einsatz-bereiche sowie die beiden entscheidenden Standards, die auch in Oracle zum Einsatz kommen. Neben XML Schema, das auch für die Validierung der zwischen Service und Klient ausgetauschten XML-Nachrichten Verwendung findet und bereits eingeführt wurde, handelt es sich dabei um die Standards WSDL (WebServices Description Language) und SOAP (Akronym ohne offiziel-le Auflösung). WSDL-Dokumente beschreiben in technischer und inhaltlicher Sicht einen Webdienst, werden typischerweise vom Server generiert und in Klienten-Programmen verwendet, um die Struktur von Nachrichten und Kom-munikationsadressen auszulesen und korrekt zu verwenden. In vielen Pro-grammiersprachen stehen auf Basis dieser Datei Hilfsmittel zur Verfügung, die Nachrichten nicht direkt in XML, sondern vielmehr in Form von Methoden/Funktionen aufzurufen und so den Webdienst quasi in die eigene Anwendung zu integrieren. SOAP dagegen ist ein einfaches XML-Format, welches Nach-richten sammelt und sie im Wesentlichen in einen strukturierten Kopf- und Hauptabschnitt unterteilt.

Page 11: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

19

Vorwort

Beispieldatenbank-Installation

Dieses Buch richtet sich ausdrücklich an Programmierer und möchte ein wirklich praktischer Helfer sein. Das bedeutet, dass natürlich die einzelnen Skripte für den Leser auf der Webseite zum Buch verfügbar sind. Manchmal reicht es sogar, nur die Beispiele zu lesen und sie als Vorgabe für die eigene Aufgabenstellung zu ver-wenden und nur bei Bedarf die Erklärungen und teilweise auch grafischen Ausfüh-rungen heranzuziehen.

InhaltederBeispieldatenbank

Wir haben uns für dieses Buch – wie auch für unsere anderen Bücher – eine eige-ne Beispieldatenbank ausgedacht: Die Firma Kurse NRW GmbH bietet EDV- und IT-Seminare in Bereichen wie Programmierung, Datenbanken oder Webdesign an. Informationen, die den Bereich der Schulungs- und Anmeldeverwaltung betref-fen, sollen automatisch verwaltet werden.

Abbildung 0.1: Datenmodell Kurse NRW

Page 12: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

20

Vorwort

Das Datenmodell ist in der Abbildung 0.1: Datenmodell Kurse NRW dargestellt und enthält folgende Tabellen:

● Dozent: Name und Adresse von Dozenten, die Seminare durchführen.

● Kurs: Titel und Bereichszuordnung von Seminaren mit einer Verknüpfung zu den Preisen in der Preis-Tabelle.

● Themenverteilung: Beziehungstabelle zwischen Dozent und Kurs, wobei nicht alle Kurse einen Dozenten aufweisen und einige Kurse mehrere zur Auswahl haben, die sich in ihrem Preis unterscheiden.

● Preis: Verschiedene Preise, die in Abhängigkeit von der gleichzeitig von einem Unternehmen gebuchten Teilnehmerzahl (Kleingruppe) pro Person billiger werden. Mehrere Kurse haben die gleichen Preise, da diese kalkulatorisch auch von der Kursdauer und vom Schwierigkeitsgrad abhängen.

● Buchung: Durchgeführte Buchungen und der eigentliche Umsatz der Firma. Zur Vereinfachung ist hier noch einmal die Kursgebühr pro Person gespei-chert, damit man einfache Umsatzabfragen und –analysen durchführen kann. Zusätzlich hat jeder Teilnehmer auch die Verknüpfung zu einer weiteren Per-son, die die Kleingruppe eines Unternehmens angemeldet hat. Von der An-zahl der Personen in der Kleingruppe hängt dann der Preis ab.

● Unternehmen: Name und Adresse von Unternehmen, bei denen Teilnehmer beschäftigt sind.

● Teilnehmer: Name und Adresse von Teilnehmern, die bei einem Unternehmen beschäftigt sind, welches durch eine Verknüpfung angegeben ist.

● Termin: Angebotene Termine zu den einzelnen Kursen in verschiedenen deut-schen Städten. Nicht alle Termine werden gebucht.

Die Datenbank und die Strukturen sind in den Download-Dateien enthalten und lassen sich einfach aufspielen. Die Beispiel-Datenbank liegt in verschiedenen For-maten wie bspw. auch MS Excel vor, sodass man sie auf verschiedenen Systemen und bei unterschiedlichen Voraussetzungen in der Test-Umgebung nutzen kann.

Page 13: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

21

Vorwort

Abbildung 0.2: DB-Konfiguration

Dateien

In den Beispiel-/Übungsdateien befindet sich neben den Ordnern, welche die je-weiligen Skripte der einzelnen Kapitel enthalten, ein weiterer Ordner namens Kur-se_NRW. Er enthält wiederum zwei Ordner und eine Abbildung des Datenmodells der Beispiel-Datenbank. Der Ordner Rohdaten enthält die folgenden Dateien:

Page 14: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

22

Vorwort

● Kurse_NRW_TabellenUndDaten.sql: Diese Datei enthält CREATE- und IN-SERT-Anweisungen, welche die gesamte Datenbank mit Tabellen und Daten aufspielen. Dies ist das einfachste Vorgehen.

● Kurse_NRW_Tabellen.sql: Diese Datei enthält nur die Tabellen sowie eine Sammlung von DELETE-Befehlen, mit denen die Tabellen und Daten in der richtigen Reihenfolge vollständig gelöscht werden können.

● Kurse_NRW.xls: In der MS Excel-Datei befinden sich ebenfalls die Datenbank-Daten, welche wiederum einzeln auch in den unterschiedlichen CSV-Dateien zu finden sind. Diese könnte man verwenden, wenn man die Daten über CSV einspielen will.

Im Ordner Generator-Paket befindet sich ein PL/SQL-Paket, das verschiedene Pro-zeduren und Funktionen enthält, mit denen man die Tabelle BUCHUNG auffüllen kann. Diese Daten wurden mit Hilfe eines Zufallsgenerators erzeugt. Die Zufalls-zahlenfolge ist dabei zwar zufällig, wird aber immer wieder gleich generiert. Für die Nutzung des Pakets müssen erst die Spezifikation und dann der Körper des Pakets in die Datenbank eingefügt werden. Dazu liegen zwei Skripte vor, die nur ausgeführt werden müssen. Die Ausführung selbst ist dann mit einer Prozedur möglich, die in einem anonymen Block in der Datei Generator-Paket-Ausfuehrung.sql genutzt wird. Es genügt auch hier, nur dieses Skript auszuführen, um den Ge-nerator zu starten. Sie müssen sich mit diesen Paket nicht beschäftigen, wenn Sie die Datenbank über die Datei Kurse_NRW_TabellenUndDaten.sql aufspielen. Dies wird im nächsten Abschnitt beschrieben.

TabellenundDatenaufspielen

Da Sie ohnehin eine Entwicklungsumgebung benötigen, liegt es nahe, diese auch für die Installation der Beispiel-Datenbank zu verwenden.

1. Wählen Sie Datei / Öffnen.

2. Wählen Sie die benötigte Datei. Normalerweise sollte dies Kurse_NRW_Ta-bellenUndDaten.sql sein, da hier ja sowohl die Tabellen wie auch die Daten enthalten sind.

3. Wählen Sie eine Verbindung zur Datenbank in der Auswahlliste.

Page 15: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

23

Vorwort

4. Führen Sie das Skript mit F5 oder der Schaltfläche Skript ausführen aus. Wenn Sie keinen Benutzer wie SCOTT eingerichtet haben, dann müssen Sie zuvor noch mit Bearbeiten / Ersetzen die Zeichenkette “SCOTT”. aus der gesamten Datei löschen.

Aktualisieren Sie dann die Tabellenauflistung, um zu kontrollieren, ob die Tabellen vorhanden sind. Wenn Sie eine Tabelle auswählen, öffnet sich ein neues Doku-ment mit verschiedenen Reitern mit Informationen über die Spalten und auch den Daten.

Das Buch wurde mit den beiden Datenbank-Versionen 10g und 11g getestet. Orac-le erweitert mit jeder Version die Fähigkeiten der Datenbank, XML zu erzeugen, zu verarbeiten und zu speichern. Daher enthalten die Skripte Kommentare, in welchem Datenbanksystem die jeweilige Beispieldatei lauffähig ist. Als Benutzer wurde der Standardbenutzer SCOTT eingesetzt, der die Rechte RESOURCE, DBA, MGMT_USER, AQ_ADMINISTRATOR_ROLE, CONNECT besitzt. Die Beispiele selbst wurden mit dem Oracle SQL Developer erstellt.

Autoren

Der Einsatz von XML in jeder Datenbank erfordert grundsätzlich zwei Perspekti-ven. Auf der einen Seite betreffen die Aufgaben, die für den erfolgreichen Einsatz anfallen können, die Administration, um XML-Dateien zu speichern, für Abfragen – je nach Technik – geeignete Datenstrukturen anzulegen und zu verwalten so-wie natürlich allgemeine Administrationsaufgaben, die im Zusammenhang mit der Oracle XML-Datenbank (XDB) stehen. Auf der anderen Seite ist jedoch auch die Softwareentwicklung betroffen, um die Dateien zu visualisieren, zu speichern und ggf. transformiert wieder abrufen zu können. Der Bereich Modellierung bewegt sich dann zusätzlich zwischen diesen beiden Polen.

Daher ist es zweckmäßig, die Themen dieses Buchs auch so auf zwei Autoren auf-zuteilen, dass die Aspekte der Programmierung in Programmiererhand und die Aspekte der Administration in Administratorenhand liegen.

Marco Skulschus (Jahrgang 1978) studierte Ökonomie in Wuppertal und Paris. Bei der Comelio GmbH ist er im Bereich Softwareentwicklung tätig und setzt Oracle mit den Programmiersprachen Java, .NET und natürlich PL/SQL ein. Er interessiert sich besonders für XML, wobei er hier sich auch im Rahmen seiner Projektarbeit

Page 16: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

24

Vorwort

mit Ontologien, dem Thema seiner Diplomarbeit, beschäftigt. Thematisch erstellt er regelmäßig Berichts- und Expertensysteme mit hoher Datenmenge oder an-spruchsvollen Anforderungen hinsichtlich der Datenauswertung sowie traditio-nelle Unternehmensanwendungen. Hier ist er als Berater und Projektleiter tätig. Über das Jahr verteilt führt er auch im Bereich XML, Datenmodellierung und Orac-le-Programmierung Seminare durch. Er ist Oracle Certified Professional.

Marcus Wiederstein (Jahrgang 1971) studierte Elektrotechnik in Bochum und Dortmund. Er ist bei der Comelio GmbH ebenfalls im Bereich Softwareentwick-lung tätig, setzt allerdings hier Oracle mit C#.NET, Visual Basic.NET und natürlich PL/SQL ein. Sein besonderes Lieblingsthema neben XML ist die UML. Er arbeitet als Projektleiter im Bereich Systeme und richtet zusammen mit seinem Team Da-tenbank- und Serverlösungen ein, wobei hier auch die Themen Optimierung, Leis-tungssteigerung und Hochverfügbarkeit oder Sicherheit eine bedeutende Rolle spielen. Bei diesen Projekten arbeitet er als Berater und Projektleiter. Er ist Oracle Certified Professional.

Das Team Skulschus / Wiederstein hat zusammen oder mit anderen Comelio-Kol-legen bereits eine ganze Reihe von Büchern herausgebracht und blickt auf drei Bücher zum Thema XML (darunter XML Schema, XSLT/XPath/XQuery und XSL-FO) sowie ein sehr umfangreiches Werk zum Thema Programmierung mit Oracle 10g, in dem sie die Grundlagen von PL/SQL, SQL und die Verwendung von Oracle zu-sammen mit Java, C++ und PHP darstellen, zurück. Die gemeinsame schriftstelleri-sche Zusammenarbeit begann mit einem Buch zu Standard-SQL, das an verschie-denen deutschen Fachhochschulen auch für die Lehre eingesetzt wurde.

Page 17: Oracle, PL/SQL und XML - comelio- · PDF filebanksystem Oracle, wobei in Büchern, die nicht notwendigerweise das Format von großen Betonblöcken erreichen sollen, wie dies bei zusammenfassenden

25

Vorwort

KontaktzuAutorenundVerlag

Sie erreichen die Autoren an Ihrem Arbeitsplatz unter den beiden E-Mail-Adres-sen [email protected] und [email protected]. Die Webseite des Verlags finden Sie unter der Adresse http://www.comelio-medien.com. Zu folgenden Themen finden sie weitere Informationen auf der Unterneh-mens-homepage:

● Oracle-Seminare: http://www.comelio-seminare.com/seminare/titel/oracle_11g

● XML-Seminare: http://www.comelio-seminare.com/seminare/titel/xml

Auch in der realen Welt ist der Verlag zu erreichen. Die Hauptzentrale befindet sich in Berlin, Deutschland.

Comelio GmbH Goethestraße 34 D-13086 Berlin

Informieren Sie sich auch im Comelio Blog und stöbern Sie durch eine Reihe von Artikeln zu Themen der datenbank- und XML-gestützten Softwareentwicklung. Möglicherweise sind für Ihre Kinder auch die kostenlosen Comelio-Zeichnungen in verschiedenen Größen, Auflösungen und Arten interessant, in denen unser Dra-che allerhand verschiedene dramatische Posen einnimmt und eine Reihe von Be-rufskleidungen zur Schau stellt (http://www.comelio-medien.com/leserservice).