XML Extender Administración y programación



Documentos relacionados
XML Extender Administración y programación

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

iseries Operations Navigator Administración de aplicaciones

Operación Microsoft Access 97

Instrucciones de instalación de IBM SPSS Modeler (licencia de usuario autorizado)

Guía de instalación de la carpeta Datos de IslaWin

Microsoft SQL Server Conceptos.

Guía de instalación y configuración de IBM SPSS Modeler Social Network Analysis 16

Capítulo 9. Archivos de sintaxis

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

iseries Client Access Express: Consola de operaciones

Acronis Backup & Recovery 11 Guía de inicio rápido

Microsoft Access proporciona dos métodos para crear una Base de datos.

Bases de Datos en Visual FoxPro. Administrador de proyectos

Instrucciones de instalación de IBM SPSS Modeler Server 16 para Windows

Toda base de datos relacional se basa en dos objetos

Guía de instalación de la carpeta Datos de ContaWin

Guía de inicio rápido a

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

Conceptos básicos Oracle 10g Introducción - Administración de Oracle - Orasite.com

Creación y administración de grupos de dominio

Acronis License Server. Guía del usuario

Microsoft Dynamics. Migración de FRx 6.7 a Management Reporter for Microsoft Dynamics ERP

Ejemplos y guías de aprendizaje Versión Guía de aprendizaje de Hiring Sample (Ejemplo de contratación para IBM Process Designer

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Edición de Ofertas Excel Manual de Usuario

Comisión Nacional de Bancos y Seguros

Consultas con combinaciones

Operación de Microsoft Word

Creación y administración de grupos locales

Formularios. Formularios Diapositiva 1

GENERACIÓN DE TRANSFERENCIAS

MÓDULO 2: TRATAMIENTO DE DATOS CON HOJA DE CÁLCULO. Tema 1: Gestión de listas de datos y tablas dinámicas. Leire Aldaz, Begoña Eguía y Leire Urcola

IBM SPSS Modeler Text Analytics Server for UNIX Instrucciones de instalación

MANUAL DE LA APLICACIÓN HELP DESK

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

Práctica de introducción a

IBM Tealeaf cxreveal Versión 8 Release 8 2 de agosto de Manual de administración de cxreveal

MICROSOFT WORD 2007 AVANZADO. Unidad Didáctica Nº 1

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.

GENERACIÓN DE ANTICIPOS DE CRÉDITO

INSTRUCCIONES CIERRE EJERCICIO 2014

Notas para la instalación de un lector de tarjetas inteligentes.

IBM Gestión de sistemas

CÓMO MANEJAR SU NUEVO SITIO WEB SOBRE DRUPAL Manual técnico y de usuario. Pontificia Universidad Javeriana Grupo PSU CDI

Manual del Alumno de la plataforma de e-learning.

Bases de datos en Excel

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

PUCV - Pontificia Universidad Católica de Valparaíso

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

3. Número inicial y número final de mensajes mostrados en la página actual.

5.- Crear páginas web con Nvu

Soluciones Informáticas para la Gestión de la Calidad c/vicente Aleixandre nº 10 4º H, A CORUÑA Telf: / info@spuch.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Introducción. Ingreso al sistema MAE Clear

COMBINAR CORRESPONDENCIA EN MICROSOFT WORD

SharpdeskTM R3.1. Guía de instalación Versión

PESTAÑA DATOS - TABLAS EN EXCEL

Activación de un Escritorio Remoto

Introducción a Visual Studio.Net

SharpdeskTM R3.2. Guía de instalación Versión

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este

Guía de inicio rápido de Laplink FileMover

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

Introducción a la plataforma Moodle Aníbal de la Torre Plataforma Moodle. Accediendo a los contenidos

Guía de inicio rápido

Internet Information Server

Guía de software adicional

Guía de instalación 1

NORMA 34.14(SEPA) 05/11/2013

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

IBM SPSS Statistics Versión 22. Instrucciones de instalación para Windows (Licencia de usuario autorizado)

iseries Gestión de las unidades de disco

WINDOWS : COPIAS DE SEGURIDAD

Intego NetUpdate X4 Manual del usuario

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO

MANAUAL DE MANTENIMIENTO PARA LA PÁGINA WEB DE PROYECTO ADL GESTOR DE CONTENIDOS

UNIDAD DIDACTICA 6 PERFILES LOCALES Y MÓVILES DE USUARIO

SiteAudit Knowledge Base Programación de Reportes en SiteAudit

Guía de aprendizaje de Business Intelligence: Introducción al Centro de depósito de datos

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

IBM Unica Campaign Versión 8 Release 6 30 de abril de Guía de migración de datos

Administrador de Seguridad Manual de Usuario Fecha de actualización:

Instrucciones para la instalación de IBM SPSS Data Access Pack para Linux

GUÍA BÁSICA USUARIO MOODLE 2.6

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

Manual de Usuario de la Herramienta SICRES-Tester. SIR Sistema de Interconexión de Registros. Tipo de documento. Fecha de entrega 08/04/2014

Instalación y uso de Check 2000 Client Server con ZENworks 2

Instrucciones de instalación de IBM SPSS Modeler Text Analytics (licencia de usuario autorizado)

2_trabajar con calc I

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

SOFTWARE DE RECUENTO DE DINERO

Base de datos en Excel

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

Redes de área local: Aplicaciones y servicios WINDOWS

Tareas básicas en OneNote 2010 Corresponde a: Microsoft Office OneNote 2010

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Transcripción:

IBM DB2 Uniersal Database XML Extender Administración y programación Versión 8.2 SC10-3750-01

IBM DB2 Uniersal Database XML Extender Administración y programación Versión 8.2 SC10-3750-01

Antes de utilizar esta información y el producto al que da soporte, asegúrese de leer la información general incluida en el apartado Aisos. Este manual es la traducción del original inglés IBM DB2 Uniersal Database XML Extender Administration and Programming Version 8.2, (SC27-1234-01). Este documento contiene información sobre productos patentados de IBM. Se proporciona según un acuerdo de licencia y está protegido por la ley de la propiedad intelectual. La presente publicación no incluye garantías del producto y las declaraciones que contiene no deben interpretarse como tales. Puede realizar pedidos de publicaciones en línea o a traés del representante de IBM de su localidad. Para realizar pedidos de publicaciones en línea, aya a IBM Publications Center en www.ibm.com/shop/publications/order Para encontrar el representante de IBM correspondiente a su localidad, aya a IBM Directory of Worldwide Contacts en www.ibm.com/planetwide Para realizar pedidos de publicaciones en márketing y entas de DB2 de los EE.UU. o de Canadá, llame al número 1-800-IBM-4YOU (426-4968). Cuando enía información a IBM, otorga a IBM un derecho no exclusio para utilizar o distribuir dicha información en la forma en que IBM considere adecuada, sin contraer por ello ninguna obligación con el remitente. Copyright International Business Machines Corporation 1999, 2004. Reserados todos los derechos.

Contenido Acerca de este manual........ ii A quién a dirigido este manual.......ii Cómo obtener una ersión actual de este manual ii Cómo utilizar este manual.........ii Conenios de resaltado.......... iii Cómo leer los diagramas de sintaxis.. ix Parte 1. Introducción........ 1 Capítulo 1. Introducción........ 3 Introducción a XML Extender.........3 Documentos XML............4 Manejo de los datos XML en DB2.......4 Características de XML Extender........5 Lecciones de la guía de aprendizaje de XML Extender 8 Requisitos preios...........8 Caso para las lecciones..........8 Lección: Almacenamiento de un documento XML en una columna XML............8 Lección: Composición de un documento XML...19 Parte 2. Administración...... 35 Capítulo 2. Administración...... 37 Herramientas de administración para XML Extender 37 Preparación para administrar XML Extender...37 Migración de XML Extender desde ersiones anteriores...............38 Migración a XML Extender con fixpacks desde ersiones anteriores............38 Visión general de la administración de XML Extender...............39 Configuración del Asistente de administración...39 Métodos de acceso y almacenamiento.....41 Cuándo utilizar el método de columna XML...42 Cuándo utilizar el método de colección XML...43 Planificación de columnas XML.......43 Tipos de datos XML para las columnas XML..43 Elementos y atributos a indexar para columnas XML................44 El archio DAD para columnas XML.....44 Planificación de colecciones XML.......45 Validación..............45 El archio DAD para colecciones XML....45 Esquemas de correlación para colecciones XML 47 Requisitos de tamaño de tabla de descomposición para la correlación RDB_node.......54 Validación automática de documentos XML...54 Habilitación de bases de datos para XML....55 Creación de una tabla XML.........55 Almacenamiento de una DTD en la tabla de depósito...............56 Habilitación de columnas XML........57 Planificación de tablas auxiliares.......61 Indexación de tablas auxiliares........62 Composición de documentos XML utilizando la correlación de SQL............62 Composición de colecciones XML utilizando la correlación de RDB_node..........66 Descomposición de una colección XML utilizando la correlación de RDB_node..........68 Parte 3. Programación....... 73 Capítulo 3. Columnas XML...... 75 Gestión de datos en columnas XML......75 Columnas XML como método de almacenamiento y acceso................76 Definición y habilitación de una columna XML..77 Utilización de índices para datos de columna XML 77 Almacenamiento de datos XML.......79 Funciones de conersión de datos por omisión para almacenar datos XML........79 Almacenamiento de las UDF para almacenar datos XML.............80 Método para recuperar un documento XML...81 Recuperación de un documento XML completo 81 Recuperación del contenido de elementos y de los alores de atributo de los documentos XML.83 Actualización de datos XML.........85 Actualización de un documento XML completo 85 Actualización de elementos y atributos específicos de un documento XML.....86 Métodos para la búsqueda de documentos XML..86 Búsqueda del documento XML por la estructura 87 Utilización de DB2 UDB Net Search Extender para realizar búsquedas de texto estructural de documentos XML...........89 Supresión de documentos XML........91 Limitaciones al inocar funciones desde la base de datos de Jaa (JDBC)...........92 Capítulo 4. Gestión de datos en colecciones XML.......... 93 Colecciones XML como método de almacenamiento y acceso...............93 Gestión de datos en colecciones XML......94 Preparación para componer documentos XML a partir de datos de DB2.........94 Descomposición de documentos XML en datos de DB2 UDB...............98 Habilitación de una colección XML para la descomposición............98 Límites de tamaño de la tabla de descomposición........... 101 Actualización y supresión de datos en colecciones XML................ 102 Copyright IBM Corp. 1999, 2004 iii

Actualización de datos en una colección XML 102 Supresión de un documento XML de una colección XML............ 103 Búsqueda de colecciones XML........ 104 Composición de documentos XML utilizando criterios de búsqueda.......... 104 Búsqueda de datos XML descompuestos... 105 Esquemas de correlación para colecciones XML.. 105 Requisitos para utilizar la correlación de SQL.. 109 Requisitos para la correlación de RDB_Node...110 Hojas de estilo para una colección XML....113 Vías de ubicación............114 Sintaxis de la ía de ubicación........115 Habilitación de colecciones XML.......116 Inhabilitación de colecciones XML......118 Capítulo 5. Esquemas XML..... 121 Ventajas de la utilización de esquemas XML en lugar de DTD............. 121 Elemento complextype del esquema XML.... 121 Tipos de datos, elementos y atributos en esquemas 122 Tipos de datos simples en esquemas XML... 122 Elementos en esquemas XML....... 123 Atributos en esquemas XML....... 123 Ejemplo de un esquema XML........ 123 Instancia de un documento XML mediante el uso del esquema........... 124 Instancia de un documento XML mediante el uso de una DTD........... 125 Parte 4. Consulta......... 127 Capítulo 6. Mandato de administración dxxadm.............. 129 Visión general de dxxadm......... 129 Sintaxis del mandato de administración dxxadm 129 Opciones del mandato de administración.... 129 Opción enable_db del mandato dxxadm... 130 Opción disable_db del mandato dxxadm... 131 Opción enable_column del mandato dxxadm 132 Opción disable_column del mandato dxxadm 134 Opción enable_collection del mandato dxxadm 135 Opción disable_collection del mandato dxxadm 136 Capítulo 7. Tipos definidos por el usuario de XML Extender...... 137 Capítulo 8. Funciones definidas por el usuario de XML Extender...... 139 Tipos de funciones definidas por el usuario de XML Extender............. 139 Funciones de almacenamiento........ 140 Visión general de las funciones de almacenamiento en XML Extender..... 140 Función XMLCLOBFromFile()....... 140 Función XMLFileFromCLOB()....... 140 Función XMLFileFromVarchar()...... 141 Función XMLVarcharFromFile()...... 142 Funciones de recuperación......... 143 Funciones de recuperación en XML Extender 143 Content(): recuperación de XMLFILE y almacenamiento en CLOB........ 145 Content(): recuperación de XMLVARCHAR y almacenamiento en un archio de seridor externo.............. 146 Content(): recuperación de XMLCLOB y almacenamiento en un archio de seridor externo.............. 147 Funciones de extracción.......... 148 Extracción de funciones en XML Extender... 148 extractinteger() y extractintegers()..... 149 extractsmallint() y extractsmallints()..... 150 extractdouble() y extractdoubles()..... 151 extractreal() y extractreals()....... 152 extractchar() y extractchars()....... 153 extractvarchar() y extractvarchars()..... 155 extractclob() y extractclobs()...... 156 extractdate() y extractdates()....... 157 extracttime() y extracttimes()....... 159 extracttimestamp() y extracttimestamps()... 160 Funciones de actualización en XML Extender... 161 Propósito.............. 161 Sintaxis.............. 161 Parámetros............. 161 Tipo deuelto............ 162 Ejemplo.............. 162 Uso................ 162 Funciones de alidación.......... 166 Función SVALIDATE()......... 167 Función DVALIDATE()......... 167 Capítulo 9. Archios de definición de acceso a documento (DAD)..... 169 Creación de un archio DAD para columnas XML 169 Archios DAD para colecciones XML..... 171 Composición SQL........... 174 Composición de nodo RDB........ 174 Composición partiendo de filas con alores nulos............... 174 DTD para el archio DAD......... 175 Alteración temporal dinámica de alores en el archio DAD............. 180 Comprobador del archio DAD....... 186 Utilización del comprobador de DAD..... 187 Verificaciones realizadas por el comprobador de DAD............... 189 Conflicto de denominación de atributos y elementos............. 196 Capítulo 10. Procedimientos almacenados de XML Extender.... 199 Procedimientos almacenados de XML Extender - Visión general............. 199 Inocación de procedimientos almacenados de XML Extender............. 199 Aumento del límite CLOB para procedimientos almacenados............. 201 Procedimientos almacenados que deuelen CLOB 201 i XML Extender Administración y programación

Procedimientos almacenados de administración de XML Extender............. 202 Procedimientos almacenados de administración de XML Extender - Visión general..... 202 Procedimiento almacenado dxxenabledb().. 202 Procedimiento almacenado dxxdisabledb().. 203 Procedimiento almacenado dxxenablecolumn() 204 Procedimiento almacenado dxxdisablecolumn() 205 Procedimiento almacenado dxxenablecollection()......... 206 Procedimiento almacenado dxxdisablecollection()......... 207 Procedimientos almacenados de composición de XML Extender............. 208 Procedimientos almacenados de composición XML Extender - Visión general...... 208 Procedimiento almacenado dxxgenxml()... 208 Procedimiento almacenado dxxretrieexml() 212 Procedimiento almacenado dxxgenxmlclob 215 Procedimiento almacenado dxxretrieexmlclob.......... 218 Procedimientos almacenados de descomposición de XML Extender............. 220 Procedimientos almacenados de descomposición de XML Extender - Visión general..... 220 Procedimiento almacenado dxxshredxml().. 220 Procedimiento almacenado dxxinsertxml().. 222 Capítulo 11. Procedimientos almacenados y funciones de XML Extender para MQSeries....... 225 Procedimientos almacenados y funciones de XML Extender para MQSeries - Visión general.... 225 Funciones MQSeries de XML Extender..... 226 Funciones de XML Extender MQSeries - Visión general.............. 226 Función MQPublishXML........ 227 Función MQReadXML......... 229 Función MQReadAllXML........ 230 Función MQReadXMLCLOB....... 232 Función MQReadAllXMLCLOB...... 233 Función MQReceieXML........ 235 Función MQReceieAllXML....... 237 Función MQRcAllXMLCLOB....... 239 Función MQReceieXMLCLOB...... 241 Función MQRcXMLCLOB........ 242 Función MQSENDXML......... 243 Función MQSENDXMLFILE....... 245 Función MQSendXMLFILECLOB...... 246 Procedimientos almacenados MQSeries de XML Extender............... 248 Procedimientos almacenados de XML Extender MQSeries - Visión general........ 248 Procedimiento almacenado dxxmqgen()... 250 Procedimiento almacenado dxxmqgenclob 253 Procedimiento almacenado dxxmqretriee.. 255 Procedimiento almacenado dxxmqretrieeclob 258 Procedimiento almacenado dxxmqshred... 260 Procedimiento almacenado dxxmqshredall.. 262 Procedimiento almacenado dxxmqshredclob 263 Procedimiento almacenado dxxmqshredallclob.......... 264 Procedimiento almacenado dxxmqinsert... 265 Procedimiento almacenado dxxmqinsertclob 267 Procedimiento almacenado dxxmqinsertall.. 269 Procedimiento almacenado dxxmqinsertallclob.......... 271 Capítulo 12. Extensible stylesheet language transformation (XSLT)... 273 Creación de un documento XML utilizando una hoja de estilo XSLT........... 273 Procedimiento almacenado XSLTransformToClob() 274 Procedimiento almacenado XSLTransformToFile() 275 Capítulo 13. Tablas de soporte de administración de XML Extender... 279 Tabla de referencia de DTD......... 279 Tabla de utilización de XML (XML_USAGE)... 279 Capítulo 14. Resolución de problemas 281 Resolución de problemas en XML Extender... 281 Inicio del rastreo de XML Extender...... 281 Detención del rastreo........... 282 Códigos de retorno de las UDF de XML Extender 282 Códigos de retorno de los procedimientos almacenados de XML Extender....... 283 Códigos SQLSTATE y números de mensaje asociados para XML Extender........ 283 Mensajes de XML Extender......... 288 Apéndice A. Ejemplos........ 305 Ejemplo de DTD XML.......... 305 Ejemplo de documento XML: getstart.xml.... 305 Archios de definición de acceso a documento.. 306 Archio DAD de ejemplo: Columna XML... 306 Archio DAD de ejemplo: Colección XML: Correlación SQL........... 307 Archio DAD de ejemplo: XML: RDB_node mapping.............. 308 Apéndice B. Consideraciones sobre la página de códigos......... 311 Terminología de las páginas de códigos XML...311 Premisas sobre la página de códigos de DB2 y XML................ 312 Premisas para importar un documento XML 312 Premisas para exportar un documento XML.. 313 Consideraciones de la declaración de codificación para XML Extender........... 314 Declaraciones de codificación permitidas... 314 Declaraciones de codificación y codificaciones coherentes............. 315 Declaración de una codificación...... 317 Casos de conersión........... 317 Recomendaciones para eitar documentos XML no coherentes.............. 319 Apéndice C. Límites de XML Extender 321 Contenido

Apéndice D. Nombres de UDT y UDF para XML Extender......... 325 Glosario de XML Extender...... 327 Aisos.............. 335 Marcas registradas............ 337 Índice............... 339 Cómo ponerse en contacto con IBM 345 Información sobre productos........ 345 i XML Extender Administración y programación

Acerca de este manual Esta sección contiene la siguiente información: A quién a dirigido este manual Cómo utilizar este manual Conenios de resaltado en la página iii A quién a dirigido este manual Este manual está pensado para las siguientes personas: Usuarios que trabajan con datos XML en aplicaciones DB2 y que están familiarizados con conceptos XML. Los lectores de esta publicación deben tener un conocimiento general de XML y DB2. Para aprender más acerca de XML, consulte el siguiente sitio Web: http://www.w3.org/xml Para aprender más acerca de DB2, consulte el sitio Web siguiente: http://www.ibm.com/software/data/db2/library Administradores de bases de datos DB2 familiarizados con los conceptos, herramientas y técnicas de administración de DB2. Programadores de aplicaciones DB2 familiarizados con SQL y con uno o más lenguajes de programación que se pueden utilizar con aplicaciones de DB2 UDB. Cómo obtener una ersión actual de este manual Cómo utilizar este manual Puede obtener la última ersión de este manual en el sitio Web de XML Extender: http://www.ibm.com/software/data/db2/extenders/xmlext/library.html Este manual esta estructurado de la siguiente manera: Parte 1. Introducción Esta parte proporciona una isión general de XML Extender y cómo utilizarlo en las aplicaciones comerciales. Contiene un caso de iniciación que le ayuda a comenzar a utilizar el producto. Parte 2. Administración Esta parte describe cómo preparar y mantener una base de datos DB2 UDB para datos XML. Lea esta parte si necesita administrar una base de datos DB2 UDB que contenga datos XML. Parte 3. Programación Esta parte describe cómo gestionar sus datos XML. Lea esta parte si necesita acceder y manipular datos XML en un programa de aplicación de DB2 UDB. Parte 4. Consulta Esta parte describe cómo utilizar los mandatos de administración de XML Extender, los tipos definidos por el usuario, las funciones definidas por el usuario y los procedimientos almacenados. También lista los mensajes y códigos que XML Extender emite. Lea esta parte si está familiarizado con los conceptos y tareas de XML Extender, pero necesita información sobre Copyright IBM Corp. 1999, 2004 ii

Conenios de resaltado un tipo definido por el usuario (UDT), una función definida por el usuario (UDF), un mandato, un mensaje, tablas de metadatos, tablas de control o código. Parte 5. Apéndices Los apéndices describen la DTD para la definición de acceso a documentos, para los ejemplos y el caso de iniciación, así como otros productos XML de IBM. Este manual utiliza los conenios siguientes: El texto en negrita indica: Mandatos Nombres de campos Nombres de menús Pulsadores El texto en cursia indica Parámetros ariables que han de ser sustituidos por un alor Palabras resaltadas La primera aparición de un término del glosario Las letras en mayúsculas indican: Tipos de datos Nombres de columnas Nombres de tablas El texto de ejemplo indica: Mensajes del sistema Valores que escribe el usuario Ejemplos de codificación Nombres de directorios Nombres de archios iii XML Extender Administración y programación

Cómo leer los diagramas de sintaxis A lo largo de todo este manual, se describe la sintaxis de los mandatos y de las sentencias de SQL mediante diagramas de sintaxis. Para leer los diagramas de sintaxis, siga estas directrices: Lea el diagrama de sintaxis de izquierda a derecha, de arriba abajo, siguiendo el recorrido de la línea. El símbolo indica el comienzo de una sentencia. El símbolo indica que la sintaxis de la sentencia continúa en la línea siguiente. El símbolo indica que la sentencia continúa de la línea anterior. El símbolo indica el final de una sentencia. Los diagramas de unidades sintácticas que no son sentencias completas comienzan con el símbolo y terminan con el símbolo. Los elementos obligatorios de la sintaxis aparecen en la línea horizontal (la ruta principal). elemento_obligatorio Los elementos opcionales aparecen debajo de la ruta principal. elemento_obligatorio elemento_opcional Si un elemento opcional aparece encima de la ruta principal, ese elemento no afecta a la ejecución de la sentencia y se utiliza sólo por razones de legibilidad. elemento_obligatorio elemento_opcional Si puede elegir entre dos o más elementos, aparecen apilados erticalmente. Si debe seleccionar uno de los elementos, un elemento de la pila aparece en la ruta principal. elemento_obligatorio opción1_obligatoria opción2_obligatoria Si es opcional elegir uno de los elementos, la pila completa aparece debajo de la ruta principal. elemento_obligatorio opción1_opcional opción2_opcional Si uno de los elementos es la opción por omisión, aparece encima de la ruta principal y las demás opciones aparecen debajo. Copyright IBM Corp. 1999, 2004 ix

elemento_obligatorio opción_por_omisión opción_opcional opción_opcional Una flecha que uele hacia la izquierda, encima de la línea principal, indica un elemento que puede repetirse. elemento_obligatorio elemento_repetible Si la flecha de repetición contiene un signo de puntuación, el usuario debe separar los elementos repetidos utilizando el signo de puntuación especificado. elemento_obligatorio, elemento_repetible Una flecha de repetición encima de una pila indica que se pueden repetir los elementos de la pila. Las palabras clae aparecen en mayúsculas (por ejemplo, FROM). En XML Extender, las palabras clae se pueden utilizar indistintamente en mayúsculas y minúsculas. Los términos que no son palabras clae aparecen en letras minúsculas (por ejemplo, nombre_columna). Estos términos representan nombres o alores que proporciona el usuario. Si aparecen signos de puntuación, paréntesis, operadores aritméticos u otros símbolos de esta clase, debe especificarlos como parte de la sintaxis. x XML Extender Administración y programación

Parte 1. Introducción Esta parte proporciona una isión general de XML Extender y cómo utilizarlo en las aplicaciones comerciales. Copyright IBM Corp. 1999, 2004 1

2 XML Extender Administración y programación

Capítulo 1. Introducción Introducción a XML Extender DB2 XML Extender proporciona la posibilidad de almacenar y acceder a documentos XML, generar documentos XML a partir de datos relacionales ya existentes e insertar filas en tablas relacionales desde documentos XML. XML Extender proporciona nueos tipos de datos, funciones y procedimientos almacenados para gestionar los datos XML en DB2 UDB. XML Extender está disponible en los siguientes sistemas operatios: Windows NT Windows 2000 AIX Entorno operatio Solaris Linux HP-UX en una plataforma PA-RISC OS/390 y z/os iseries La única plataforma de 64 bits que soporta DB2 XML Extender en la actualidad es la plataforma HP-UX. Antes de comenzar a trabajar con DB2 UDB XML Extender, es posible que desee establecer el lugar en que se guardarán los archios temporales. La ariable de entorno DB2DXXTEMP controla la ubicación de los archios temporales de XML Extender. Si la ariable no está establecida, el alor de TMP determinará la ubicación de los archios temporales. Para establecer el alor de DB2DXXTEMP en Windows 2000: 1. Asegúrese de haber iniciado sesión con el ID de usuario que utilice con DB2. 2. Pulse Inicio >Configuración >Panel de control. 3. Efectúe una doble pulsación sobre el icono Sistema. 4. Pulse Variables de entorno en la pestaña Aanzado del cuaderno Propiedades del sistema. 5. Pulse Nuea en la sección Variables del sistema. Entre DB2DXXTEMP como nombre de la ariable y entre un alor para dicha ariable como, por ejemplo, C:\temp. 6. Cierre todas las entanas y reinicie el sistema. Conceptos relacionados: Documentos XML en la página 4 Características de XML Extender en la página 5 Lección: Almacenamiento de un documento XML en una columna XML en la página 8 Lección: Composición de un documento XML en la página 19 Lecciones de la guía de aprendizaje de XML Extender en la página 8 Copyright IBM Corp. 1999, 2004 3

Documentos XML Las empresas suelen compartir datos entre las distintas aplicaciones, por ello dichas empresas deben afrontar continuamente el problema de replicar, transformar, exportar o guardar los datos en formatos que puedan ser importados en otras aplicaciones. Muchos de estos procesos de transformación tienden a eliminar parte de los datos o, como mínimo, obligan al usuario a realizar el tedioso proceso de asegurarse de la coherencia de los datos. Esta comprobación manual consume tiempo y dinero. Una de las formas de abordar este problema es que el desarrollador de aplicaciones escriba aplicaciones ODBC (Open Database Connectiity), una API (interfaz de programación de aplicaciones) estándar para el acceso a datos para sistemas de gestión de bases de datos relacionales y no relacionales. Estas aplicaciones ODBC guardan los datos en un sistema de gestión de bases de datos. A partir de este momento, los datos se pueden manejar y presentar en la forma que sea coneniente para otra aplicación. Es necesario escribir las aplicaciones de bases de datos para conertir los datos en el formato requerido por la aplicación. Las aplicaciones cambian rápidamente y se uelen obsoletas con la misma rapidez. Las aplicaciones que conierten datos a HTML proporcionan soluciones de presentación, pero en la práctica los datos presentados no se pueden utilizar para ninguna otra finalidad. Se hace necesario un método que separe los datos de la presentación para poder proporcionar una manera práctica de intercambiar datos entre aplicaciones. XML extensible Markup Language aborda este problema. El lenguaje XML es extensible porque es un metalenguaje que permite al usuario crear su propio lenguaje dependiendo de las necesidades de la empresa. XML se utiliza para capturar no tan sólo los datos para una aplicación determinada, sino también la estructura de datos. Aunque no es el único formato de intercambio de datos, XML ha surgido como el estándar aceptado. Las aplicaciones que cumplen este estándar pueden compartir datos sin transformarlos primero utilizando formatos exclusios. Debido a que XML es ahora el estándar aceptado para el intercambio de datos, están surgiendo muchas aplicaciones que podrán sacar proecho de él. Suponga que se está utilizando una aplicación de gestión de proyectos determinada y desea compartir parte de sus datos con una aplicación de agenda. Su aplicación de gestión de proyectos podría exportar tareas en formato XML, que a continuación, podrían importarse tal cual a la aplicación de agenda. En el mundo interconectado de hoy en día, los proeedores de aplicaciones tienen muchos motios para conertir el intercambio mediante XML en una característica básica de sus aplicaciones. Manejo de los datos XML en DB2 Aunque XML soluciona muchos problemas al proporcionar un formato estándar para el intercambio de datos, existen todaía cuestiones por abordar. Al crear una aplicación de datos para la empresa, es necesario plantearse cuestiones como las siguientes: Con qué frecuencia es necesario replicar los datos? Qué clase de información hay que compartir entre aplicaciones? Con qué rapidez se puede buscar la información necesaria? 4 XML Extender Administración y programación

Cómo puedo hacer que una determinada acción, como por ejemplo, añadir una nuea entrada, desencadene un intercambio automático de datos entre todas mis aplicaciones? Esta clase de cuestiones sólo se pueden abordar utilizando un sistema de gestión de bases de datos. Mediante la incorporación directa de la información y meta-información de XML en la base de datos, se pueden obtener de manera más eficaz los resultados XML que las otras aplicaciones necesitan. Con XML Extender, puede sacar proecho de la potencia de DB2 en muchas aplicaciones XML. Con el contenido de los documentos XML estructurados dentro de una base de datos DB2 UDB, puede combinar la información XML estructurada con datos relacionales normales. Dependiendo de la aplicación, puede elegir si desea almacenar documentos XML completos en DB2 usando los tipos definidos por el usuario proporcionados para datos XML (tipos de datos XML), o bien puede correlacionar el contenido XML como tipos de datos base en tablas relacionales. Para tipos de datos XML, XML Extender añade la posibilidad de busca diersos tipos de datos de alores o elementos XML, además de la búsqueda de texto estructural que DB2 Uniersal Database proporciona. XML Extender proporciona dos formas de almacenar y acceder a los datos XML en DB2: Método de columna XML Almacena documentos XML completos como datos de columna o bien externamente como un archio y al mismo tiempo extrae el alor de elemento o atributo XML necesario y lo almacena en tablas auxiliares, tablas indexadas para búsquedas de alta elocidad. Con el almacenamiento de documentos en forma de datos de columna, puede: Realizar búsquedas rápidas en elementos o atributos XML que hayan sido extraídos o almacenados en tablas auxiliares como tipos de datos básicos SQL y que se hayan indexado. Actualizar el contenido de un elemento XML o del alor de un atributo XML. Extraer elementos o atributos XML dinámicamente utilizando consultas SQL. Validar documentos XML durante la inserción o actualización. Realizar búsquedas de texto estructural con Net Search Extender. Método de colección XML Compone y descompone el contenido de documentos XML con una o más tablas relacionales. Características de XML Extender XML Extender proporciona las siguientes características para ayudarle a gestionar y a hacer uso de los datos XML con DB2 : Herramientas de administración para ayudarle a gestionar la integración de datos XML en tablas relacionales Métodos de almacenamiento y acceso para datos XML dentro de la base de datos Un depósito de DTD (definición de tipos de datos), para almacenar las definiciones de tipos de datos que se utilizan para alidar datos XML La posibilidad de alidar documentos XML utilizando un esquema Capítulo 1. Introducción 5

Un archio de correlación llamado archio DAD (Definición de acceso a documento), que se utiliza para correlacionar documentos XML con datos relacionales Vías de ubicación para especificar la ubicación de un elemento o atributo dentro de un documento XML Herramientas de administración: Las herramientas de administración de XML Extender le ayudan a habilitar la base de datos y columnas de tabla para XML y a correlacionar los datos XML con estructuras relacionales de DB2. Puede utilizar las herramientas siguientes para realizar tareas de administración en XML Extender: El mandato dxxadm proporciona una opción para realizar tareas de administración desde la línea de mandatos. Los procedimientos almacenados de administración de XML Extender permiten inocar mandatos de administración desde un programa. Métodos de almacenamiento y acceso: XML Extender proporciona dos métodos de almacenamiento y acceso para integrar documentos XML con estructuras de datos de DB2: la columna XML y la colección XML. Estos métodos tienen usos muy diferentes, pero se pueden utilizar en la misma aplicación. Método de columna XML Este método le ayuda a almacenar documentos XML completos en DB2. La columna XML es un método adecuado para archiar documentos. Los documentos se insertan en columnas habilitadas para XML y se pueden actualizar, recuperar y efectuar búsquedas en ellos. Los datos de elementos y atributos pueden correlacionarse con tablas de DB2 UDB (tablas auxiliares), que a su ez pueden indexarse para realizar búsquedas rápidas. Método de colección XML Este método le ayuda a correlacionar estructuras de documentos XML con tablas de DB2 UDB para poder componer documentos XML a partir de datos de DB2 UDB existentes o descomponer documentos XML, almacenando los datos sin códigos en tablas de DB2 UDB. Este método es ideal para aplicaciones de intercambio de datos, en especial cuando se actualiza con frecuencia el contenido de los documentos XML. DTD: XML Extender también permite almacenar las DTD, el conjunto de declaraciones para elementos y atributos XML. Cuando se habilita para XML, se crea una tabla de depósito de 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 se utilizan para alidar la estructura de los documentos XML. Archios DAD: El usuario especifica la forma en que XML Extender procesa los documentos XML estructurados utilizando un archio de definición de acceso de documentos (DAD). El archio DAD es un documento XML que correlaciona la estructura del documento XML con una tabla de DB2 UDB. El archio DAD se utiliza para almacenar documentos XML en una columna o al componer o descomponer datos XML. El archio DAD especifica si el usuario está almacenando documentos utilizando el método de columna XML o está definiendo una colección XML para componer o descomponer documentos. 6 XML Extender Administración y programación

Vías de ubicación: Una ía de ubicación especifica la ubicación de un elemento o atributo dentro de un documento XML. XML Extender utiliza la ía de ubicación para recorrer la estructura del documento XML y localizar elementos y atributos. Por ejemplo, una ía de ubicación de /Order/Part/Shipment/ShipDate apunta al elemento ShipDate, que es un elemento hijo de los elementos Shipment, Part y Order, tal y como se muestra en el siguiente ejemplo: <Order> <Part> <Shipment> <ShipDate> +... La Figura 1 muestra un ejemplo de una ía de ubicación y su relación con la estructura del documento XML. Figura 1. Almacenamiento de documentos como documentos XML estructurados en una columna de una tabla de DB2 UDB La ía de ubicación se utiliza en los casos siguientes: Columnas XML Se utilizan para identificar los elementos y atributos a extraer o actualizar cuando se utilizan las funciones definidas por el usuario de XML Extender. También se utilizan para correlacionar el contenido de un elemento o atributo XML con una tabla auxiliar. Colecciones XML Se utilizan para alterar temporalmente los alores en el archio DAD de un procedimiento almacenado. Para especificar la ía de ubicación, XML Extender utiliza un subconjunto del XML Path Language (XPath), el lenguaje para indicar la ubicación de las partes de un documento XML. Para obtener más información acerca de Xpath, consulte la siguiente página Web: http://www.w3.org/tr/xpath Capítulo 1. Introducción 7

Conceptos relacionados: Manejo de los datos XML en DB2 en la página 4 Lección: Almacenamiento de un documento XML en una columna XML en la página 8 Lección: Composición de un documento XML en la página 19 Lecciones de la guía de aprendizaje de XML Extender en la página 8 Lecciones de la guía de aprendizaje de XML Extender Esta guía de aprendizaje muestra cómo utilizar XML Extender para acceder y modificar los datos XML para las aplicaciones. Se proporcionan tres lecciones: Almacenamiento de un documento XML en una columna XML Composición de un documento XMLComposición de un documento XML Limpieza de la base de datoslimpieza de la base de datos Siguiendo las lecciones de la guía de aprendizaje, puede configurar una base de datos utilizando los datos de ejemplo proporcionados, correlacionar datos SQL con un documento XML, almacenar documentos XML en la base de datos y, a continuación, buscar y extraer datos de los documentos XML. En las lecciones de administración, utilizará la entana de mandatos de DB2 con los mandatos de administración de XML Extender. En las lecciones de gestión de datos XML, utilizará las UDF y procedimientos almacenados de XML Extender. La mayoría de los ejemplos en el resto de esta guía se basan en los datos de ejemplo que se utilizan en esta sección. Requisitos preios Caso para las lecciones En estas lecciones, se supone que el usuario trabaja para ACME Auto Direct, una compañía que distribuye coches y camiones a empresas líder en el sector automoilístico. Se le han asignado dos tareas. Primero a a configurar un sistema en el que los pedidos se puedan archiar en la base de datos SALES_DB para que el departamento de entas los consulte. A continuación, extraerá la información de una base de datos existente de pedidos de compras, SALES_DB. Conceptos relacionados: Herramientas de administración para XML Extender en la página 37 Visión general de la administración de XML Extender en la página 39 Lección: Almacenamiento de un documento XML en una columna XML en la página 8 Lección: Composición de un documento XML en la página 19 Lección: Almacenamiento de un documento XML en una columna XML XML Extender proporciona un método para almacenar y acceder a todos los documentos XML de la base de datos. El método de columna XML le permite almacenar el documento utilizando los tipos de archios XML, indexar la columna en tablas auxiliares y, a continuación, consultar el documento XML o efectuar búsquedas en el mismo. Este método de almacenamiento es especialmente útil para las aplicaciones de archio en las que los documentos no se actualizan con frecuencia. 8 XML Extender Administración y programación

Esta lección muestra cómo utilizar el método de almacenamiento y acceso de columna XML. El caso: Se le ha asignado la tarea de archiar los datos de entas del departamento de sericios. Los datos de entas que necesita utilizar se almacenan en documentos XML que utilizan la misma DTD. El departamento de sericios ha proporcionado una estructura recomendada para los documentos XML y ha especificado los datos de elementos que serán consultados con mayor frecuencia. El departamento de sericio quiere que los documentos XML se almacenen en la tabla SALES_TAB de la base de datos SALES_SB y desearía poder buscarlos con rapidez. La tabla SALES_TAB contendrá dos columnas con datos sobre cada enta y una tercera contendrá el documento XML. Esta columna se llama ORDER. Para almacenar este documento XML en la tabla SALES_TAB, deberá: 1. Determinar los tipos definidos por el usuario (UDT) de XML Extender en los cuales se a a almacenar el documento XML, así como los elementos y atributos que se an a consultar con frecuencia. 2. Configurar la base de datos SALES_DB para XML. 3. Crear la tabla SALES_TAB y habilitar la columna ORDER para que pueda almacenar el documento intacto en DB2. 4. Insertar una DTD para el documento XML para la alidación. 5. Almacenar el documento como un tipo de datos XMLVARCHAR. Cuando habilite la columna, deberá definir las tablas auxiliares que deben indexarse para la búsqueda estructural del documento en un archio de definición de acceso a documento (DAD), un documento XML que especifica la estructura de las tablas auxiliares. La tabla SALES_TAB se describe en la Tabla 1. La columna XML que se a a habilitar para XML, ORDER, se muestra en cursia. Tabla 1. Tabla SALES_TAB Nombre de columna INVOICE_NUM SALES_PERSON ORDER Tipo de datos CHAR(6) NOT NULL PRIMARY KEY VARCHAR(20) XMLVARCHAR Scripts y ejemplos: Para esta guía de aprendizaje, utilizará un conjunto de scripts para configurar su entorno y ejecutar los pasos de las lecciones. Estos scripts se encuentran en el directorio instalación_dxx/samples/db2xml/cmd (donde instalación_dxx es el directorio en el que se han instalado los archios de XML Extender). Estos scripts son: getstart_db.cmd Crea la base de datos y llena cuatro tablas. Capítulo 1. Introducción 9

getstart_prep.cmd Vincula la base de datos con los procedimientos almacenados de XML Extender y habilita la base de datos para XML Extender. getstart_insertdtd.cmd Inserta la DTD, que se utiliza para alidar el documento XML, en la columna XML. getstart_createtabcol.cmd Crea una tabla de aplicación que tendrá una columna habilitada para XML. getstart_altertabcol.cmd Modifica la tabla de aplicación añadiendo la columna que se habilitará para XML. getstart_enablecol.cmd Habilita la columna XML. getstart_createindex.cmd Crea índices en las tablas auxiliares para la columna XML. getstart_insertxml.cmd Inserta el documento XML en la columna XML. getstart_querycol.cmd Ejecuta una sentencia select en la tabla de aplicación y deuele el documento XML. getstart_stp.cmd Ejecuta el procedimiento almacenado para componer la colección XML. getstart_exportxml.cmd Exporta el documento XML desde la base de datos para utilizarlo en una aplicación. getstart_clean.cmd Limpia el entorno de la guía de aprendizaje. Planificación del modo de almacenar el documento: Antes de utilizar XML Extender para almacenar los documentos, necesitará: Comprender la estructura del documento XML. Determinar el tipo definido por el usuario XML en el que almacenar el documento XML. Determinar los elementos y atributos XML que el departamento de sericios a a buscar con más frecuencia, para que su contenido pueda almacenarse en tablas e indexarse para mejor el rendimiento. Las siguientes secciones describen cómo tomar estas decisiones. Estructura del documento XML: La estructura del documento XML de esta lección reúne información para un pedido específico que está estructurado mediante la clae de pedido como el niel superior, después la información de cliente, pieza y enío en el siguiente niel. Esta lección proporciona la DTD de ejemplo para que el usuario comprenda y alide la estructura del documento XML. Determinación del tipo de datos XML para la columna XML: 10 XML Extender Administración y programación

XML Extender proporciona los tipos XML definidos por el usuario XML que se pueden utilizar para definir una columna para albergar documentos XML. Estos tipos de datos son los siguientes: XMLVARCHAR Utilizado para documentos menores de 3 kilobytes almacenados en DB2. El tamaño máximo de los documentos XMLVARCHAR puede definirse como 32672 bytes de tamaño. XMLCLOB Utilizado para documentos mayores de 3 kilobytes almacenados en DB2. El tamaño máximo de documento es de 2 gigabytes. XMLFILE Se utiliza para documentos almacenados fuera de DB2. En esta lección, se a a almacenar un documento pequeño en DB2 y, por lo tanto, se utilizará el tipo de datos XMLVARCHAR. Determinación de los elementos y atributos que deben buscarse: Cuando haya comprendido la estructura del documento XML y las necesidades de la aplicación, podrá determinar qué elementos y atributos se buscarán o extraerán con más frecuencia o aquellos cuya consulta sea la más costosa. El departamento de sericios consultará frecuentemente la clae de pedido, el nombre del cliente, precio y la fecha de enío de un pedido; necesitarán también un rendimiento rápido de dichas búsquedas. Esta información está contenida en los elementos y los atributos de la estructura del documento XML. La Tabla 2 describe las ías de ubicación de cada elemento y atributo. Tabla 2. Elementos y atributos que deben buscarse Datos clae de pedido nombre de cliente precio fecha de enío Vía de ubicación /Order/@Key /Order/Customer/Name /Order/Part/ExtendedPrice /Order/Part/Shipment/ShipDate Correlación del documento XML con las tablas auxiliares: Para correlacionar los documentos XML con una tabla auxiliar, debe crear un archio DAD para la columna XML. El archio DAD se utiliza para almacenar el documento XML en DB2. También correlaciona el contenido del elemento y atributo XML con las tablas auxiliares de DB2 UDB utilizadas para el indexado, lo cual mejora el rendimiento de la búsqueda. Después de identificar los elementos y atributos que desea buscar, debe determinar cómo deben organizarse en las tablas auxiliares, cuántas tablas utilizar y qué columnas habrá en cada tabla. Organice las tablas auxiliares colocando información similar en la misma tabla. La estructura del documento también se determina según si la ía de ubicación de los elementos se puede repetir más de una ez en el documento. Por ejemplo, en el documento, el elemento pieza puede repetirse arias eces y, por lo tanto, los elementos precio y fecha pueden aparecer arias eces. Los elementos que pueden aparecer arias eces deben estar en sus propias tablas auxiliares. Capítulo 1. Introducción 11

Debe asimismo determinar qué tipos base de DB2 USB deben utilizar los alores del elemento o atributo, tarea que iene determinada según el formato de los datos. Si los datos son de tipo texto, utilice VARCHAR. Si los datos son de tipo entero, utilice INTEGER. Si los datos son de tipo fecha y desea realizar búsquedas de interalos de fechas, utilice DATE. En esta guía de aprendizaje, los elementos y atributos se correlacionan con ORDER_SIDE_TAB, PART_SIDE_TAB o SHIP_SIDE_TAB. Las tablas siguientes muestran con qué tabla se correlaciona cada elemento o atributo. ORDER_SIDE_TAB Nombre de columna Tipo de datos Vía de ubicación Varias apariciones? ORDER_KEY INTEGER /Order/@Key No CUSTOMER VARCHAR(16) /Order/Customer/Name No PART_SIDE_TAB Nombre de columna Tipo de datos Vía de ubicación Varias apariciones? PRICE DECIMAL(10,2) /Order/Part/ExtendedPrice Sí SHIP_SIDE_TAB Nombre de columna Tipo de datos Vía de ubicación DATE DATE /Order/Part/Shipment/ShipDate Sí Varias apariciones? Creación de la base de datos SALES_DB: En esta tarea, debe crear una base de datos de ejemplo y crear la base de datos para XML. Para crear la base de datos: 1. Asegúrese de que el administrador de DB2 UDB ha habilitado el seridor de bases de datos. 2. Pase al directorio instalación_dxx/samples/db2xml/cmd, donde instalación_dxx es el directorio en el que ha instalado los archios de XML Extender. Los archios de ejemplo contienen referencias a archios que utilizan nombres de ías de acceso absolutos. Examine los archios de ejemplo y cambie esas ías de acceso para que apunten a sus directorios. 3. En las plataformas Windows, abra una entana de mandatos de DB2 UDB escribiendo: DB2CMD 4. Ejecute el mandato getstart_db: Habilitación del seridor: Para guardar información de XML en la base de datos, debe habilitarla para XML Extender. Al habilitar una base de datos para XML, XML Extender: 12 XML Extender Administración y programación

Crea los tipos definidos por el usuario (UDT), funciones definidas por el usuario (UDF) y los procedimientos almacenados Crea y llena las tablas de control con los metadatos necesarios para XML Extender Crea el esquema DB2XML y asigna los priilegios necesarios Para habilitar la base de datos para XML: Utilice uno de los métodos siguientes para habilitar la base de datos. Ejecute el script siguiente: getstart_prep.cmd Este script incula la base de datos a los procedimientos almacenados de XML Extender y a la CLI de DB2 UDB. También ejecuta la opción del mandato dxxadm que habilita la base de datos: dxxadm enable_dbsales_db Habilitación de la columna XML y almacenamiento del documento: En esta lección, habilitará una columna para XML Extender y almacenará un documento XML en la columna. Para realizar estas tareas: 1. Almacene la DTD en el depósito de DTD. 2. Cree un archio DAD para la columna XML. 3. Cree la tabla SALES_TAB. 4. Añada la columna de tipo XML. 5. Habilite la columna XML. 6. Visualice la columna y las tablas auxiliares. 7. Indexe las tablas auxiliares para una búsqueda estructural. 8. Almacene el documento XML. 9. Consulte el documento XML. Almacenamiento de la DTD en el depósito de DTD: Puede utilizar una DTD para alidar datos XML en una columna XML. XML Extender crea una tabla en la base de datos habilitada para XML, denominada DTD_REF. Dicha tabla se conoce como el depósito de DTD y se encuentra disponible para almacenar las DTD. Cuando alida documentos XML, debe almacenar la DTD en este depósito. La DTD de esta lección se encuentra en instalación_dxx/samples/db2xml/dtd/getstart.dtd donde instalación_dxx es el directorio donde se ha instalado DB2 XML Extender. Entre el siguiente mandato SQL INSERT en la misma línea de mandatos de DB2: DB2 CONNECT TO SALES_DB INSERT into DB2XML.DTD_REF alues ( instalación_dxx/samples/db2xml/dtd/getstart.dtd, DB2XML.XMLClobFromFile ( instalación_dxx/samples/db2xml/dtd/getstart.dtd), 0, user1, user1, user1 ) Ejecute el siguiente archio de mandatos para insertar la DTD: getstart_insertdtd.cmd Creación de un archio DAD para la columna XML: Capítulo 1. Introducción 13

Esta sección explica cómo crear un archio DAD para la columna XML. En el archio DAD, se especifica el método de acceso y almacenamiento utilizado en la columna XML. Asimismo, se definen las tablas y columnas para el indexado. En los pasos siguientes, se hace referencia a los elementos de la DAD como códigos y a los elementos del documento XML como elementos. Un ejemplo de archio DAD similar al que creará está en instalación_dxx/samples/db2xml/dad/getstart_xcolumn.dad. Presenta algunas pequeñas diferencias respecto al archio que se genera en los pasos siguientes. Si lo utiliza para la lección, tenga en cuenta que puede que las ías del archio sean diferentes de las de su entorno; el alor <alidation> está establecido en NO, en ez de en YES. Para crear un archio DAD para su uso con una columna XML: 1. Abra un editor de texto y denomine el archio como getstart_xcolumn.dad Todos los códigos que se utilizan en el archio DAD distinguen entre mayúsculas y minúsculas. 2. Cree la cabecera de la DAD, con las declaraciones XML y DOCTYPE. <?xml ersion="1.0"?> <!DOCTYPE DAD SYSTEM "/instalación_dxx/samples/db2xml/dtd/dad.dtd "> El archio DAD es un documento XML y requiere declaraciones XML. 3. Inserte los códigos de apertura y cierre (<DAD> y </DAD>) para el documento. Los demás códigos se encuentran dentro de estos códigos. 4. Inserte los códigos de apertura y cierre (<DTDID> y </DTDID>) con un ID de DTD para especificar si el documento será alidado: <dtdid>instalación_dxx/samples/db2xml/dtd/getstart.dtd</dtdid> Verifique que esta serie coincide con el alor utilizado como primer alor del parámetro al insertar la DTD en la tala del depósito de DTD. Por ejemplo, la ía de acceso que utilice para el DTDID puede ser distinta de la serie que inserte en la tabla de referencia de DTD si se encuentra trabajando en una unidad diferente. 5. Inserte los códigos de apertura y cierre (<alidation> y </alidation>) y la palabra clae YES o NO para indicar si desea que XML Extender alide la estructura del documento XML utilizando la DTD que ha insertado en la tabla de referencia de DTD. Por ejemplo: <alidation>yes</alidation> El alor del código <alidation> puede estar en mayúsculas o en minúsculas. 6. Inserte los códigos de apertura y cierre (<Xcolumn> y </Xcolumn>) para especificar que el método de almacenamiento es la columna XML. 7. Cree tablas auxiliares. Para cada tabla auxiliar que desee crear: a. Inserte los códigos de apertura y cierre (<table> y </table>) para cada tabla auxiliar que aya a generarse, y especifique el nombre de la tabla auxiliar entre comillas dobles utilizando el atributo name= como se muestra a continuación: <Xcolumn> <table name="order_side_tab"> </table> <table name="part_side_tab"> </table> <table name="ship_side_tab"> </table> </Xcolumn> 14 XML Extender Administración y programación

b. Dentro de los códigos de la tabla, inserte un código <column> para cada columna que desee que la tabla auxiliar contenga. Cada columna tiene cuatro atributos: name, type, path y multi_occurrence: name type path Especifica el nombre de la columna que se crea en la tabla auxiliar. Indica el tipo de datos de la tabla auxiliar para cada elemento o atributo indexado. Especifica la ía de ubicación del documento XML para cada elemento o atributo que aya a indexarse. multi_occurrence Indica si el elemento o el atributo al que se hace referencia mediante el atributo de ía (path) puede aparecer más de una ez en el documento XML. Los posibles alores de multi_occurrence son YES o NO. Si el alor es NO, podrá mencionar más de un código de columna en la tabla auxiliar. Si el alor es YES, sólo puede mencionar una columna en la tabla auxiliar. <Xcolumn> <table name="order_side_tab"> <column name="order_key" type="integer" path="/order/@key" multi_occurrence="no"/> <column name="customer" type="archar(50)" path="/order/customer/name" multi_occurrence="no"/> </table> <table name="part_side_tab"> <column name="price" type="decimal(10,2)" path="/order/part/extendedprice" multi_occurrence="yes"/> </table> <table name="ship_side_tab"> <column name="date" type="date" path="/order/part/shipment/shipdate" multi_occurrence="yes"/> </table> </Xcolumn> 8. Asegúrese de que tiene los códigos de cierre necesarios: Un código de cierre </Xcolumn> después del último código </table> Un código de cierre </DAD> después de código </Xcolumn> 9. Guarde el archio con el siguiente nombre: getstart_xcolumn.dad Puede comparar el archio que acaba de crear con el archio de ejemplo, instalación_dxx/samples/db2xml/dad/getstart_xcolumn.dad. Este archio es una copia de trabajo del archio DAD necesario para habilitar la columna XML y para crear las tablas auxiliares. Los archios de ejemplo contienen referencias a archios que utilizan ías de acceso absolutas. Examine los archios de ejemplo y cambie esas ías de acceso para que apunten a sus directorios. Creación de la tabla SALES_TAB: En esta sección puede crear la tabla SALES_TAB. Inicialmente, tiene dos columnas con la información de enta para el pedido. Capítulo 1. Introducción 15