 |
 |
 |
 |
 |
 |
|
 |
Comelio GmbH Rellinghauser Straße 10 D-45128 Essen Deutschland Fon: 0201-437517-0 Fax: 0201-437517-10 info@comelio.com
Comelio GmbH Goethestraße 34 D-13086 Berlin Deutschland info@comelio.com
Comelio GmbH (Ecos) Glockengießerwall 17 D-20095 Hamburg Deutschland info@comelio.com
Comelio GmbH (Ecos) Mainzer Landstraße 27-31 D-60329 Frankfurt Deutschland info@comelio.com
Comelio GmbH (Ecos) Stiglmaierplatz/Dachauer Str. 37 D-80335 München Deutschland info@comelio.com
Comelio GmbH (Ecos) Liebknechtstr. 33 D-70565 Stuttgart Deutschland info@comelio.com
Comelio GmbH Nevinghoff 16 D-48147 Münster Deutschland
Comelio GmbH Friedrich - List - Platz 1 D-04103 Leipzig Deutschland
Comelio GmbH St. Johanner Strasse 41-43 D-66111 Saarbrücken Deutschland
Comelio GmbH Kaiser-Wilhem-Ring 27–29 D-50672 Köln Deutschland
Comelio GmbH Münsterstraße 248 D-40470 Düsseldorf Deutschland
Comelio GmbH Fürther Strasse D-90429 Nürnberg Deutschland
Comelio GmbH
Bremen Deutschland
 |
Comelio-Blog > Oracle > XDB: Konzepte XML DB: Konzepte und Architektur
Dieser Artikel stellt die verschiedenen Möglichkeiten, wie XML in Oracle gespeichert werden kann, kurz vor. Neben traditionellen Speicheransätzen über relationale und objektrelationale Strukturen ist insbesondere seit der Oracle 9i-Version auch die integrierte XML-Datenbank Oracle XDB ein wichtiger Ansatzpunkt für die Entwicklung und Konzeptionierung von XML-Datenbanken.
|
 | Kontakt
