Vous êtes sur la page 1sur 23

DESARROLLO DE APLICACIONES CON BASES DE DATOS

Tema 4

XML Y BASES DE DATOS

Objetivos

Presentar los modelos de datos semiestructurados. Dar a conocer la importancia del XML, sus

caractersticas, sus componentes y su relacin con las bases de datos. Conocer que es una base de datos XML. Presentar algunos SGBD que soportan XML.

DASBD Curso 2006/2007

4. 2

Contenido Introduccin Introducci


Nivel de estructuracin de datos estructuraci Bases de datos documentales Integracin de datos muy estructurados y poco estructurados Integraci Estructura de datos y documentos Esquemas Consultas y transformacin XQuery transformaci Sistemas de bases de datos nativos XML Integracin de XML en otros SGBD Integraci

XML

XML y Bases de Datos

DASBD Curso 2006/2007

4. 3

Bibliografa
Connolly y Begg (2005)
Cap. 30 Cap.

Elmasri y Navathe (2004)


Cap. 26 Cap.

Silberschatz et al. (2002)


Cap. 10 Cap.

DASBD Curso 2006/2007

4. 4

Introduccin Introducci

Nivel de Estructuracin de Datos representados en un formato estricto (relaciones/tablas) Datos semi-estructurados los datos tienen una cierta estructura pero no toda la informacin recogida tiene la misma estructura (grafos) Datos desestructurados hay una indicacin muy limitada del tipo de datos (documentos de texto, archivos de video)

Datos estructurados

DASBD Curso 2006/2007

4. 5

Introduccin Introducci

Bases de Datos Documentales


de tipo texto.

Estn orientadas a almacenar datos desestructurados Est Carecen de una estructura tabular y contienen
informacin bibliogrfica y/o el texto completo de los informaci bibliogr documentos. Los modelos de informacin consideran que cada informaci documento se describe con un conjunto de palabras clave significativas (llamadas ndices). ndices). Los ndices se utilizan para indexar y resumir el contenido de los documentos, ayudando a su gestin. gesti

DASBD Curso 2006/2007

4. 6

Introduccin Introducci

Integracin de Datos
muy estructurados con los poco estructurados. estructurados.

En la actualidad es una necesidad integrar los datos


La principal diferencia entre ambos es la forma de manejar los constructores del esquema (nombres de atributos, relaciones y tipos de entidades, etc.) En el caso de los poco estructurados, la informacin del informaci esquema se mezcla con los valores de los datos ya que un objeto de datos puede tener diferentes atributos no conocidos por adelantado. Por eso, estos tipos de datos se conocen como datos autodescriptivos. autodescriptivos.

DASBD Curso 2006/2007

4. 7

Introduccin Introducci

Integracin de Datos Ejemplo:


recolectar una lista de referencias bibliogrficas relacionadas a un proyecto de investigacin. Algunas pueden ser libros otras informes tcnicos, otras nmeros especiales de revistas o actas de congresos. Claramente cada uno de estas pueden tener atributos y diferente tipo de informacin. An para el mismo tipo de referencia, por ejemplo artculos de congresos, podemos tener diferente informacin. Por ejemplo, una referencia a un artculo puede estar muy completa , con toda la informacin de los autores, ttulo, actas, nmero de pginas, y dems, mientras que otra referencia puede no tener toda la informacin. Nuevos tipos de referencias pueden aparecer con el tiempo, por ejemplo referencias a pginas Web o a tutoriales de conferencias, y pueden tener diferentes atributos.
4. 8

Queremos

DASBD Curso 2006/2007

XML

XML (eXtensible Markup Language)


principal problema su complejidad.

XML es descendiente de SGML (Standard Generalized Markup


Language), que fue creado en los 80, pero que tiene como

HTML se cre para publicar informacin en Internet, pero con l

