IBM Books

Administración y programación


Integración de XML en DB2

El XML Extender proporciona las siguientes características para ayudarle a gestionar y a explotar datos XML con DB2:

Herramientas de administración

Las herramientas de administración del XML Extender le ayudan a habilitar la base de datos y las columnas de tabla para XM y a correlacionar datos XML con estructuras relacionales de DB2. El XML Extender proporciona varias herramientas de administración para el usuario, que le permiten desarrollar una aplicación para realizar tareas de administración o simplemente utilizar un asistente (programa de ayuda). Puede utilizar las herramientas siguientes para realizar tareas de administración para el XML Extender:

Métodos de almacenamiento y acceso

El XML Extender proporciona dos métodos de almacenamiento y acceso para la integración de documentos XML en DB2: columna XML y colección XML. Estos métodos tienen usos muy diferentes, pero se pueden utilizar en la misma aplicación.

columna XML
Este método le ayuda a almacenar documentos XML inalterados en DB2. La columna XML es un método adecuado para archivar documentos. Los documentos se insertan en columnas que están habilitadas para XML y se pueden actualizar, recuperar y también se puede buscar en ellos. Los datos de elementos y atributos se pueden correlacionar con tablas DB2 (tablas secundarias), que a su vez se pueden indexar para una búsqueda estructural rápida.

colección XML
Este método le ayuda a correlacionar estructuras de documento XML con tablas DB2 de modo que se puedan componer documentos XML a partir de datos de DB2, o descomponer (almacenar el contenido de elementos o atributos sin codificar) documentos XML en datos DB2. Este método es el adecuado para aplicaciones de intercambio de datos, sobretodo cuando el contenido de los documentos XML se actualiza con frecuencia.

Depósito DTD

El XML Extender proporciona un depósito de Definición de tipo de documento (DTD), que es un conjunto de declaraciones para elementos y atributos XML. Cuando una base de datos está habilitada para XML, se crea una tabla de referencia DTD (DTD_REF). Cada fila de esta tabla representa una DTD, junto con información adicional de metadatos. Los usuarios pueden acceder a esta tabla para insertar sus propias DTD. Las DTD de la tabla DTD_REF se utilizan para validar documentos XML.

Definiciones de acceso a documento (DAD)

La forma en que los documentos XML estructurados deben manejarse se especifica en una definición de acceso a documento (DAD). La propia DAD es un documento con formato XML. La DAD asocia la estructura de documento XML con una base de datos cuando se utilizan columnas XML o colecciones XML. La estructura de la DAD es distinta cuando se define una columna XML y cuando se define una colección XML.

Los archivos DAD se manejan utilizando la tabla XML_USAGE, que se crea cuando se habilita una base de datos para XML.

Columna XML: Almacenamiento y recuperación de documentos estructurados

Debido a que XML contiene toda la información necesaria para crear un conjunto de documentos, habrá ocasiones en que deseará almacenar y mantener la estructura del documento tal como es actualmente.

Por ejemplo, una empresa de divulgación de noticias por la Web puede desear mantener un archivo de los artículos publicados. En este caso, el XML Extender le permite almacenar los artículos XML, completos o parciales, en una columna de una tabla DB2. Este tipo de almacenamiento de documentos XML se denomina columna XML, tal como se muestra en la Figura 1.

Figura 1. Almacenamiento de documentos XML estructurados en una columna de una tabla DB2


Almacenamiento de documentos XML estructurados en una columna de una tabla DB2

El XML Extender proporciona los siguientes tipos definidos por el usuario (UDT) para su utilización con columnas XML:

Todos los UDT del XML Extender tienen el prefijo db2xml, que es el nombre de esquema de las UDT del XML Extender de DB2. Estos tipos de datos se utilizan para identificar el tipo de almacenamiento de los documentos XML en la tabla de aplicación. El XML Extender da soporte a archivos planos preexistentes; no es necesario almacenar los documentos XML dentro de DB2. También puede almacenar documentos XML como archivos en el sistema de archivos local, de acuerdo con lo especificado por un nombre de archivo local.

El XML Extender de DB2 proporciona potentes funciones definidas por el usuario (user-defined functions, UDF) para almacenar y recuperar documentos XML en columnas XML, así como para extraer valores de elementos o atributos de XML. Una UDF es una función que se define para el sistema de gestión de bases de datos y a la que se puede hacer referencia en consultas SQL. El XML Extender proporciona los siguientes tipos de UDF:

Las funciones de extracción le permiten realizar búsquedas potentes en tipos de datos SQL generales. Además, puede utilizar el DB2 UDB Text Extender con el XML Extender para llevar a cabo búsquedas estructurales y búsquedas totales en el texto de documentos XML. Esta potente capacidad de búsqueda se puede utilizar, por ejemplo, para mejorar las posibilidades de utilización de un sitio Web que publica grandes volúmenes de texto legible, tales como artículos de prensa, o de aplicaciones de intercambio de datos electrónicos (Electronic Data Interchange, EDI), que contienen elementos o atributos de búsqueda frecuente.

Todas las UDF del XML Extender tienen el prefijo db2xml, que es el nombre de esquema de las UDF del XML Extender de DB2. Las UDF se aplican a los UDT de XML y se utilizan para columnas XML.

Vía de ubicación

Una vía de ubicación es una secuencia de códigos XML que identifican un elemento o atributo de XML. El XML Extender utiliza la vía de ubicación para identificar la estructura del documento XML, indicando el contexto para el elemento o atributo. Una vía con una barra inclinada (/) individual indica que el contexto es el documento completo. La vía de ubicación se utiliza en las situaciones siguientes:

