Funcionalidad 4: Almacenes de Datos y Bases de Datos XML ...
Funcionalidad 4: Almacenes de Datos y Bases de Datos XML ...
Funcionalidad 4: Almacenes de Datos y Bases de Datos XML ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
MMAABBDD <strong>Funcionalidad</strong> 4:<br />
<strong>Almacenes</strong> <strong>de</strong> <strong>Datos</strong> y <strong>Bases</strong> <strong>de</strong> <strong>Datos</strong> <strong>XML</strong><br />
viceversa.<br />
16<br />
El tipo <strong>de</strong> dato <strong>XML</strong> permite tratar los documentos <strong>XML</strong> como:<br />
Valores relacionales <strong>de</strong>ntro <strong>de</strong> las columnas <strong>de</strong> las tablas.<br />
Atributos <strong>de</strong>finidos por el usuario.<br />
Variables.<br />
Parámetros <strong>de</strong> funciones.<br />
Algunas <strong>de</strong> las operaciones <strong>de</strong>finidas son:<br />
<strong>XML</strong>ELEMENT para generar un valor xml .<br />
<strong>XML</strong>CONCAT para concatenar una lista <strong>de</strong> valores xml.<br />
<strong>XML</strong>PARSE para realizar un análisis sintáctico <strong>de</strong> una ca<strong>de</strong>na <strong>de</strong><br />
caracteres para generar un documento xml.<br />
<strong>XML</strong>SERIALIZE para generar una ca<strong>de</strong>na <strong>de</strong> caracteres a partir <strong>de</strong> un<br />
documento xml.<br />
El conjunto <strong>de</strong> mapeos que se <strong>de</strong>finen es el siguiente:<br />
Mapeo <strong>de</strong> los i<strong>de</strong>ntificadores SQL a nombres <strong>XML</strong>.<br />
Mapeo <strong>de</strong> tipo <strong>de</strong> datos SQL a tipos <strong>de</strong> datos <strong>XML</strong> Schema.<br />
Mapeo <strong>de</strong> tablas a documentos <strong>XML</strong>.<br />
Generación <strong>de</strong> un esquema <strong>XML</strong>.<br />
Estos mapeos se usan para convertir bases <strong>de</strong> datos relacionales a documentos <strong>XML</strong> y<br />
El problema es que si el documento <strong>XML</strong> no proviene <strong>de</strong> una bases <strong>de</strong> datos o se pue<strong>de</strong><br />
convertir a un esquema relacional.<br />
Ejemplo <strong>de</strong> <strong>Bases</strong> <strong>de</strong> <strong>Datos</strong> <strong>XML</strong><br />
La siguiente consulta <strong>de</strong>vuelve los títulos <strong>de</strong> los libros <strong>de</strong>l año 2.000. Como “año” es un<br />
atributo y no una etiqueta se le antece<strong>de</strong> con un carácter “@”.<br />
for $b in doc("libros.xml")//libro<br />
where $b/@año = "2000"<br />
return $b/titulo