solo se puede formatear texto, no describe contenido. XML empez en 1996 como un pequea versin de SGML para evitar su redundancia, complicacin y caractersticas confusas. XML se plantea por la necesidad de poder definir y manejar estructura interna en los documentos HTML. En 1998 la W3C ya publica su especificacin y recomienda su uso.

DASBD Curso 2006/2007

4. 9

XML

XML es una idea simple, no nueva, pero simple,


tremendamente til porque:
ha llegado en un momento adecuado para sacar partido de diversas tecnologas (Internet, Web, ...) tecnolog y poder abordar de nuevas maneras, ms adecuadas y maneras, m potentes, problemas importantes:
Integracin de datos estructurados (tablas relacionales) y poco Integraci estructurados (documentos). Aportar significado a la web (web semntica). sem Integracin de sistemas de informacin basados en tecnologas Integraci informaci tecnolog diferentes. Hacer una web orientada a las aplicaciones (web services) en vez de una web orientada slo a la interaccin con personas (HTML). s interacci

DASBD Curso 2006/2007

4. 10

XML
XML es
Un lenguaje de marcas (etiquetas delimitadas) para definir nuevos lenguajes (un metalenguaje) metalenguaje)

Con las siguientes caractersticas principales: caracter principales:

Verstil: separa contenido, estructura y presentacin. Esto permite un Vers til: presentaci a visin personalizada de los datos. Los datos pueden ser visi presentados a los usuarios a travs de un browser donde se pueden trav presnetar de manera personalizada, basada en preferencias o configuracin. configuraci Extensible: se pueden definir nuevas etiquetas Extensible: Estructurado: se pueden modelar datos a cualquier nivel de Estructurado: complejidad Validable: cada documento se puede validar frente a un Validable: DTD/Schema, o en su defecto, se puede declarar bien formado. DTD/Schema, Abierto: independiente de plataformas, empresas, lenguajes de programacin programaci Abierto: o entornos de desarrollo. Sencillo: fcil de aprender y de usar. Sencillo: f

DASBD Curso 2006/2007

4. 11

XML

Otras caractersticas adicionales de XML son:


Independencia del medio, pudiendo publicar contenidos en mltiples formatos. Los documentos XML son fcilmente procesables y compartibles en Internet. Permite validacin de los documentos. Permite composicin de los documentos. Puede ser un contenedor de datos. Utilizando DTD o XML Schemas se puede representar eficientemente cualquier dato de forma que puede ser ledo por personas o aplicaciones. Internacional: utiliza el conjunto de caracteres UNICODE. Ayuda a descongestionar Internet, ya que gran parte del procesamiento se puede hacer en el cliente. XML no es compatible con HTML, pero los documentos HTMLv4.0 son fcilmente convertibles a XML.

DASBD Curso 2006/2007

4. 12

XML
Extensiones del propio XML
Amplan las capacidades del XML original, no son un lenguaje XML en sentido estricto. Se definen de forma similar al XML original, como un subconjunto de SGML. Todas ellas deben ser compatibles entre s. Lenguajes definidos en base a XML y sus extensiones. Cada lenguaje se define mediante una gramtica que consiste en un tipo de documento XML (DTD (document type definition) o XSD XML schema definition)). Pueden ser:
Horizontales: resuelven cierta funcionalidad que es til en general.
SOAP (Simple Object Access Protocol). Es un protocolo estndar creado por
WC, que define cmo dos objetos en difrentes procesos pueden comunicarse por medio de intercambio de datos XML. SOAP es uno de los protocolos utilizados en los servicios Web.

Lenguajes XML (Aplicaciones XML)

Verticales: dirigidos a un sector o utilidad particular.


qumica a travs de internet.

CML (Chemical Markup Language). Surge para intecambiar informacin sobre

DASBD Curso 2006/2007

4. 13

XML

El xito de XML ha originado que se demanden nuevas


