![]() |
||||||||||||||||||
Comelio GmbH
|
Comelio-Blog > Oracle > XDB: Konzepte XML DB: Konzepte und Architektur
Einsatz der XML-Datenbank XDBOracle 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-DatenbankDie 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:
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:
Seminare
|
|||||||||||||