La Figura 2 muestra un ejemplo de una vía de ubicación y su relación con la estructura del documento XML.

Figura 2. Almacenamiento de documentos como documentos XML estructurados en una columna de una tabla DB2


Almacenamiento de documentos como documentos XML estructurados en una columna de una tabla DB2

Para especificar la vía de ubicación, el XML Extender utiliza un subconjunto del XML Stylesheet Language Transformation (XSLT) y XML Path Language (XPath). Este manual utiliza el término vía de ubicación, que está definido en la especificación de XPath. La vía de ubicación es una secuencia de códigos XML que identifican un elemento o atributo de XML. Este manual también utiliza la sintaxis abreviada de XSLT o XPath de la vía de ubicación absoluta, que se especifica en las especificaciones de XPath. La vía de acceso absoluta es la vía de acceso completa de un objeto.

XSLT es un lenguaje para transformar documentos XML en otros documentos XML. Está diseñado para ser utilizado como parte del XML Stylesheet Language (XSL), que es un lenguaje de hoja de estilo para XML. Además de XSLT, XSL incluye un vocabulario XML para especificar información de formato. XSL especifica el diseño de un documento XML utilizando XSLT para describir cómo se transforma el documento en otro documento XML que hace uso del vocabulario de formato.

XPath es un lenguaje para direccionar partes de un documento XML y está diseñado para ser utilizado por XSLT. Cada vía de ubicación se puede expresar utilizando la sintaxis definida para XPath.

Para obtener más información sobre XSLT y XPath, vea las páginas Web siguientes:

Vea el apartado Vía de ubicación para conocer la sintaxis y las limitaciones.

Terminología para columnas XML

Esta sección describe conceptos y terminología de XML que se utilizan en este manual.

definición de acceso a documento (document access definition, DAD)
Para una columna XML es una correlación de estructura de documento XML con tablas secundarias DB2 indexadas para consultas estructurales.

DXX_INSTALL
Es el directorio de instalación del XML Extender.

tabla secundaria
Son tablas adicionales que el XML Extender crea para mejorar el rendimiento cuando se buscan elementos o atributos en una columna XML.

columna XML
Es un método para almacenar y acceder a documentos XML mediante la habilitación de una columna DB2 para tipos de datos XML y el almacenamiento de un documento XML inalterado en la columna habilitada. También hace referencia a una columna que se ha habilitado para XML, utilizando una de las herramientas de administración.

tabla XML
Es una tabla de aplicación que incluye una o más columnas que se han habilitado para XML, utilizando una de las herramientas de administración.

UDF de XML
Es una función de DB2 definida por el usuario que proporciona el XML Extender.

UDT de XML
Es un tipo DB2 definido por el usuario que proporciona el XML Extender.

Colección XML: Gestión de datos integrados

Los datos de SQL tradicionales se descomponen a partir de documentos XML de entrada o se utilizan para componer documentos XML de salida. Si tiene datos que deben compartirse con otras aplicaciones, puede que desee poder componer y descomponer los documentos XML de entrada y salida, y gestionar los datos según convenga para sacar provecho de las posibilidades relacionales de DB2. Este tipo de almacenamiento de documentos XML se denomina colección XML.

Un ejemplo de una colección XML se proporciona en la Figura 3.

Figura 3. Almacenamiento de documentos como datos no codificados en tablas DB2


Almacenamiento de documentos como datos no codificados de tablas DB2

La colección XML se define en un archivo DAD, que especifica cómo se correlacionan los elementos y atributos con una o más tablas relacionales. Se puede definir un nombre de colección habilitándolo y, a continuación, utilizándolo con procedimientos almacenados para componer o descomponer documentos XML.

Cuando se define una colección en el archivo DAD, se utiliza uno de los dos tipos de esquemas de correlación, correlación SQL o correlación de nodo_RDB. La correlación SQL utiliza sentencias SELECT de SQL para definir los usos de las condiciones y las tablas de DB2 para la colección. La correlación de nodo_RDB utiliza un nodo_RDB basado en XPath para definir las tablas, columnas y condiciones.

Los procedimientos almacenados se proporcionan para componer o descomponer documentos XML. Los procedimientos almacenados utilizan el prefijo db2xml, que es el nombre de esquema del XML Extender. Utilice los siguientes procedimientos almacenados con colecciones XML:

Terminología para colecciones XML

Los términos siguientes son específicos del XML Extender y aparecen a menudo en el presente manual.

composición
Es la generación de documentos XML a partir de datos relacionales existentes, tal como se define en un archivo DAD.

descomposición
Es el almacenamiento de documentos XML como datos relacionales sin codificar, tal como se se define en un archivo DAD.

definición de acceso a documento (document access definition, DAD)
Para una colección XML, es una correlación de estructuras de documento XML con estructuras de datos DB2 para componer o descomponer documentos XML.

DXX_INSTALL
Es el directorio de instalación del XML Extender.

colección XML
Es un método para almacenar y acceder a datos XML utilizando un conjunto de tablas relacionales. Los datos sin codificar se pueden componer para formar documentos XML o se pueden descomponer a partir de documentos XML. Este término también designa el conjunto de tablas utilizado en la composición o descomposición de documentos XML.

procedimientos almacenados XML
Son procedimientos almacenados para componer o descomponer documentos XML.


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]