Bevor Sie mit dem XML Extender Ihre Dokumente speichern, müssen Sie die Struktur des XML-Dokuments verstehen, um festlegen zu können, wie das Dokument durchsucht werden soll. Beim Planen, wie das Dokument durchsucht werden soll, müssen Sie folgendes festlegen:
In den folgenden Abschnitten wird beschrieben, wie Sie diese Entscheidungen treffen können.
Die Struktur des XML-Dokuments für diese Lektion verwendet Informationen zu einer bestimmten Bestellung, die nach Bestellschlüssel auf der Ausgangsebene und anschließend nach Kunde, Teil und Versandinformationen auf der nächsten Stufe strukturiert ist. Das XML-Dokument ist in Abbildung 4 beschrieben.
Diese Lektion enthält außerdem eine Beispiel-DTD, die Ihnen hilft, die XML-Dokumentstruktur besser zu verstehen und zu überprüfen. Die DTD-Datei ist in Anhang B, Beispiele dargestellt. Sie entspricht der Struktur in Abbildung 4.
Abbildung 4. Die hierarchische Struktur der DTD und des XML-Dokuments
Der XML Extender bietet benutzerdefinierte XML-Datentypen, in denen Sie eine Spalte definieren, die die XML-Dokumente enthalten soll. Diese Datentypen sind:
In dieser Lektion speichern Sie ein kleines Dokument in DB2 und verwenden dazu den Datentyp XMLVarchar.
Wenn Sie die XML-Dokumentstruktur und die Anforderungen der Anwendung
verstehen, können Sie festlegen, welche Elemente und Attribute durchsucht
werden sollen, welche Elemente und Attribute am häufigsten durchsucht und
extrahiert werden sollen oder welche am aufwendigsten zu durchsuchen
sind. Die Serviceabteilung hat darauf hingewiesen, daß sie häufig den
Bestellschlüssel, den Kundennamen, den Preis und das Versanddatum einer
Bestellung abfragen wird und bei diesen Abfragen auf einen schnellen Suchlauf
angewiesen ist. Diese Informationen sind in den Elementen und
Attributen der XML-Dokumentstruktur enthalten. Tabelle 2 beschreibt die Standortpfade aller Elemente und
Attribute.
Tabelle 2. Zu durchsuchende Elemente und Attribute
Daten | Standortpfad |
---|---|
Bestellschlüssel | /Order/@key |
Kunde | /Order/Customer/Name |
Preis | /Order/Part/ExtendedPrice |
Versanddatum | /Order/Part/Shipment/ShipDate |
In diesem Lernprogramm erstellen Sie eine DAD-Datei für die XML-Spalte zum Speichern des XML-Dokuments in DB2. Diese Datei ordnet auch den Inhalt der XML-Elemente und -Attribute den für die Indexierung verwendeten DB2-Seitentabellen zu, was die Suchleistung verbessert. Im letzten Abschnitt haben Sie gesehen, welche Elemente und Attribute durchsucht werden sollen. In diesem Abschnitt erfahren Sie mehr über die Zuordnung dieser Elemente und Attributwerte zu DB2-Tabellen, die indexiert werden können.
Nach dem Kennzeichnen der zu durchsuchenden Elemente und Attribute legen Sie fest, wie diese in den Seitentabellen organisiert werden sollen - wie viele Tabellen verwendet werden und welche Spalten sich in welcher Tabelle befinden sollen. Normalerweise organisieren Sie die Seitentabellen durch Ablegen ähnlicher Informationen in der gleichen Tabelle. Die Struktur wird auch dadurch festgelegt, ob der Standortpfad der Elemente mehr als einmal im Dokument wiederholt werden kann. In unserem Dokument kann das Element "Teil" beispielsweise mehrfach wiederholt werden; die Elemente "Preis" und "Datum" können somit mehrfach vorkommen. Elemente, die mehrfach vorkommen können, müssen in ihren eigenen Tabellen stehen.
Darüber hinaus müssen Sie auch festlegen, welche DB2-Basistypen die Element- und Attributwerte verwenden sollen. Normalerweise kann dies sehr einfach über das Format der Daten festgelegt werden. Wenn es sich bei den Daten um Text handelt, wählen Sie VARCHAR; sind es ganze Zahlen, wählen Sie INTEGER. Wenn es sich bei den Daten um ein Datum handelt und Sie eine bereichsweise Suche ausführen wollen, wählen Sie DATE.
In diesem Lernprogramm sind die Elemente und Attribute den folgenden Seitentabellen zugeordnet:
Spaltenname | Datentyp | Standortpfad | Mehrfaches Vorkommen? |
---|---|---|---|
ORDER_KEY | INTEGER | /Order/@key | No |
CUSTOMER | VARCHAR(16) | /Order/Customer/Name | No |
Spaltenname | Datentyp | Standortpfad | Mehrfaches Vorkommen? |
---|---|---|---|
PRICE | DECIMAL(10,2) | /Order/Part/ExtendedPrice | Yes |
Spaltenname | Datentyp | Standortpfad | Mehrfaches Vorkommen? |
---|---|---|---|
DATE | DATE | /Order/Part/Shipment/ShipDate | Yes |
Für dieses Lernprogramm wurde eine Reihe von Prozeduren bereitgestellt, mit denen Sie Ihre Umgebung einrichten können. Diese Scripts befinden sich im Verzeichnis DXX_INSTALL\samples\cmd (DXX_INSTALL gibt hierbei das Laufwerk und das Verzeichnis an, in dem sie den XML Extender installiert haben, z. B. c:\dxx\samples\cmd); sie heißen wie folgt: