Almacenamiento de documentos XML

Anuncio
Almacenamiento de documentos XML
Universitat Jaume I
Integración de Sistemas de Información
María José Aramburu
1
Datos versus documentos (i)
Datos etiquetados en XML:
–
–
–
–
Universitat Jaume I
Curso 2004/2005
Estructura regular.
El orden de los elementos no es importante.
El concepto de dato se refiere a un elemento
simple, de cierto tipo de datos, y sin contenido
mixto.
Pueden manipularse con un SGBD tradicional
con extensiones para XML.
Integración de Sistemas de Información
2
1
Datos versus documentos (ii)
Documentos estructurados con XML:
–
–
–
–
Universitat Jaume I
Curso 2004/2005
Estructura irregular.
El orden de los elementos es importante.
El concepto de dato se refiere a un elemento
complejo y a menudo con contenido mixto.
Se manipulan mejor en un sistema nativo para
gestión de contenidos XML.
Integración de Sistemas de Información
3
XML = Documentos semi-estructurados
Solo hay un tipo de datos: texto.
Estructura definida en el propio documento.
Estructura jerárquica con varios niveles de
anidamiento.
Componentes opcionales, y repetitivas.
El orden de los elementos es significativo.
Pueden haber documentos XML no asociados a
ningún DTD. Ausencia de esquema previo.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
4
2
Requerimientos de una BD XML
La estructura específica de cada documento
debe ser preservada.
Debe ser posible recuperar porciones de
documentos.
Puede no haber un esquema previo.
El lenguaje de consulta debe soportar
trayectorias, y condiciones sobre el contenido
textual de los documentos.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
5
Almacenamiento de datos XML en BD
Las BD requieren un esquema predefinido.
Para insertar datos XML se debe trasladar
su estructura al esquema de la BD.
XSLT permite modificar la estructura de los
datos.
El orden de los elementos se pierden.
Los datos recuperados suelen tener una
organización diferente a la de su inserción.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
6
3
Almacenamiento de datos en tablas (i)
Los documentos XML se modelan como
una o varias tablas.
Solo sirve para datos XML con una
estructura tabular.
Es útil como formato estándar de
transmisión de datos entre BD Relacionales.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
7
Almacenamiento de datos en tablas (ii)
La estructura del documento XML será:
<database>
<table>
<row>
<column1>...</column1>
<column2>...</column2>
...
</row>
<row>
...
</row>
...
</table>
<table>
...
</table>
...
</database>
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
8
4
Almacenamiento objeto-relacional
Los datos se modelan como un árbol de
objetos con referencias.
Cada tipo de elemento complejo es una
clase de objetos.
Cada tipo de elemento simple es una
propiedad de objetos.
Al final todo se almacena en tablas.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
9
Recuperación con plantillas (i)
<?xml version="1.0"?>
<FlightInfo>
<Introduction>The following flights have available seats:</Introduction>
<SelectStmt>SELECT Airline, FltNumber, Depart, Arrive FROM Flights</SelectStmt>
<Flight>
<Airline>$Airline</Airline>
<FltNumber>$FltNumber</FltNumber>
<Depart>$Depart</Depart>
<Arrive>$Arrive</Arrive>
</Flight>
<Conclusion>We hope one of these meets your needs</Conclusion>
</FlightInfo>
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
10
5
Recuperación con plantillas (ii)
<?xml version="1.0"?>
<FlightInfo>
<Introduction>The following flights have available seats:</Introduction>
<Flights>
<Flight>
<Airline>ACME</Airline>
<FltNumber>123</FltNumber>
<Depart>Dec 12, 1998 13:43</Depart>
<Arrive>Dec 13, 1998 01:21</Arrive>
</Flight>
...
</Flights>
<Conclusion>We hope one of these meets your needs.</Conclusion>
</FlightInfo>
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
11
Lenguajes basados en SQL (SQL/XML)
SQL/XML extiende SQL para construir elementos
XML devueltos en una columna del resultado.
SELECT XMLElement("Order",
XMLAttributes(SONumber),
XMLElement("Date", Date),
XMLElement("Customer", Customer)) AS xmldocument
FROM Orders WHERE SONumber="123"
<Order SONumber="123">
<Date>10/29/02</Date>
<Customer>Gallagher Industries</Customer>
</Order>
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
12
6
XQuery y XPath
Los dos lenguajes de consulta XML se
pueden utilizar en ambas aproximaciones.
XPath sólo soporta trayectorias, no joins,
por lo que sobre tablas solo puede consultar
una tabla de cada vez.
XQuery si soporta joins.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
13
Almacenamiento de datos XML en BD Nativas
Estructuras irregulares producen
demasiadas tablas y demasiados nulos.
Las BD Nativas son más rápidas, suelen
basarse en puntaros físicos.
Son eficientes si los datos siempre se
acceden de la misma forma.
Sólo generan datos XML.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
14
7
DTD
1.
2.
3.
4.
5.
Esquema Relacional
Para cada elemento complejo crea una tabla y una
clave primaria.
Cada elemento con contenido mixto (PCDATA)
se asocia a una tabla con una clave externa.
Para cada elemento simple crear una columna en
la tabla, y si es opcional con nulos.
Para cada elemento simple repetitivo crear una
tabla separada con una clave externa.
Para cada elemento complejo que sea hijo crea
una tabla, una clave primaria y una clave externa.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
15
DTD  Esquema Relacional
1.
2.
3.
4.
Para cada tabla crea un tipo de elemento.
Para cada columna añade un elemento con
PCDATA.
Para cada tabla cuya clave primaria es
utilizada como clave externa añade un
elemento hijo y procesa recursivamente.
Para cada clave externa añade un
elemento hijo y procesa recursivamente.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
16
8
Almacenamiento de documentos XML
Hay tres opciones:
–
–
Sistema de ficheros: muy simple
BLOB´s de las bases de datos relacionales:
Permite aplicar herramientas de indexar texto.
Creación de tablas ad-hoc que indexan tablas que
almacenan BLOB´s
–
Universitat Jaume I
Curso 2004/2005
Bases de datos nativas.
Integración de Sistemas de Información
17
Bases de datos nativas
Son BD cuyo modelo de almacenamiento es
el del documento XML.
Soportan orden de elementos, comentarios,
secciones CDATA.
Proporcionan lenguajes de consulta XML.
Permiten almacenar documentos que no
tienen un DTD.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
18
9
BD nativas basadas en texto
Los ficheros XML se almacenan como texto
indexado: sin fragmentar.
Los índices permiten acceder rápidamente a
cualquier posición del documento.
A partir de ahí se recupera la porción del
documento que se quiera sin tener que desplazarse
por el disco.
La eficiencia se pierde al acceder en otro orden.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
19
BD nativas basadas en un modelo
Cada sistema tiene su propio modelo de
almacenamiento interno.
Si su modelo se basa en una BD relacional, u OO, su
eficiencia es similar a la de estas BD´s.
Si tienen su propio modelo de almacenamiento la
eficiencia suele ser buena ya que la mayoría usan
punteros físicos entre los nodos que representan al
documento.
La eficiencia se pierde al acceder en otro orden.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
20
10
Características de las BD nativas (i)
Colecciones de documentos anidadas.
XPath, XQuery, los propios:
–
Soportan consultas textuales, y condiciones sobre
elementos anidados.
Actualizaciones: XUpdate.
Transacciones (rollbacks), bloqueos a nivel de
documentos, nivel de concurrencia bajo.
Interfaz parecido a ODBC, otros API estándar.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
21
Características de las BD nativas (ii)
Datos devueltos en XML, DOM, HTTP, ....
Los documentos devueltos son idénticos a
los originales.
Los documentos pueden incluir datos
remotos y modificables.
Las entidades externas pueden ser
expandidas opcionalmente.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
22
11
Características de las BD nativas (iii)
Las normalización no es un requerimiento.
Integridad referencial interna se puede
validar si se implementa con ID/IDREF.
Integridad referencial externa (XLink) no es
validada por los sistemas nativos.
La utilización de índices y punteros físicos
las hace escalables, aunque en exceso
retrasa las actualizaciones.
Universitat Jaume I
Curso 2004/2005
Integración de Sistemas de Información
23
12
Descargar