Una base de datos XML (eXtensible Markup Language) es un sistema de software que permite el almacenamiento de datos en formato XML. XML es un lenguaje de metamarcado utilizado para administrar datos que emplea etiquetas personalizables por el usuario para organizar la información. La flexibilidad del lenguaje, que permite la creación de estructuras de datos y sistemas organizativos personalizados, ha llevado a su uso generalizado para intercambiar datos en múltiples formas. Las bases de datos XML se utilizan a menudo en aplicaciones como portales informativos, intercambios de documentos y catálogos de productos.
En general, se considera más eficiente en términos de costos de conversión de datos utilizar una base de datos XML debido al uso generalizado de este lenguaje en el transporte de datos. Hay dos categorías principales de estas bases de datos: bases de datos habilitadas para XML y bases de datos XML nativas (NXD). Cada tipo de base de datos XML se utiliza para almacenar diferentes tipos de datos.
Una base de datos habilitada para XML canaliza los datos hacia una base de datos relacional tradicional en formato XML. Los datos se traducen para su almacenamiento y se devuelven a su formato inicial en la salida. Este tipo de base de datos se utiliza para almacenar documentos centrados en datos que incluyen información altamente estructurada, como registros de pacientes, y solo utilizan XML para la transferencia de datos.
Las bases de datos XML nativas almacenan documentos XML como un todo, en lugar de separar los datos que contienen, y están diseñadas para almacenar información semiestructurada, como folletos de marketing o datos de salud. Los documentos XML que contienen datos semiestructurados se denominan centrados en documentos. Una base de datos XML nativa no se ajusta a un determinado modelo de almacenamiento físico, pudiendo utilizar estructuras relacionales, jerárquicas u orientadas a objetos, así como formatos de almacenamiento personalizados. Gestiona documentos agrupándolos en colecciones lógicas y puede configurar y gestionar varias colecciones simultáneamente. Este tipo de base de datos permite al usuario almacenar cualquier tipo de documento XML, independientemente de su estructura, dentro de la misma colección. Las consultas se pueden construir en toda la colección, lo que generalmente hace que la organización y manipulación de datos sea más flexible.
Una base de datos XML utiliza un lenguaje de programación especial diseñado específicamente para extraer y manipular documentos XML, conocido como XQuery. El propósito de XQuery es permitir la construcción de consultas flexibles que puedan extraer y manipular información de documentos XML, así como otras fuentes que se puedan traducir a XML. Algunas aplicaciones en las que se puede utilizar XQuery incluyen la búsqueda de datos relevantes en documentos de texto en la Web y la compilación de los resultados, la extracción de datos de las bases de datos para utilizarlos en la integración de aplicaciones y la generación de informes sobre los datos contenidos en una base de datos XML.
Las bases de datos XML a menudo son empleadas por organizaciones que deben administrar contenido complejo y variado, lo que les permite procesar y reutilizar los datos de manera eficiente para varios objetivos comerciales. La flexibilidad de los documentos y bases de datos XML permite a las organizaciones almacenar y manipular datos en diversas plataformas y entornos de software. Los documentos se pueden crear y administrar de modo que la misma información se pueda utilizar en diferentes proyectos, como manuales o catálogos de productos, además de proporcionar múltiples formatos de salida para cumplir con los variados requisitos del usuario final.