Se define XML como: eXtensible Markup Language (lenguaje de marcado extensible). Es una especificación del World Wide Web Consortium (W3C).
Debido a las limitaciones de la tecnología de bases de datos relacionales están surgiendo nuevas clases de bases de datos como son las bases de datos XML.
Estas bases de datos almacenan los datos estructurados como XML sin la necesidad de traducir los datos a una estructura relacional o de objeto.
Podemos distinguir entre:
- Bases de datos nativas XML. Consiste en un modelo lógico para documentos XML. El Sistema Gestor de Base de Datos correspondiente almacena y recupera documentos de acuerdo a dicho modelo.
- Productos ejemplo de esa filosofía son: eXist, Apache Xindice, Berkeley dbXML....
- Bases de datos compatibles con XML (XML-enabled): son bases de datos, generalmente objeto-relacionales, que admiten entradas de datos en forma de XML y proporcionan salidas en este mismo formato.
- Podemos citar productos como: Oracle, DB2 (Viper),...
Las bases de datos XML nativas permiten trabajar con XQL (eXtensible Query Language), el cuál sirve un propósito similar a SQL en una base de datos relacional.
El trabajo con bases de datos XML nativas involucra dos pasos básicos:
- Describir los datos mediante Definiciones de Tipos de Datos (Document Type Definitions, DTD) o esquemas XML y
- Definir un nuevo esquema de base de datos XML nativa o Mapa de Datos a usar para almacenar y obtener datos.