Atendiendo al nivel de estructuración, podemos decir que existen tres tipos de datos:
- Datos estructurados. Son los que tienen un formato estricto. Toda la información recogida se ajusta al mismo formato, como por ejemplo: los datos tabulados en filas y columnas de una tabla.
- Datos desestructurados. No tienen ninguna estructura, como un documento de texto o un archivo de vídeo.
- Datos semi-estructurados. Tienen cierta estructura, pero no toda la información recogida tiene la misma forma, y además puede ir variando de manera dinámica.
Las bases de datos tradicionales, como las Bases de Datos Relacionales (BDR) son apropiadas para almacenar datos estructurados, pero la cuestión es que, en la actualidad, son muchas las situaciones en las que interesa almacenar grandes volúmenes de datos no estructurados, e incluso integrarlos con datos estructurados. Pero ¿cómo hacerlo? Aquí es donde entra en juego XML (eXtensible Markup Language).
XML define un conjunto de reglas semánticas que permiten la organización de información de distintas maneras. Es un estándar definido por el W3C y ofrece muchas ventajas, entre ellas:
- Es un lenguaje bien formado. No puede haber etiquetas sin finalizar.
- Extensible. Permite ampliar el lenguaje mediante nuevas etiquetas y la definición de lenguajes nuevos.
- Fácil de leer.
- Autodescriptivo. La estructura de la información de alguna manera está definida dentro del mismo documento
- Intercambiable. Portable entre distintas arquitecturas.
- Para su lectura e interpretación es necesario un parser, y hay productos y versiones libres.
Debido fundamentalmente a estas ventajas y a su sencillez, el estándar XML ha sido ampliamente aceptado y adoptado para el almacenamiento e intercambio de información, y como consecuencia de este uso se ha creado la necesidad de almacenar dicha información.
Y ¿cómo se almacena la información en formato XML de cara a su recuperación y consulta? Existen varias aproximaciones para organizar y almacenar información XML que fundamentalmente van a depender de los diferentes archivos o documentos XML que nos podemos encontrar (centrados en datos y centrados en texto).
Pero en definitiva, lo que se busca es una estrategia que permita almacenar y recuperar datos poco estructurados con la eficiencia de las Bases de Datos convencionales, y es por ello que surgen las Bases de Datos XML.
Bases de Datos Relacionales
Es un programa que analiza una porción de texto para determinar su estructura lógica: la fase de parsing en un compilador toma el texto de un programa y produce un árbol sintáctico que representa la estructura del programa.