Ir al contenido

Base de datos XML

De Wikipedia, la enciclopedia libre

Esta es una versión antigua de esta página, editada a las 17:26 11 mar 2013 por Juvalen (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

Una base de datos XML es un sistema software que da persistencia a datos almacenados en formato XML. Estos datos pueden ser interrogados, exportados y serializados. Las bases de datos XML están generalmente asociadas con las bases de datos documentales.

Existen dos grandes clases de bases de datos XML:[1]

  1. XML habilitado: éstas bien pueden mapear XML en estructuras tradicionales de bases de datos (como las relacionales[2]​), aceptando XML como entrada y formateando en XML la salida, o más recientemente soportando tipos XML nativos en la propia base de datos. Esto implica que la base de datos procesa el XML internamente (lo opuesto a soportarlo mediante middleware).
  2. XML nativo (NXD): el modelo interno de estas bases de datos usa documentos XML como la unidad elemental de almacenamiento, los cuales no han de almacenarse necesariamente en formato de texto.

Lógica del uso de XML en bases de datos

O'Connell da una razón para el uso de XML en bases de datos: el generalizado aumento del transporte de datos en formato XML, lo que significa que "los datos se extraen de bases de datos y convertidos a XML o viceversa"[3]​. Resultaría más eficiente (en términos de costes de conversión) y fácil almacenar los datos en formato XML directamente.

Bases de datos habilitadas XML

XML enabled databases typically offer one or more of the following approaches to storing XML within the traditional relational structure:

  1. XML is stored into a CLOB (Character large object)
  2. XML is `shredded` into a series of Tables based on a Schema [4]
  3. XML is stored into a native XML Type as defined by the ISO[5]

RDBMS that support the ISO XML Type are:

  1. IBM DB2 (pureXML[6]​)
  2. Microsoft SQL Server [7]
  3. Oracle Database [8]
  4. PostgreSQL [9]

Typically an XML enabled database is best suited where the majority of data are non-XML, for datasets where the majority of data are XML a Native XML Database is better suited.

Ejemplo de interrogación XML en IBM DB2 SQL

select
   id, vol, xmlquery('$j/name', passing journal as "j") as name
from
   journals
where 
   xmlexists('$j[publisher="Elsevier"]', passing journal as "j")

Referencias

  1. Bourret, Ronald (20 de junio de 2010). «XML Database Products». Consultado el 16 de diciembre de 2011. 
  2. Mustafa Atay and Shiyong Lu, “Storing and Querying XML: An Efficient Approach Using Relational Databases”, ISBN 3-639-11581-3, VDM Verlag, 2009.
  3. O'Connell, S. Advanced Databases Course Notes, Southampton, University of Southampton, 2005, 9.2
  4. Creating XMLType Tables and Columns Based on XML Schema
  5. ISO/IEC 9075-14:2011
  6. IBM DB2 pureXML overview -- DB2 as an XML database
  7. Using XML in SQL Server
  8. XMLType Operations
  9. PostgreSQL - Data Types - XML Type