Saltar la navegación

2.- Bases de Datos Nativas XML.

Caso práctico

Esta mañana, María ha estado hablando con una amiga del gremio. Su amiga lleva varios años trabajando en proyectos con tecnologías XML y además ha asistido personalmente a algunas conferencias del mismísimo Rounald Bourret, por lo que está más que al tanto de lo último en estas tecnologías.

María le ha pedido consejo sobre algunas de las bases de datos nativas XML, actualmente en el mercado.

Primer plano de María en la parte izquierda y Blanca en la parte de la derecha, hablando por teléfono.

Dibujo con un rótulo sobre fondo blanco. El rótulo pone BD nativa, en color verde y XML en color naranja.

Las Bases de Datos nativas XML NXD (Native XML Database) aunque existen desde hace años, en la actualidad siguen evolucionando, por lo que existen ciertas diferencias entre los productos de este tipo que podemos encontrar en el mercado. Lo que si está bastante claro, es que una NXD o BD XML debe cumplir las siguientes propiedades:

  • Define un modelo lógico de datos XML, estableciendo los elementos que son significativos, de forma que el documento XML se pueda almacenar y recuperar de manera intacta, esto es, con todos sus componentes. Por tanto, el modelo, como mínimo, debe tener en cuenta: los elementos, atributos, texto, secciones CDATA (Character data), y preservar el orden en el documento.
  • El documento XML es la unidad lógica de almacenamiento, esto es, la unidad mínima de almacenamiento.
  • No tiene ningún modelo de almacenamiento físico subyacente concreto. Pueden ser construidas sobre bases de datos relacionales, jerárquicas, orientadas a objetos o bien mediante formatos de almacenamiento propietarios.

Lo que realmente cambia en estas BD respecto a las convencionales, es el formato que soportan, ya que, están especializadas en almacenar documentos XML, almacenarlos y recuperarlos con todos sus componentes.

Otras características de las BD Nativas XML son las siguientes:

  • Documentos y colecciones. Los documentos se pueden agrupar en unidades denominadas colecciones.
  • Indexación. Permiten la creación de índices para acelerar las consultas realizadas frecuentemente.
  • Identificador único. A cada documento XML se le asocia un identificador único, por el que será reconocido dentro del repositorio.
  • Consultas. Soportan uno o más lenguajes de consulta. Entre ellos, uno de los más populares es XQuery (XML Query)
  • Actualizaciones. Poseen diferentes estrategias para actualizar documentos, entre ellas la más popular es Update XQuery.
  • Validación. No siempre se realiza validación de documentos, esto es, no necesitan un DTD o un XML Schema (W3C) para almacenar documentos, basta con que los documentos sean XML bien formados.
  • Soportan transacciones, accesos concurrentes, control de accesos y backup como cualquier otro sistema de bases de datos.

Y ¿en qué situaciones puede resultar imprescindible su uso? Fundamentalmente en las siguientes situaciones:

  • Existencia de documentos con anidamientos profundos.
  • Importancia de preservar la integridad de los documentos.
  • Frecuentes búsquedas de contenido.

Son sentencias SQL del tipo Insert, Delete y Update.

Determinar los permisos de acceso.

Autoevaluación

Señala si la siguiente afirmación es verdadera o falsa.

Pregunta 1

Una BD XML nativa solo puede almacenar documentos XML válidos.

Para saber más

Consulta el siguiente enlace para recordar o bien familiarizarte con lo que son los DTDs y los esquemas XML.

Los DTDs y esquemas XML.