BASES DE DATOS
MODELO
DE
DOCUMENTOS
1 ¿Qué es?
2 Estructura y uso
Índice
3 Cracterísticas
4 Tipos
5 Estructura de JSON
01
¿Que es el modelo
de documentos?
Una base de datos documental es una de las principales variantes de
las bases de datos no relacionales o NoSQL. Se caracterizan por
almacenar la información en registros, cada uno de los cuáles
funciona como una unidad autónoma de información.
Como su propio nombre indica, las bases de datos orientadas a
documentos utilizan documentos para el almacenamiento de todos
los registros y los datos asociados a ellos. Cada uno de estos
registros puede almacenar distintos tipos de datos. A su vez, los
documentos que contienen los registros pueden tener diferentes
formatos, desde archivos JSON (Javascipt Object Notation) o XML
(eXtensible Markup Language) hasta documentos de texto.
02
Estructura y uso
Las bases de datos documentales almacenan datos semiestructurados sin un
esquema predefinido. La información se almacena en documentos que incluyen
todas las características del registro, y las consultas se realizan en base a estos
documentos. Esto las diferencia de las bases relacionales que organizan la
información en tablas y las consultas se realizan en base a los campos (columnas)
de dichas tablas.
Por otro lado, no utilizan el lenguaje SQL. Por el contrario, emplean otro tipo de
formatos como pueden ser el JSON o XML. El formato más habitual es JSON
(Javascript Object Notation), un lenguaje que resulta más compacto y legible que el
SQL.
03
Características,
funciones y
método
Las bases de datos documentales son capaces de almacenar información en diferentes formatos
sin una estructura definida. En cualquier caso, lo habitual es que los documentos empleen un
formato de archivo, mientras que los datos contenidos sí utilicen una estructura fija.
A pesar de que su estructura es completamente distinta, estas bases de datos permiten realizar las
mismas operaciones básicas que las bases de datos relacionales, esto es, añadir, actualizar o
eliminar información, además de realizar las pertinentes consultas por parte del usuario.
A diferencia de las bases de datos relacionales, en las bases de datos orientadas a documentos no
es necesario recorren todas las columnas de una tabla a la hora de realizar una consulta. En lugar
de ello se asigna un identificador único a cada documento, de manera que a la hora de hacer una
consulta se comprueba el mismo documento. Este identificador puede ser de diferentes tipos, por
ejemplo una ruta completa o una cadena de caracteres.
Gracias a este funcionamiento, las bases de datos documentales se emplean para el
almacenamiento y consulta de datos semiestructurados, los cuáles no tienen un esquema
previamente definido y que serían difíciles (o incluso imposibles) de gestionar en la tradicionales
bases relacionales
VENTAJAS
• Permiten almacenar y consultar información semiestructurada sin una estructura
definida.
• Son un modelo muy flexible que puede albergar numerosos tipos de datos.
• Simplifican las tareas de adición o actualización de datos. La mayoría de
aplicaciones web o móviles están sometidas a cambios constantes. Gracias a las
bases de datos documentales se pueden añadir nuevos datos o modelos de
análisis de manera mucho más flexible.
VENTAJAS
• Aseguran una escritura rápida, dando prioridad a la disponibilidad de la escritura sobre la
consistencia de los datos. Esto permite asegurar la rapidez incluso en casos de fallos en el
hardware o en la red, que en otras bases de datos supondría retrasos en la modificación de
los datos y repercutiría negativamente en su coherencia.
• Garantizan un buen rendimiento. La mayoría de bases de datos documentales cuentan con
potentes motores de búsqueda y avanzadas propiedades de indexación, lo que asegura una
mayor rapidez a la hora de consultar la información.
• Tienen una gran escalabilidad y son uno de los mejores métodos para el almacenamiento
de grandes volúmenes de información.
DESVENTAJAS
• No utilizan el lenguaje SQL como lenguaje principal de consulta, aunque
sí lo pueden usar de apoyo. Es decir, al contrario que las bases
relacionales, no existe un lenguaje estandarizado para la creación de estas
bases de datos.
• No tienen una gran comunidad detrás y existen mucha menos
información acerca de estas bases de datos.
• Los índices pueden ocupar mucha memoria RAM, sobre todo en las bases
documentales que manejan un gran volumen de datos.
TIPOS
Tipos de bases de datos documentales
Las bases de datos documentales se puede clasificar en diferentes tipos, en función de su
contenido, de las materias que abarque o su modo de acceso.
• En función del contenido de los documentos
• Bases de datos bibliográficas (almacenan los principales datos sobre un
documento o texto y, como máximo, un fragmento del mismo).
• Bases de datos de texto completo (guardan todo el texto de un determinado
documentos o escrito).
• Según su cobertura temática
• Multidisciplinares (almacenan información relativa a diferentes materias o
disciplinas).
• Especializadas (solo guardan información sobre una disciplina en concreto, por
ejemplo una base de datos documental de textos médicos).
• Por su método de acceso
• De acceso local
• En línea
• En CD-ROM o dispositivos externos
Ejemplo de
modelado
Ejemplo
Tenemos que el dueño de una disquera quiere organizar
los datos de sus artistas y los álbumes correspondientes.
{
‘_id’ : 1,
‘nombre_del_artista’ : ‘Nirvana’ ,
‘album’ : [
{
‘nombre_del_album’ : ‘Bleach’,
‘fecha_lanzamiento’ : ‘1989’,
‘genero’ : ‘Grunge’
Aquí se muestra el ejemplo anterior, pero utilizando el
}, {
formato JSON, el código quedaría de la siguiente
‘nombre_del_album’ : ‘Nevermind’,
manera.
‘fecha_lanzamiento’ : ‘1991’,
‘genero’ : ‘Grunge’
}, {
‘nombre_del_album’ : ‘In Utero’,
‘fecha_lanzamiento’ : ‘1993’,
‘genero’ : Grunge
}, {
}
]
Ejemplo
Tenemos un ejemplo de una base de datos para guardar
información de películas
Estructura
de JSON
Valor clave
Los pares clave-valor se registran entre corchetes. La clave es una cadena y el
valor puede ser cualquier tipo de datos, como entero, decimal o booleano. Por
ejemplo, un valor-clave simple es {“año": 2013}.
Matriz
Una matriz es una colección ordenada de valores definidos entre corchetes
izquierdo ([) y derecho (]). Los elementos de la matriz están separados por
comas. Por ejemplo, {"fruta": [“manzana","mango"]}.
Objetos
Un objeto es un conjunto de pares clave-valor. Básicamente, los documentos
JSON permiten a los desarrolladores incrustar objetos y crear pares anidados.
Por ejemplo, {“agregar": {“pais": “Estados Unidos",“estado": "Texas"}}.
Ejercicio
propuesto
En una escuela, la biblioteca escolar es un recurso importante para
estudiantes y profesores. Sin embargo, la gestión manual de los libros puede
volverse tediosa y propensa a errores. Actualmente, los libros se registran en un
cuaderno de papel, lo que dificulta la búsqueda de libros específicos. Se desea
crear una base de datos que de solución a esa problemática Cada libro se
representaría como un documento en la base de datos, con atributos como Año de
publicación y título y como subdocumento su información, que contendrá los
siguientes atributos: género, autor, número de ejemplares disponibles, trama y
puntuación.
Se le solicita crear el modelado de la base de datos con el modelo de documentos.
A partir del modelo anteriormente creado se le solicita convertirlo en
formato JSON, para ello deberán investigar 2 libros para llenar los
datos correspondientes