Estructurar documentos (XML Schema). Enlaces y direccionamiento (XPath, XLink, XPointer). XPath, XLink, Transformacin y presentacin (familia XSL, CSS2). Transformaci presentaci Consultas (XQuery). Programacin (DOM, SAX). Programaci Otros (Namespaces, XInclude, XBase, ...). Namespaces, XInclude,

funcionalidades, que se abordan definiendo extensiones funcionalidades, adicionales para:

DASBD Curso 2006/2007

4. 14

XML

Estructura de Datos y Documentos


estructura y elementos permitidos en los documentos XML, se define mediante
DTD (Document Type Definition) Definition)
Documento ASCII plano que especifica tanto los elementos que forman un tipo de documento dado, como las relaciones que se dan entre ellos.

La gramtica de los lenguajes XML, es decir, la gram

XSD (XML Schema Definition) Definition)


Mejoran los DTDs porque estn escritos en XML y permiten DTD est nuevas caractersticas: caracter definir tipos de datos, utilizar espacios de nombre definir intervalos de valores para los atributos y elementos. caractersticas OO ... caracter Tienen mayor potencial semntico que los DTD sem

DASBD Curso 2006/2007

4. 15

Esquemas

XML

Un lenguaje XML (DTD/XSD) representa un modelo de


datos jerrquico jer

Estos lenguajes se definen especificando los elementos


y atributos permitidos. permitidos.
Esta especificacin se realiza mediante reglas gramaticales. especificaci gramaticales. Un conjunto concreto y bien formado de tales reglas forman un esquema XML (representado por un DTD o un XSD). Un esquema XML define un conjunto coherente de documentos, es decir un tipo de documentos. documentos.

Estructura los datos de acuerdo a un determinado esquema semntico. sem ntico

Ejemplo:

XHTML es el lenguaje HTML reformulado como aplicacin XML, aplicaci y se que se la prxima generacin de HTML. Es una versin pr generaci versi mas estrita y limpia de HTML..
4. 16

DASBD Curso 2006/2007

Esquemas Ejemplo de XML Schema


<schema targetNamespace=http://www.bd.es/schema xmlns=http://www.w3.org/2001/XMLSchema xmlns:bd=http://www.bd.es/schema > <element name=Articulo type=bd:tArticulo /> <complexType name=tArticulo> <element name=Cabecera type=bd:tCabecera/> <element name=Cuerpo type=bd:tCuerpo/> <element name=Final type=bd:tFinal/> </complexType> <complexType name=tCabecera> <element name=Titulo type=string/> <element name=Autor type=string/> </complexType> ................
DASBD Curso 2006/2007 4. 17

XML

XML

Consultas y Transformacin XQuery

XQuery Languaje (XQL) Proporciona un modo flexible de consulta para extraer