|
Einsatz der XML-Datenbank XDB
Oracle bietet eine Vielzahl an Funktionalitäten mit seiner XML-Datenbank XDB, von denen einige bereits in anderen Artikeln beschrieben worden sind. Die XDB beschränkt sich also nicht auf die in diesem Artikel behandelten Themen, sondern beinhaltet gerade auch die bereits vorgestellten Programmierschnittstellen der unterschiedlichen Pakete oder auch den Datentyp XMLType. In diesem Abschnitt möchten wir Ihnen darüber hinaus die Fähigkeit der XDB zeigen, nicht nur aus relationalen Daten XML-Daten zu erzeugen und solche sowie bereits bestehende XML-Daten zu verarbeiten, sondern auch XML-Daten direkt in der Datenbank zu speichern.
Grundsätzliches zur XML-Datenbank
Die folgenden Eigenschaften fasst die entsprechende Dokumentation unter dem Begriff „Repository“ zusammen, weil sich diese Speicherstrukturen sehr von traditionellen Techniken der XML-Speicherung in Datenbanken unterscheiden. Zu solchen Ansätzen gehören die folgenden:
- Einfache Speicherung als BLOB oder CLOB
- Ein XML-Dokument wird als lange Zeichenkette bzw. als Binärobjekt in der Datenbank gespeichert. Hier ist nur beim XMLType-Datentyp auch eine sinnvolle Durchsuchung mit Hilfe von XPath möglich, ansonsten liegt nur eine einfache Speicherung vor.
- Zerlegung von flachen XML-Strukturen in mehrere Spalten
- Für sich nicht-wiederholende Gruppen und sehr einfache Strukturen, die nur aus Eltern-Kind-Beziehungen auf einer einzigen Ebene bestehen, speichert man jeweils ein Dokument in einer Tabellenzeile, wobei die Spalten den Kind-Elementen entsprechen.
- Zerlegung von XML-Strukturen in mehrere Tabellen
- Für verschachtelte XML-Dokumente und sich wiederholende Gruppen können Sie für die einzelnen Eltern-Elemente, die wiederholende Kind-Elemente enthalten, jeweils eine Tabelle mit jeweils einer Zeile für die zugehörigen Kinder verwenden.
- Objektrelationale Speicherung
- Im Gegensatz zu der Zerlegung von XML-Strukturen in eine oder mehrere Tabellen lassen sich insbesondere in Oracle auch objektrelationale Strukturen verwenden. Hier stellen Eltern-Elemente, die weitere Kind-Elemente und auch sich wiederholende Kind-Elementgruppen enthalten, Felder dar, die auf Objekttypen (mehrere Felder) oder Tabellentypen (mehrere Reihen) beruhen.
- Kombinationsmöglichkeiten
- Sofern sich das XML-Dokument nicht mit den gerade skizzierten Speicheransätzen abbilden lässt, eignen sich unterschiedliche Möglichkeiten der Kombination von teilweise relationaler und objektrelationaler Speicherung. Diese Kombinationen lassen sich dann wieder durch Speicherstrukturen abrunden, die im Gegensatz zu ihnen nicht mit SQL, sondern wie der XMLType mit XPath oder wie Binärdaten gar nicht durchsucht werden können.
Der allgemeine Speicheransatz für die XML-Datenbank besteht in einer Baumstruktur aus Ordnern und Dokumenten. Beide lassen sich jeweils auch wieder als Ressource betrachten bzw. über die gleichen Funktionen und Prozeduren ansprechen. Dies vereinfacht die Arbeit mit der verwendeten Baumstruktur.
Zusammenfassend gesagt, stellt die XDB gerade keinen eigenen Server oder ein eigenes Produkt dar, sondern bietet eine Reihe von zusätzlichen Oracle-Technologien, die für die Verarbeitung und Speicherung von XML-Daten notwendig und nützlich sind. Dies wird durch die Integration von Standardtechnologien wie XSLT, XML Schema, XPath und DOM abgerundet, die sich für die Datenmodellierung, Abfrage und Transformation nutzen lassen. Einige dieser zusätzlichen und Standard-Technologien wurden bereits vorgestellt. Sie gelten als zentrale Bestandteile des gesamten Konzepts und bauen vor allen Dingen auch auf dem XMLType-Datentyp auf. Zwar lassen sich viele kurze XML-Dokumente auch in Form von CLOBs oder Zeichenketten verarbeiten, doch durch die XMLType-Methoden, die die direkte Transformation, Abfrage und Validierung erlauben, besitzt man einen geeigneten Datentyp für die Datenbank und die Anwendungsentwicklung.
Für die Speicherung von XML-Daten steht ein baumartiges Ordner-Konzept zur Verfügung, das aus einem sys-Ordner sowie einem public-Ordner besteht. Beide Ordner stehen standardmäßig zur Verfügung, wobei nur der sys-Ordner unverändert bleiben sollte und für die Speicherung von eigenen Daten (wie der Name schon vermuten lässt) nicht geeignet ist. Der public-Ordner bzw. seine zusätzlich einrichtbaren Geschwister oder Ersatzordner dienen zur Speicherung von eigenen XML-Daten, wobei eine für die Anwendung geeignete Ordnerstruktur vorgegeben werden kann. Dies alles ergibt konzeptionell einen azyklischen Graphen (Baum), den man mit Hilfe einer einfachen Pfad-Syntax (Schrägstrich) durchqueren kann und der „Repository“ genannt wird. Die enthaltenen Ordner und Dokumente gelten beide als Ressourcen des Repository und lassen sich – wie Sie später sehen werden – über die gleichen Funktionen und Prozeduren ansprechen. Grundsätzlich gelten für die Benennung von Ordnern und Ressourcen die gleichen Benennungskonventionen wie für andere Schema-Objekte. Nähere Regeln sowie nicht erlaubte Zeichen finden Sie in der xdbconfig.xml-Datei im Element invalid-pathname-chars.
Zusätzliche Bedingungen für den Einsatz sind: Die Ressourcen oder Links (Verknüpfungen zu einer Ressource) müssen innerhalb eines Ordners einzigartig sein, wie es auch im Betriebssystem der Fall ist. Die einzelnen Dokumente enthalten XMLType-Daten, wenn sie strukturierte Daten enthalten, und ansonsten XDBBinary-Daten, wenn sie unstrukturierte Daten aufweisen. Der Zugriff und damit die Dateizugriffsrechte werden über eine so genannte Access Control List (ACL) in XML-Form vorgegeben.
Innerhalb von XDB setzt das System drei spezielle XML Schema-Dateien ein, auf die später noch verwiesen wird. Ihr Quelltext ist in der Dokumentation zu finden:
- XDBResource.xsd: XML Schema zur Darstellung von Ressourcen, die durch gültige Instanzdokumente beschrieben werden.
- acl.xsd: XML Schema zur Angabe von Benutzer- und Zugriffsrechten, die über gültige Instanzdokumente erfasst werden.
- xdbconfig.xsd: XML Schema für die Konfiguration von XDB, die über gültige Instanzdokumente erfolgt.
Comelio GmbH Oracle XDB: XML DB - XML DB Programmierung Architektur Aufbau Beratung XML PL/SQL Programmierung SQLJ Tutorial Manual Oracle Java Anleitung Datenbank-Entwicklung Aachen München Bochum Lübeck Kiel Heidelberg Wolfsburg Kassel Stuttgart Koblenz Freiburg Hamburg Berlin Magdeburg Mannheim Zwickau Ludwigshafen Göttingen Bonn Frankfurt Andernach Ingolstadt Leipzig Rügen Bremen Würzuburg Erlangen Hannover Ol Koblenz KölnComelio GmbH Oracle XDB: XML DB - XML DB Programmierung Architektur Aufbau Beratung XML PL/SQL Programmierung SQLJ Tutorial Manual Oracle Java Anleitung Datenbank-Entwicklung Aachen München Bochum Lübeck Kiel Heidelberg Wolfsburg Kassel Stuttgart Koblenz Freiburg Hamburg Berlin Magdeburg Mannheim Zwickau Ludwigshafen Göttingen Bonn Frankfurt Andernach Ingolstadt Leipzig Rügen Bremen Würzuburg Erlangen Hannover Ol Koblenz KölnComelio GmbH Oracle XDB: XML DB - XML DB Programmierung Architektur Aufbau Beratung XML PL/SQL Programmierung SQLJ Tutorial Manual Oracle Java Anleitung Datenbank-Entwicklung Aachen München Bochum Lübeck Kiel Heidelberg Wolfsburg Kassel Stuttgart Koblenz Freiburg Hamburg Berlin Magdeburg Mannheim Zwickau Ludwigshafen Göttingen Bonn Frankfurt Andernach Ingolstadt Leipzig Rügen Bremen Würzuburg Erlangen Hannover Ol Koblenz KölnComelio GmbH Oracle XDB: XML DB - XML DB Programmierung Architektur Aufbau Beratung XML PL/SQL Programmierung SQLJ Tutorial Manual Oracle Java Anleitung Datenbank-Entwicklung Aachen München Bochum Lübeck Kiel Heidelberg Wolfsburg Kassel Stuttgart Koblenz Freiburg Hamburg Berlin Magdeburg Mannheim Zwickau Ludwigshafen Göttingen Bonn Frankfurt Andernach Ingolstadt Leipzig Rügen Bremen Würzuburg Erlangen Hannover Ol Koblenz KölnComelio GmbH Oracle XDB: XML DB - XML DB Programmierung Architektur Aufbau Beratung XML PL/SQL Programmierung SQLJ Tutorial Manual Oracle Java Anleitung Datenbank-Entwicklung Aachen München Bochum Lübeck Kiel Heidelberg Wolfsburg Kassel Stuttgart Koblenz Freiburg Hamburg Berlin Magdeburg Mannheim Zwickau Ludwigshafen Göttingen Bonn Frankfurt Andernach Ingolstadt Leipzig Rügen Bremen Würzuburg Erlangen Hannover Ol Koblenz KölnComelio GmbH Oracle XDB: XML DB - XML DB Programmierung Architektur Aufbau Beratung XML PL/SQL Programmierung SQLJ Tutorial Manual Oracle Java Anleitung Datenbank-Entwicklung Aachen München Bochum Lübeck Kiel Heidelberg Wolfsburg Kassel Stuttgart Koblenz Freiburg Hamburg Berlin Magdeburg Mannheim Zwickau Ludwigshafen Göttingen Bonn Frankfurt Andernach Ingolstadt Leipzig Rügen Bremen Würzuburg Erlangen Hannover Ol Koblenz KölnComelio GmbH Oracle XDB: XML DB - XML DB Programmierung Architektur Aufbau Beratung XML PL/SQL Programmierung SQLJ Tutorial Manual Oracle Java Anleitung Datenbank-Entwicklung Aachen München Bochum Lübeck Kiel Heidelberg Wolfsburg Kassel Stuttgart Koblenz Freiburg Hamburg Berlin Magdeburg Mannheim Zwickau Ludwigshafen Göttingen Bonn Frankfurt Andernach Ingolstadt Leipzig Rügen Bremen Würzuburg Erlangen Hannover Ol Koblenz KölnComelio GmbH Oracle XDB: XML DB - XML DB Programmierung Architektur Aufbau Beratung XML PL/SQL Programmierung SQLJ Tutorial Manual Oracle Java Anleitung Datenbank-Entwicklung Aachen München Bochum Lübeck Kiel Heidelberg Wolfsburg Kassel Stuttgart Koblenz Freiburg Hamburg Berlin Magdeburg Mannheim Zwickau Ludwigshafen Göttingen Bonn Frankfurt Andernach Ingolstadt Leipzig Rügen Bremen Würzuburg Erlangen Hannover Ol Koblenz KölnComelio GmbH Oracle XDB: XML DB - XML DB Programmierung Architektur Aufbau Beratung XML PL/SQL Programmierung SQLJ Tutorial Manual Oracle Java Anleitung Datenbank-Entwicklung Aachen München Bochum Lübeck Kiel Heidelberg Wolfsburg Kassel Stuttgart Koblenz Freiburg Hamburg Berlin Magdeburg Mannheim Zwickau Ludwigshafen Göttingen Bonn Frankfurt Andernach Ingolstadt Leipzig Rügen Bremen Würzuburg Erlangen Hannover Ol Koblenz Köln
|
 |