Documentos y colecciones en bases de datos documentales
Clase 3 de 30 • Curso de Introducción a MongoDB
Resumen
¿Qué son los documentos en bases de datos documentales?
Los documentos son una parte esencial de las bases de datos documentales como MongoDB. Estos documentos almacenan información específica de un dominio, como podría ser el caso de los productos de una tienda en línea o el inventario de una tienda física. Un documento agrupa un conjunto de datos relacionados en pares de clave-valor, aportando flexibilidad y eficiencia al almacenamiento de datos.
¿Cómo se estructura un documento en MongoDB?
El formato de un documento en MongoDB emplea pares clave-valor, similar a un objeto en JavaScript. Al abrir un documento con llaves, se definen campos (claves) y se les asigna un valor correspondiente. Por ejemplo, en un documento que describe a un usuario, podrías encontrar:
{
"nombre": "Sue",
"edad": 26,
"estatus": "A",
"grupos": ["grupo1", "grupo2"]
}
Además, es posible tener subdocumentos o documentos anidados, lo que permite el almacenamiento de estructuras complejas dentro de un único documento. Consideremos el caso de una ubicación que puede contener otro documento con atributos como ciudad y código postal:
{
"ubicación": {
"ciudad": "Madrid",
"código postal": "28001"
}
}
¿Por qué utilizar documentos en vez de tablas?
A diferencia de las bases de datos relacionales que requieren tablas con columnas y filas, los documentos permiten una gestión más flexible y eficiente de la información. Imaginemos una aplicación de gestión de contactos. Si cada contacto es un documento, puedes incluir campos únicos, como un twitter manejador, sin necesidad de alterar la estructura de otros documentos ni llenar espacios vacíos. Cada documento alberga solo los campos que se necesitan, adaptándose fácilmente a cambios en los requerimientos de datos:
- Flexibilidad en el esquema: No es obligatorio mantener un formato rígido. Los documentos pueden variar en los campos que contienen.
- Facilidades en la escalabilidad: Al no depender de un esquema predefinido, las bases de datos documentales pueden escalar horizontalmente con menos restricciones.
¿Qué son las colecciones en bases de datos documentales?
Las colecciones son grupos de documentos que comparten cierta relación o modelo de datos. En MongoDB y otras bases de datos documentales como Firestore y Couchbase, las colecciones son el equivalente a las tablas en un sistema relacional, pero sin restricciones rígidas de esquemas.
¿Cómo se estructuran las colecciones?
Las colecciones organizan documentos que guardan datos relacionados. Por ejemplo, en un sistema de comercio electrónico, podrías tener colecciones separadas para "productos" y "usuarios". Cada colección almacena múltiples documentos que representan instancias individuales de esos productos o usuarios:
- Colección de Productos
- Documento 1: Producto A
- Documento 2: Producto B
- Colección de Usuarios
- Documento 1: Usuario Juan
- Documento 2: Usuario María
La principal ventaja de las colecciones reside en la capacidad de agrupar documentos relacionados, facilitando tanto el acceso como la gestión de grandes volúmenes de datos.
Ejemplos prácticos y aplicaciones
Entender cómo los documentos y colecciones funcionan es clave para aprovechar las bases de datos documentales al máximo. Un ejemplo práctico sería el diseño de un backend para aplicaciones móviles, donde la variabilidad en los datos del usuario es común. Con un modelo documental, agregar nuevos campos a algunos usuarios (como un nuevo campo de red social) es sencillo y no altera la estructura de los datos existentes.
A medida que avances en tu dominio de MongoDB, verás cómo la flexibilidad y eficiencia de los documentos y colecciones pueden optimizar el manejo de datos en tus proyectos. Con cada interacción, te aproximas más a convertirte en un experto, capaz de manejar bases de datos documentales de manera más efectiva. ¡Continúa aprendiendo y explotando todo el potencial de esta novedosa aproximación a la gestión de datos!