stringtranslate.com

Base de datos XML

Una base de datos XML es un sistema de software de persistencia de datos que permite especificar y, en ocasiones, almacenar datos en formato XML . Estos datos se pueden consultar , transformar, exportar y devolver a un sistema que los llama. Las bases de datos XML son una variante de las bases de datos orientadas a documentos , que a su vez son una categoría de bases de datos NoSQL .

Fundamento del uso de XML en bases de datos

Existen varias razones para especificar datos directamente en XML u otros formatos de documentos como JSON . En el caso de XML en particular, se incluyen: [1] [2]

Steve O'Connell ofrece una razón para el uso de XML en bases de datos: el uso cada vez más común de XML para el transporte de datos , lo que ha significado que "los datos se extraen de las bases de datos y se colocan en documentos XML y viceversa". [4] [ necesita actualización ] Puede resultar más eficiente (en términos de costos de conversión) y más fácil almacenar los datos en formato XML. En aplicaciones basadas en contenido, la capacidad de la base de datos XML nativa también minimiza la necesidad de extracción o entrada de metadatos para respaldar la búsqueda y la navegación.

Bases de datos compatibles con XML

Las bases de datos compatibles con XML generalmente ofrecen uno o más de los siguientes enfoques para almacenar XML dentro de la estructura relacional tradicional:

  1. XML se almacena en un CLOB ( objeto de carácter grande )
  2. El XML se "desmenuza" en una serie de tablas basadas en un esquema [5]
  3. XML se almacena en un tipo XML nativo según lo define la norma ISO 9075-14 [6]

Los RDBMS que admiten el tipo ISO XML son:

  1. IBM DB2 (XML puro [7] )
  2. Servidor SQL de Microsoft [8]
  3. Base de datos Oracle [9]
  4. PostgreSQL [10]

Por lo general, una base de datos compatible con XML es la más adecuada cuando la mayoría de los datos no son XML. Para los conjuntos de datos donde la mayoría de los datos son XML, una base de datos XML nativa es más adecuada.

Ejemplo de consulta de tipo XML en IBM DB2 SQL

seleccione id , vol , xmlquery ( '$j/name' , pasando la revista como "j" ) como nombre de revistas donde xmlexists ( '$j[licence="CreativeCommons"]' , pasando la revista como "j" )                 

Bases de datos XML nativas

Las bases de datos XML nativas están especialmente diseñadas para trabajar con datos XML. Dado que gestionar XML como cadenas de gran tamaño sería ineficiente y debido a la naturaleza jerárquica de XML, se utilizan estructuras de datos personalizadas y optimizadas para el almacenamiento y las consultas. Esto suele aumentar el rendimiento tanto en términos de consultas de solo lectura como de actualizaciones. [11] Los nodos y documentos XML son la unidad fundamental de almacenamiento (lógico), al igual que una base de datos relacional tiene campos y filas.

El estándar para consultar datos XML según la recomendación del W3C es XQuery ; la última versión es XQuery 3.1. [12] XQuery incluye XPath como sublenguaje y XML en sí mismo es una subsintaxis válida de XQuery. Además de XPath, algunas bases de datos XML admiten XSLT como método para transformar documentos o resultados de consultas recuperados de la base de datos.

Características del lenguaje

API compatibles

Conjuntos de datos XML centrados en datos

Para los conjuntos de datos XML centrados en datos, el método de búsqueda de palabras clave único y distinto, es decir, XDMA [13] para bases de datos XML, está diseñado y desarrollado con base en la indexación dual y la suma mutua.

Referencias

  1. ^ Nicola, Matthias (28 de septiembre de 2010). «5 razones para almacenar XML en una base de datos». Base de datos XML nativa . Consultado el 17 de marzo de 2015 .
  2. ^ Feldman, Damon (11 de abril de 2013). Pasando del modelado relacional a XML y modelos de datos MarkLogic. MarkLogic World . Consultado el 17 de marzo de 2015 .
  3. ^ [NoSQL Distilled: una breve guía para el mundo emergente de la persistencia políglota. Addison-Wesley Educational Publishers Inc, 2009] ISBN 978-0321826626 
  4. ^ O'Connell, Steve (2005). Sección 9.2. Notas del curso de bases de datos avanzadas (programa de estudios). Southampton, Inglaterra: Universidad de Southampton .
  5. ^ "Almacenamiento y consulta de esquemas XML: básico". Guía del desarrollador de Oracle XML DB, 10 g , versión 2. Oracle Corporation. Agosto de 2005. Consultado el 17 de marzo de 2015 .. Sección Creación de tablas y columnas XMLType basadas en esquemas XML
  6. ^ "ISO/IEC 9075-14:2011: Tecnología de la información - Lenguajes de bases de datos - SQL - Parte 14: Especificaciones relacionadas con XML (SQL/XML)". Organización Internacional de Normalización . 2011 . Consultado el 17 de marzo de 2015 .
  7. ^ "Descripción general de pureXML: DB2 como base de datos XML". IBM Knowledge Center . IBM . Consultado el 17 de marzo de 2015 .
  8. ^ "Uso de XML en SQL Server". Microsoft Developer Network . Microsoft Corporation . Consultado el 17 de marzo de 2015 .
  9. ^ "Operaciones XMLType". Guía del desarrollador de Oracle XML DB, 10 g , versión 2. Oracle Corporation. Agosto de 2005. Consultado el 17 de marzo de 2015 .
  10. ^ "8.13. Tipo XML". Documentación de PostgreSQL 9.6 . Consultado el 1 de abril de 2017 .
  11. ^ Matthias, Nicola (22 de agosto de 2010). "XML versus rendimiento de bases de datos relacionales". Base de datos XML nativa . Consultado el 28 de junio de 2017 .
  12. ^ "Recomendación de XQuery 3.1". 21 de marzo de 2017.
  13. ^ Selvaganesan, S.; Haw, Su-Cheng; Soon, Lay-Ki (2014). "XDMA: Un algoritmo de búsqueda de palabras clave basado en suma mutua e indexación dual para bases de datos XML". Revista internacional de ingeniería de software e ingeniería del conocimiento . 24 (4): 591–615. doi :10.1142/s0218194014500223.

Enlaces externos