Mithilfe der Komponente
pureXML können korrekt formatierte
XML-Dokumente in Datenbanktabellenspalten, die den Datentyp XML aufweisen, gespeichert werden. Durch die Speicherung von XML-Daten
in XML-Spalten werden die Daten in ihrem nativen hierarchischen Format beibehalten und nicht im Textformat
abgelegt oder einem anderen Datenmodell zugeordnet.
Da der pureXML-Datenspeicher vollständig
integriert ist, können Sie auf die gespeicherten XML-Daten
zugreifen und diese verwalten, indem Sie die vorhandene
DB2-Datenbankserverfunktionalität nutzen.
Die Speicherung von XML-Daten in deren nativen hierarchischen Format ermöglicht die effiziente Ausführung
von Such-, Abruf- und Aktualisierungsoperationen für XML-Daten. Zum Abfragen und Aktualisieren
von XML-Daten kann XQuery, SQL oder eine Kombination dieser beiden Sprachen verwendet werden. SQL-Funktionen, die XML-Daten zurückgeben oder mit XML-Argumenten arbeiten (und deswegen als
SQL/XML-Funktionen bezeichnet werden), ermöglichen außerdem die Erstellung und Veröffentlichung von XML-Daten auf der Basis von
Werten, die aus der Datenbank abgerufen werden.
Abfragen und Aktualisieren
XML-Dokumente, die in XML-Spalten gespeichert sind,
können mithilfe der folgenden Methoden abgefragt und aktualisiert werden:
- XQuery
- Bei XQuery handelt es sich um eine allgemeine Sprache zum Interpretieren, Abrufen und Ändern von
XML-Daten. Mithilfe des
DB2-Datenbankservers kann XQuery entweder direkt oder über
SQL aufgerufen werden. Da die XML-Daten in
DB2-Tabellen und -Sichten gespeichert sind, werden
Funktionen zum Extrahieren der XML-Daten aus angegebenen Tabellen und Sichten bereitgestellt. Hierzu wird die gewünschte Tabelle
oder Sicht entweder direkt angegeben, oder es wird eine entsprechende SQL-Abfrage definiert. XQuery unterstützt verschiedene Ausdrücke für das
Verarbeiten von XML-Daten, für das Aktualisieren von vorhandenen XML-Objekten (wie beispielsweise Elementen und Attributen) und für das
Erstellen neuer XML-Objekte. Die Programmierschnittstelle für XQuery bietet Funktionen, die Ähnlichkeiten mit den entsprechenden SQL-Funktionen
aufweisen und zur Ausführung von Abfragen und zum Abrufen von Ergebnissen verwendet werden können.
- SQL-Anweisungen und SQL/XML-Funktionen
- Zahlreiche SQL-Anweisungen unterstützen den Datentyp XML. Auf diese Weise können Sie viele allgemeine Datenbankoperationen
mit XML-Daten ausführen. Hierzu gehören z. B. das Erstellen von Tabellen mit XML-Spalten, das Hinzufügen von XML-Spalten zu vorhandenen
Tabellen, das Erstellen von Indizes zu XML-Spalten und von Triggern für Tabellen mit XML-Spalten sowie das Einfügen, Aktualisieren
oder Löschen von XML-Dokumenten. Die Gruppe der SQL/XML-Funktionen, -Ausdrücke und -Spezifikationen, die vom
DB2-Datenbankserver unterstützt werden, wurde erweitert,
um alle Vorteile des Datentyps XML voll nutzen zu können.
XQuery kann über eine SQL-Abfrage aufgerufen werden. In diesem Fall kann die SQL-Abfrage Daten in Form gebundener Variablen an XQuery
übergeben.
Anwendungsentwicklung
Unterstützung für die Anwendungsentwicklung wird von verschiedenen Programmiersprachen sowie
durch SQL-Prozeduren und externe Prozeduren bereitgestellt:
- Unterstützung für Programmiersprachen
- Die Anwendungsentwicklungsunterstützung der neuen Komponente
pureXML ermöglicht es Anwendungen, die
Funktionen für den Zugriff auf XML-Daten und relationale Daten und deren Speicherung zu kombinieren. Die folgenden Programmiersprachen unterstützen
den Datentyp XML:
- C oder C++ (eingebettetes SQL oder CLI)
- COBOL
- Java™ (JDBC oder SQLJ)
- C# und Visual Basic (IBM® Data Server Provider für .NET)
- PHP
- Perl
- SQL-Prozeduren und externe Prozeduren
- XML-Daten können an SQL-Prozeduren und externe Prozeduren übergeben werden, indem Parameter vom Datentyp XML
in die Parametersignaturen von CREATE PROCEDURE eingeschlossen werden. Vorhandene Prozedurenfunktionen unterstützen die Implementierung
des prozeduralen Logikablaufs für SQL-Anweisungen, die XML-Werte generieren oder diese verwenden, sowie die temporäre Speicherung
von XML-Datenwerten in Variablen.
Verwaltung
Die Komponente
pureXML stellt ein Repository für die Verwaltung der URI-Abhängigkeiten von
XML-Dokumenten bereit und ermöglicht das Versetzen von XML-Daten zwecks Datenbankverwaltung:
- XML-Schema-Repository (XSR)
- Das XML-Schema-Repository (XSR) ist ein Repository für alle XML-Artefakte, die zur
Verarbeitung von
XML-Instanzdokumenten benötigt werden, die in XML-Spalten gespeichert sind. Es dient zur Speicherung von XML-Schemata,
Dokumenttypdeklarationen (DTDs) sowie externer Entitäten, auf die in XML-Dokumenten verwiesen wird.
- Dienstprogramme zum Importieren (IMPORT), zum Exportieren (EXPORT) und zum Laden (LOAD)
- Die Dienstprogramme IMPORT, EXPORT und LOAD wurden aktualisiert und unterstützen nun den nativen XML-Datentyp.
Diese Dienstprogramme verarbeiten XML-Daten wie LOB-Daten, d. h., beide Datentypen werden außerhalb der eigentlichen
Tabelle gespeichert.
Darüber hinaus steht Anwendungsentwicklungsunterstützung für das Importieren, Exportieren und Laden von XML-Daten zur Verfügung. Diese
Unterstützung wird über die aktualisierten Anwendungsprogrammierungsschnittstellen (APIs)
db2Import, db2Export und db2Load bereitgestellt. Diese aktualisierten Dienstprogramme ermöglichen Ihnen das
Versetzen von Daten für in XML-Spalten gespeicherte XML-Dokumente, das in ähnlicher Weise ausgeführt wird wie die
Datenversetzung bei relationalen Daten.
Leistung
Beim Arbeiten mit XML-Dokumenten, die in XML-Spalten gespeichert sind, stehen Ihnen zahlreiche
leistungsorientierte Funktionen zur Verfügung:
- Indizes zu XML-Daten
- Die Indexierungsunterstützung steht für Daten zur Verfügung, die in XML-Spalten gespeichert sind. Die
Verwendung eines Index zu XML-Daten kann zur Verbesserung der Effizienz von Abfragen beitragen, die für XML-Dokumente abgesetzt
werden.
Ähnlich wie ein relationaler Index führt auch ein
Index für XML-Daten eine Indexierung für Spalten durch. Der Unterschied
besteht jedoch darin, dass ein relationaler Index die gesamte Spalte indexiert,
wohingegen ein Index für XML-Daten bei der Indexierung nur einen Teil der
Spalte berücksichtigt. Sie können angeben, welche Teile einer XML-Spalte indexiert werden sollen, indem Sie ein XML-Muster angeben, bei dem es sich um
einen
eingeschränkten XPath-Ausdruck handelt.
- Optimierungsprogramm
- Das Optimierungsprogramm wurde aktualisiert und unterstützt jetzt die Auswertung von SQL-, XQuery- und
SQL/XML-Funktionen, die XQuery-Komponenten einbetten. Die Funktionen werden hierbei auf der Basis von XML-Daten und relationalen
Daten ausgewertet. Das Optimierungsprogramm verwendet Statistikdaten, die zu den XML-Daten erfasst wurden, sowie Daten aus
Indizes zu XML-Daten, um auf der Basis dieser Informationen effiziente Abfrageausführungspläne zu erstellen.
- EXPLAIN-Einrichtung
- Die EXPLAIN-Funktion wurde aktualisiert und unterstützt nun die
funktionalen SQL-Erweiterungen zur Abfrage von XML-Daten und zur Unterstützung von XQuery-Ausdrücken. Diese Aktualisierungen an der
EXPLAIN-Funktion ermöglichen es Ihnen, den Status der vom
DB2-Datenbankserver durchgeführten Auswertung von Abfrageanweisungen für
XML-Daten schnell und einfach anzuzeigen.
Tools
Der XML-Datentyp
wird in verschiedenen Tools wie beispielsweise im Befehlszeilenprozessor (CLP), in
IBM Data Studio sowie in
IBM Database Add-Ins
for Microsoft Visual Studio unterstützt.
Dekomposition mithilfe eines mit Annotationen versehenen XML-Schemas
Die Komponente
pureXML ermöglicht Ihnen die Speicherung von und den Zugriff auf
XML-Daten im XML-Format, d. h. in deren hierarchischen Format; es kann jedoch in bestimmten Fällen erforderlich sein, auf XML-Daten in
Form relationaler Daten
zuzugreifen. Bei der Dekomposition mithilfe eines mit Annotationen versehenen XML-Schemas werden Dokumente auf der Basis von Annotationen zerlegt,
die in einem XML-Schema angegeben sind.