XML Extender Verwaltung und Programmierung

XML-Spalten aktivieren

Zum Speichern eines XML-Dokuments in einer DB2-Datenbank müssen Sie eine Spalte für XML aktivieren. Durch das Aktivieren wird die Spalte für die Indexierung vorbereitet, so daß sie schnell durchsucht werden kann. Sie können eine Spalte mit dem XML Extender-Verwaltungsassistenten aktivieren oder über die DB2-Befehls-Shell. Die Spalte muß den Typ XML haben.

Beim Aktivieren einer XML-Spalte führt der XML Extender folgende Aktionen aus:

Nach dem Aktivieren der XML-Spalte haben Sie folgende Möglichkeiten:

Vorbereitungen

Erstellen Sie eine XML-Tabelle, indem Sie eine DB2-Tabelle mit einer Spalte des XML-UDT erstellen oder ändern.

Verwaltungsassistent verwenden

Führen Sie zum Aktivieren von XML-Spalten die folgenden Schritte aus:

  1. Stellen Sie den Verwaltungsassistenten ein und starten Sie ihn. Siehe hierzu den Abschnitt Verwaltungsassistent starten.
  2. Klicken Sie Mit XML-Spalten arbeiten im LaunchPad-Fenster an, um die Tasks zu XML Extender-Spalten anzuzeigen. Das Fenster Eine Task auswählen wird geöffnet.
  3. Klicken Sie Eine Spalte aktivieren und anschließend Weiter an, um eine vorhandene Tabellenspalte in der Datenbank zu aktivieren.
  4. Wählen Sie im Feld Tabellenname die Tabelle aus, die die XML-Spalte enthält. Beispiel:
    SALES_TAB
    
  5. Wählen Sie die zu aktivierende Spalte im Feld Spaltenname aus. Beispiel:
    ORDER
    
    Die Spalte muß bereits vorhanden sein und den Typ XML haben.
  6. Geben Sie den DAD-Pfad- und Dateinamen im Feld DAD-Dateiname ein, oder klicken Sie ... an, um nach einer vorhandenen DAD-Datei zu suchen. Beispiel:
    c:\dxx\samples\dad\getstart.dad
    
  7. Wahlweise können Sie den Namen eines vorhandenen Tabellenbereichs im Feld Tabellenbereich eingeben.

    Der Tabellenbereich enthält Seitentabellen, die vom XML Extender erstellt wurden. Wenn Sie einen Tabellenbereich eingeben, werden die Seitentabellen in dem angegebenen Tabellenbereich erstellt. Geben Sie keinen Tabellenbereich an, werden die Seitentabellen in dem Standardtabellenbereich erstellt.

  8. Wahlweise können Sie den Namen der Standardsicht im Feld Standardsicht angeben.

    Sofern sie angegeben ist, wird die Standardsicht beim Aktivieren der Spalte automatisch erstellt und verknüpft die XML-Tabelle und alle dazugehörigen Seitentabellen.

  9. Wahlweise können Sie auch den Spaltennamen des Primärschlüssels in der Anwendungstabelle im Feld Root-ID angeben. Diese Vorgehensweise wird empfohlen.

    Der XML Extender verwendet den Wert ROOT ID als eindeutige Kennung für die Zuordnung aller Seitentabellen zu der Anwendungstabelle. Fehlt diese Angabe, fügt der XML Extender der Anwendungstabelle die Spalte DXXROOT_ID hinzu und generiert eine Kennung.

  10. Klicken Sie Beenden an, um die XML-Spalte zu aktivieren, die Seitentabellen zu erstellen und zum LaunchPad-Fenster zurückzukehren.

Von der DB2-Befehls-Shell aus

Geben Sie zum Aktivieren einer XML-Spalte den folgenden Befehl ein:

Syntax:
dxxadm enable_column
>>-dxxadm---enable_column---dbName---tbName---spltName---------->
 
>----DAD_Datei----+----------------------+---------------------->
                  '--t--tabellenbereich--'
 
>-----+--------------------+---+--------------+----------------><
      '--v--standardsicht--'   '--r--root_id--'
 

Parameter:

dbName
Der Name der Datenbank.

tbName
Der Name der Tabelle, die die zu aktivierende Spalte enthält.

spltName
Der Name der zu aktivierenden XML-Spalte.

DAD_Datei
Der Name der Datei, die die Dokumentzugriffsdefinition (DAD) enthält.