datos de los documentos XML.
Los archivos XML pueden ser reales o virtuales, es decir, otras virtuales, fuentes (hojas de clculo, ASCII, bases de datos, ...) vistas como c datos XML. Se pretende que desempee un papel similar al SQL en las BD desempe relacionales: las colecciones de documentos XML podrn ser podr accedidas como si fueran una base de datos. Esta basado en varias propuestas de lenguajes previas (XML-QL, (XMLYATL, Lorel, Quilt). Lorel, Quilt). Se ha integrado con XPath (versin 2.0). (versi Existe un cierto solape con XSLT. Una consulta puede referir a ms de un documento. m

DASBD Curso 2006/2007

4. 18

XML

Consultas y Transformacin XQuery


Lee una secuencia de fragmentos XML o valores atmicos y at Devuelve una secuencia de fragmentos XML o valores atmicos. at Expresiones XPath, para navegar por los documentos. XPath, Constructores de elementos. FLWR (FOR, LET, WHERE, RETURN) para iterar por los elementos de una coleccin. colecci Condicionales (IF, THEN ELSE) para construir el resultado en base a alguna condicin. condici Con cuantificadores (SOME, ANY) para chequear la existencia de algn elemento que cumpla una condicin. alg condici Listas a las que se pueden aplicar operadores (UNION, ...) y funciones (AVG,...).

Una consulta es una expresin que: expresi

Los principales tipos de expresiones son:

DASBD Curso 2006/2007

4. 19

Consultas y Transformacin XQuery

XML

Ejemplo de consulta XQuery: XQuery:


Obtener el ao y ttulo de todos los libros publicados por a t Addison-Wesley despus de 1991: Addisondespu 1991: <bib> bib> { for $b in doc("http://www.bn.com/bib.xml")/bib/book doc("http://www.bn.com/ bib.xml")/bib/ where $b/publisher="Addison-Wesley" and $b/@year>1991 $b/ publisher="Addison- Wesley" $b/@year>1991 return <book year="{ $b/@year }"> year="{ $b/@year { $b/title } $b/title </book> </book> } </bib> </bib>

DASBD Curso 2006/2007

4. 20

10

XML

Otras Extensiones XPath


declarativo para localizar nodos y fragmentos (texto, elementos, atributos ...) en el rbol de un documento XML. Es utilizado por otras normas para
Direccionamiento (XLink, XPointer y XSLT) (XLink, Pattern matching (XSLT y XQuery) Un documento XML se representa como un rbol jerrquico con jer siete tipos de nodos (raz, elemento, texto, atributo, espacio de (ra nombres, instruccin de procesamiento y comentario). instrucci Caminos de localizacin localizaci Predicados / libro / capitulo / parrafo

XML Path Language (XPath) es un lenguaje XPath)

Se basa en el XPath Data Model: Model: Conceptos importantes:

DASBD Curso 2006/2007

4. 21

XML

Otras Extensiones XPath

Ejemplos XPath: XPath:


Seleccionar nombres de ingredientes de receta que se utiliza media taza:
//ingrediente[@cantidad='0.5' and @unidad=taza]/@nombre

Seleccionar todos los captulos pblicos que tengan algn cap p alg prrafo que contenga algn elemento con atributo href: alg href:
//capitulo[parrafo/*[@href]][@public='si'] //capitulo[parrafo/*[@href]][@public='si']

Seleccionar todos los captulos pblicos que tengan algn cap p alg prrafo importante o un apndice: ap
//capitulo[parrafo/[@importante=si]]|//apendice //capitulo[parrafo/[@importante= si

DASBD Curso 2006/2007

4. 22

11

Otras Extensiones XSL XSL (eXtensible Stylesheet Language) no slo permite anguage) s

XML

definir el estilo a aplicar a cada elemento XML. Tambin Tambi es un lenguaje de programacin para transformar programaci documentos XML. XML.
El resultado puede ser un documento HTML, WML (para WAP), texto plano, RTF, PDF, o incluso otro documento XML. Utiliza XPath para referir partes de documentos XML.

transformacin XSL transformaci

formateado XSL

rbol XML original

rbol XML resultante

DASBD Curso 2006/2007

4. 23

XML

Otras Extensiones XSL

Una hoja de estilo XSL es una serie de reglas que determinan


cmo va a ocurrir la transformacin. transformaci Cada regla se compone de un patrn de localizacin (pattern) y patr localizaci una plantilla (template).
<xsl:template match="/"> <HTML> <BODY> <xsl:for-each select="/LIBROS/LIBRO"> xsl:forselect="/LIBROS/LIBRO"> Ttulo: <xsl:value-of select="TITULO"/><BR/> xsl:value- select="TITULO"/><BR/> Autor: <xsl:value-of select="AUTOR"/><BR/> xsl:value- select="AUTOR"/><BR/> Precio: <xsl:value-of select="PRECIO"/> pesetas<BR/> xsl:value- select="PRECIO"/> </xsl:for-each> </xsl:for-each> </BODY> </HTML> </xsl:template> </xsl:template>
DASBD Curso 2006/2007 4. 24

12

XML y Bases de Datos

Qu son las Bases de Datos XML?


Un documento XML es una BD porque
Almacena informacin (documentos). informaci Responde a un esquema (DTD, XML Schema) Schema) Tiene lenguajes de consulta (XPah, XQuery) XPah, XQuery) ( y APIs de Programacin (SAX, DOM, JDOM) API Programaci JDOM

Ejemplos de posibles BD XML:


Fichero de configuracin de una aplicacin configuraci aplicaci Plantilla de un fax Formulario para solicitar dietas de viajes Temario de una asignatura Todos los informes de un departamento

En general, una BD XML es una BD almacenada o gestionada en forma de documentos XML.


DASBD Curso 2006/2007 4. 25

XML y Bases de Datos


Porqu surgen las BD XML? Porqu
Necesidad de almacenar y recuperar datos poco estructurados con la eficiencia de las BD convencionales. Aparecen dos clases de SGBD que soportan documentos XML
XML-Enabled: desglosan un documento XML en su XML- Enabled: correspondiente modelo relacional o de objetos. XML Nativos: respetan la estrcutura de documento, permiten hacer consultas sobre dicha estrcutura y recuperan el documento tal y como fue insertado originalmente

En una BD XML es posible caracterizar tres tipos de archivos XML: XML:


Centrados en Datos. Datos. Centrados en Documentos. Documentos. Hbridos (mezcla partes de los dos tipos anteriores, BD XML nativa).
DASBD Curso 2006/2007 4. 26

13

XML y Bases de Datos tipos de archivos


Centrados en Datos
Muchos elementos de datos de pequeo tamao. peque tama Con estructura regular y bien definida. Datos muy estructurados o semi-estructurados. semi- estructurados. Usados como mecanismo de intercambio o para mostrar datos en la web. web. Dirigidos a utilizacin automtica (por mquinas). utilizaci autom m Ejemplos: Facturas, Pedidos. Pocos elementos. elementos. Con grandes cantidades de texto. Con estructuras impredecibles en tamao y contenido. tama Datos poco estructurados. estructurados. Orientados a ser interpretadas por humanos. humanos. Enfocados a sistemas documentales y de gestin de contenidos. gesti Ejemplos: Libros, Informes.

Centrados en Documentos

DASBD Curso 2006/2007

4. 27

XML y Bases de Datos tipos de archivos Ejemplo de archivo centrado en datos


Datos de Matrcula de Alumnos Matr
<?xml version="1.0" encoding="ISO-8859-1"?> <matricula xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="prueba.xsd"> <personal> <dni>52945813C</dni> <nombre>Jose Perez Garca</nombre> <titulacion>Ingeniera Informtica (Plan 1998)</titulacion> <curso>2004/2005</curso> <domicilios> <domicilio tipo="familiar"> <direccion>C/ Principal n1</direccion> </domicilio> <domicilio tipo="habitual"> <direccion>C/ Secundaria n2</direccion> </domicilio> </domicilios> </personal> <pago> <tipo_matricula>Ordinaria</tipo_matricula> </pago> </matricula>
DASBD Curso 2006/2007 4. 28

14

XML y Bases de Datos tipos de archivos Ejemplo de archivo centrado en datos


XML-Schema para Matrcula de Alumnos XMLMatr
<?xml version="1.0" encoding="ISO-8859-1"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="ES"> <xs:element name="matricula" type="tMatricula"/> <xs:complexType name="tMatricula"> <xs:sequence> <xs:element name="personal" type="tPersonal"/> <xs:element name="pago" type="tPago"/> </xs:sequence> </xs:complexType> <xs:complexType name="tPersonal"> <xs:all> <xs:element name="dni" type="xs:string"/> <xs:element name="nombre" type="xs:string"/> <xs:element name="titulacion" type="xs:string"/> <xs:element name="curso_academico" type="xs:string"/> <xs:element name="domicilios" type="tDomicilio"/> </xs:all> </xs:complexType> <xs:complexType name="tPago"> <xs:all> <xs:element name="tipo_matricula" type="xs:string"/> </xs:all> </xs:complexType> <xs:complexType name="tDomicilio"> <xs:sequence> <xs:element name="domiclio" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name=direccion" type="xs:string"/> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:schema>

DASBD Curso 2006/2007

4. 29

XML y Bases de Datos tipos de archivos Ejemplo de archivo centrado en documentos


Libro El Quijote
<?xml version="1.0" encoding="ISO-8859-1"?> <libro titulo=El Quijote> <introduccion> </introduccion> <capitulo numero=1>
En un lugar de la Mancha de cuyo nombre no quiero acordarme, no ha mucho tiempo viva un hidalgo de los de lanza en astillero, adarga antigua, rocn flaco y galgo corredor. Una olla de algo mas de vaca que carnero, salpicn por las noches, duelos y quebrantos los sbados, lantejas los viernes, algn palomino de aadidura los domingos, consuman las tres partes de su hacienda. El resto de ella concluan sayo de velarte, calzas de velludo para las fiestas, con sus pantuflos de lo mismo, y los das de entresemana se honraba con su vellor de lo mas fino. Tenia en su casa una ama que pasaba de los cuarenta y una sobrina que no llegaba a los veinte, y un mozo de campo y plaza que as ensillaba el rocn como tomaba la podadera. Frisaba la edad de nuestro hidalgo de los cincuenta aos. Era de complexin recia , seco de carnes, enjuto de rostro, gran madrugador y amigo de la caza. Quieren decir que tenia el nombre de Quijada o Quesada, que en esto hay alguna diferencia en los autores que deste caso escriben; aunque por conjeturas verismiles, se deja entender que se llamaba Quijana. Pero esto importa poco a nuestro cuento; basta que la narracin del no salga un punto de la verdad

</capitulo> </libro>

DASBD Curso 2006/2007

4. 30

15

XML y Bases de Datos almacenamiento Existen varias aproximaciones para organizar y

almacenar documentos XML de cara a su consulta y recuperacin: recuperaci


Usar un SGBD para almacenar los documentos XML como texto. texto.
Se almacenan documentos XML completos como textos muy largos en columnas de tipos carcter largo (SGBD objetocar objetorelacional) o en objetos de clase texto (SGBD-OO). (SGBD-

Usar un SGBD para almacenar los elementos XML de los documentos como elementos de datos.
Si todos los documentos XML tienen una estructura basada en un DTD/Schema, es posible volcar sus partes a estructuras DTD/Schema, relacionales o a objetos de un SGBD.

Disear un nuevo Sistema de BD para almacenar documentos Dise XML de forma directa (BD XML nativa). (BD nativa). Generar los documentos XML como capa de interfaz de datos almacenados en BD tradicionales (relacionales u OO).
DASBD Curso 2006/2007 4. 31

XML y Bases de Datos almacenamiento Almacenar documentos XML completos. completos.


Se utilizan bases de datos relacionales, objeto-relacionales o de objetoobjetos puras para representar documentos XML. Se almacena el documento completo en una columna de tipo Binario Largo (BLOB). (BLOB). Sirve para documentos estticos que no se modifican casi est nunca y cuando lo hacen se vuelven a grabar completamente. No necesita mapeo. El documento permanece ntegro. Limita las bsquedas por contenido y la indexacin. b indexaci

DASBD Curso 2006/2007

4. 32

16

XML y Bases de Datos almacenamiento Almacenar elementos XML. XML.


Se utilizan BD tradicionales para asociar cada elemento de cada documento XML con alguna estructura de la BD. Se plantea un problema importante de Mapeo (correspondencia) entre los elementos XML y las estructuras de la BD.
Los desajustes se deben a modelo de datos diferentes: diferentes: XML => Jerrquico Jer SGBD => Relacional / Objetos Las ventajas vienen de que se pueden aprovechar las capacidades del SGBD donde se almacenan: Bsquedas, indexaciones, optimizaciones, etc. La principal desventaja es que la integridad del documento no se mantiene. mantiene.

DASBD Curso 2006/2007

4. 33

XML y Bases de Datos almacenamiento Mapeo y Traduccin. Traducci


Mapeo basado en Tablas. Tablas.
Modela el documento XML en un conjunto de tablas en un modelo relacional. Los atributos XML se almacenan en una columna de una tabla. Para recuperar un documento XML se debe realizar un proceso de serializacin. serializaci Distintos esquemas XML pueden generar el mismo esquema de BD relacional.

Mapeo basado en Interrelaciones entre Objetos. Objetos.


Cada tipo de elemento XML de ms alto nivel se modela como una m clase de objetos. Los atributos XML se modelan como atributos de las clases.

DASBD Curso 2006/2007

4. 34

17

Sistemas de BD Nativos XML


Las bases de datos XML nativas son BD que almacenan XML usando un formato que permite un procesamiento ms rpido (DBXml Group) m r pido Group)
Almacenan la informacin en formato nativo. informaci No traducen el XML a estructuras relacionales u objetos. Sus esquemas permiten reglas de almacenamiento e

XML y Bases de Datos

indexacin. indexaci Todos los documentos son accesibles mediante una URL. Mantienen el modelo XML intacto.

DASBD Curso 2006/2007

4. 35

XML y Bases de Datos

Sistemas de BD Nativos XML


correspondiente. Las operaciones con los documentos se realizan en XML. XML. Dan un mayor nivel de abstraccin al programador. abstracci Dependencia del esquema.
Gestionan documentos como colecciones de datos. No todas necesitan un esquema para almacenar documentos.
Problemas de integridad intra-documento. intra-

Crean modelos lgicos en XML. l Mapean los modelos al mecanismo de almacenamiento

No usan un mecanismo concreto de almacenamiento fsico. f


Depende de cada producto.

Los esquemas se definen con DTD o con XML Schema (W3C).

La unidad mnima de almacenamiento es un documento XML. m Existen retos pendientes para la integridad global de la BD
Integridad referencial inter-documento. interRestricciones semnticas inter-documento. sem interDASBD Curso 2006/2007 4. 36

18

XML y Bases de Datos

Sistemas de BD Nativos XML


No necesitan mapeos adicionales. Conservan la integridad de los documentos. Permiten almacenar documentos heterogneos en la misma heterog coleccin. colecci Documentos con anidamientos profundos. Importancia de preservar la integridad de los documentos. Sistemas con XML orientado a los documentos. Bsquedas de contenido. Portales de informacin corporativa. informaci Catlogos de Datos. Cat Almacenamiento de informacin mdica. informaci m BD de personalizacin. personalizaci

Ventajas

mbito de Uso

reas de Aplicacin Aplicaci

DASBD Curso 2006/2007

4. 37

XML y Bases de Datos

Sistemas de BD Nativos XML - productos


4 Suite dbXML Virtuoso x-Hive/DB Hive/DB eXist BirdStep RDM XML TotalXML OpenLink Tamino

Algunos productos comerciales:

DASBD Curso 2006/2007

4. 38

19

XML y Bases de Datos

Sistemas de BD Nativos XML - productos


dbXML
Almacena e indexa colecciones de documentos en formato nativo o mapeado. mapeado. Sistema de almacenamiento Propietario. Sistema de compresin de compresi documentos en flujos de caracteres optimizados. Lenguaje de Consulta basado en Xpath y XQuery. XQuery. Ofrece un servidor HTTP para acceder a los documentos. Puede usarse XML/RPC, servicios web y JSP. Existe un motor de eventos que permite filtrar el flujo de entrada/salida.
4. 39

4Suite
Cdigo Abierto. Ncleo formado por herramientas para procesamiento XML. Contiene un Servidor de Consultas con mltiples m mtodos de acceso. Contiene un Repositorio de Documentos XML sobre BD orientada a objetos. Soporte para concurrencia, gestin de transacciones y gesti control de accesos. Soporta accesos remotos va v HTTP, RPCs, FTP y CORBA. RPCs,

DASBD Curso 2006/2007

Sistemas de BD Nativos XML - productos Tamino XML Server Caractersticas principales: Caracter
Almacenamiento nativo XML Riqueza de tipos de datos multimedia (audio, video, imagen) Consultas basadas en XPath Bsqueda y Recuperacin de textos completos Recuperaci Definicin de datos extensible (cambios dinmicos) Definici din Salidas multi-canal (HTML, WML, PDF, ..) multi Consolidacin de datos (acceso a datos externos) Consolidaci Extensiones para integracin (EJB, CORBA, DOM, ERP, integraci Servlets, ..) Servlets, Rendimiento Escalabilidad Fiabilidad Disponibilidad
DASBD Curso 2006/2007 4. 40

XML y Bases de Datos

20

Sistemas de BD Nativos XML - productos Tamino XML Server


Conceptualmente tiene tres capas:
Servicios Centrales (Core Services), ej: almacenamiento (Core Services), ej: Servicios Funcionales (Enabling Services), ej: consolidacin (Enabling Services), ej: consolidaci Servicios de Terceros (Solutions), ej: publicacin electrnica (Solutions), ej: publicaci electr

XML y Bases de Datos

DASBD Curso 2006/2007

4. 41

XML y Bases de Datos

Sistemas de BD Nativos XML - productos

Arquitectura: Arquitectura:

Tamino XML Server


Tamino XML Server
XML Data Store Nativo Data Map X-Node X-Tension Tamino Manager

Otros
Tamino Schema Editor Tamino Interactive Interface Tamino X-Plorer Tamino WebDAV Server APIs Tamino X-Application

DASBD Curso 2006/2007

4. 42

21

Integracin de XML en otros SGBD SGBD con extensin para XML: extensi XML:
Oracle (8i en adelante) IBM DB2 Microsoft SQL Server 2000 (en adelante) INFORMIX

XML y Bases de Datos

Inclusin de XML en SQL: Inclusi SQL:


Nueva parte del estndar para crear y manipular documentos est XML. ISO/IEC 9075-14: XML-Related Specifications (SQL/XML). 9075- 14: XML(SQL/XML).
Nuevo tipo predefinido. Nuevos operadores predefinidos para crear y manipular valores de tipo XML. Reglas para mapear tablas, esquemas y catlogos a documentos cat XML.

DASBD Curso 2006/2007

4. 43

Integracin de XML en otros SGBD ORACLE


Capacidades
Almacenamiento de documentos XML como columnas. Acceso a documentos XML en fuentes externas. Mapeo de elementos de documentos XML a tablas y columnas. En la versin 9i se incluye un nuevo tipo de dato (XMLType) para manejo nativo de XML.

XML y Bases de Datos

Herramientas
SQL XML para Java: clases Java para la insercin de datos XML y generar documentos XML partiendo de SQL. Servlet Java XQL: pasa consultas SQL a XML y posteriormente a HTML mediante hojas de estilo.

DASBD Curso 2006/2007

4. 44

22

Integracin de XML en otros SGBD IBM DB2 (DB2 XML Extender) Extender)
Datos carcter en una nica columna. car Mapeando a mltiples tablas y columnas m Archivos externos.

XML y Bases de Datos

Permite almacenar los documentos XML como:

Pudiendo recuperar: recuperar:


Documento completo. Elementos individuales. Atributos del documento.

Microsoft SQL Server

Soporte para esquemas XML Ejecucin de consultas con XPath Ejecuci Obtener y escribir datos XML Obtencin de datos en documentos XML (FOR XML) Obtenci ( XML Escritura de documentos XML mediante OpenXML, que crea OpenXML, una imagen en memoria.
DASBD Curso 2006/2007 4. 45

23

Vous aimerez peut-être aussi