tabellenbereich
Ein zuvor erstellter Tabellenbereich, der die vom XML Extender erstellten Seitentabellen enthält. Ist kein Tabellenbereich angegeben, wird der Standardtabellenbereich verwendet.

standardsicht
Wahlfrei. Der Name der Standardsicht, die der XML Extender zum Verknüpfen einer Anwendungstabelle und aller zugehörigen Seitentabellen erstellt hat.

root_id
Wahlfrei. Der Spaltenname des Primärschlüssels in der Anwendungstabelle und eine eindeutige Kennung, die alle Seitentabellen der Anwendungstabelle zuordnet. Der XML Extender verwendet den Wert root_id als eindeutige Kennung für die Zuordnung aller Seitentabellen zu der Anwendungstabelle. Die Angabe der ROOT ID wird empfohlen. Wenn die ROOT ID nicht angegeben ist, fügt der XML Extender die Spalte DXXROOT_ID der Anwendungstabelle hinzu und generiert eine Kennung.

Einschränkung: Wenn die Anwendungstabelle einen Spaltennamen DXXROOT_ID enthält, diese Spalte jedoch nicht den Wert für root_id enthält, müssen Sie den Parameter root_id angeben; andernfalls tritt ein Fehler auf.

Beispiel: Das folgende Beispiel aktiviert eine Spalte über die DB2-Befehls-Shell. Die DAD-Datei und das XML-Dokument finden Sie in Anhang B, Beispiele.

dxxadm enable_column SALES_DB sales_tab order getstart.dad
            -v sales_order_view -r invoice_num
 
 

In diesem Beispiel wird die Spalte ORDER in der Tabelle SALES_DB.SALES_TAB aktiviert. Die DAD-Datei ist getstart.dad, die Standardsicht ist sales_order_view und die ROOT-ID ist INVOICE_NUM.

In diesem Beispiel hat die Tabelle SALES_TAB das folgende Schema:
Spaltenname INVOICE_NUM SALES_PERSON ORDER
Datentyp CHAR(6) VARCHAR(20) XMLVARCHAR

Die folgenden Seitentabellen werden entsprechend der DAD-Spezifikation erstellt:

ORDER_SIDE_TAB:
Spaltenname ORDER_KEY CUSTOMER INVOICE_NUM
Datentyp INTEGER VARCHAR(50) CHAR(6)
Pfadausdruck /Order/@key /Order/Customer/Name N/A

PART_SIDE_TAB:
Spaltenname PART_KEY PRICE INVOICE_NUM
Datentyp INTEGER DOUBLE CHAR(6)
Pfadausdruck /Order/Part/@key /Order/Part/ExtendedPrice N/A

SHIP_SIDE_TAB:
Spaltenname DATE INVOICE_NUM
Datentyp DATE CHAR(6)
Pfadausdruck /Order/Part/Shipment/ShipDate N/A

Alle Seitentabellen enthalten die Spalte INVOICE_NUM desselben Typs, da die ROOT ID vom Primärschlüssel INVOICE_NUM in der Anwendungstabelle angegeben wurde. Nach dem Aktivieren der Spalte wird der Wert von INVOICE_NUM in die Seitentabellen eingefügt. Die Angabe des Parameters default_view beim Aktivieren der XML-Spalte ORDER bewirkt, daß eine Standardsicht sales_order_view erstellt wird. Die Sicht verknüpft die obigen Tabellen mit der folgenden Anweisung:

CREATE VIEW sales_order_view(invoice_num, sales_person, order,
                             order_key, customer, part_key, price, date) 
     AS
     SELECT sales_tab.invoice_num, sales_tab.sales_person, sales_tab.order,
            order_tab.order_key, order_tab.customer, 
            part_tab.part_key, part_tab.price, 
            ship_tab.date
     FROM sales_tab, order_tab, part_tab, ship_tab
     WHERE sales_tab.invoice_num = order_tab.invoice_num 
                AND sales_tab.invoice_num = part_tab.invoice_num
                AND sales_tab.invoice_num = ship_tab.invoice_num
Wenn der Tabellenbereich im Befehl enable_column angegeben ist, werden die Seitentabellen in dem angegebenen Tabellenbereich erstellt. Ist der Tabellenbereich nicht angegeben, werden die Seitentabellen in dem Standardtabellenbereich erstellt.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]