Relaciones 1 a 1 embebidas en bases de datos: cuándo y cómo usarlas
Clase 13 de 22 • Curso de Modelado de Datos en MongoDB
Contenido del curso
- 7

Validación de Datos en MongoDB: Mantén la Integridad de la Información
16:08 - 8

Validaciones de Datos: Numbers, Booleanos y Enums en JSON Schema
07:49 - 9

Validación de Arrays y Subdocumentos en Bases de Datos NoSQL
11:54 - 10

Validación de Passwords con Expresiones Regulares en MongoDB
08:57 - 11

Validación de Datos en MongoDB: JSON Schema y Actualizaciones
12:04
- 12

Relaciones en Bases de Datos NoSQL: Embebidas y Referenciales
10:29 - 13

Relaciones 1 a 1 embebidas en bases de datos: cuándo y cómo usarlas
10:09 - 14

Relaciones Uno a Uno Referenciadas en Bases de Datos Documentales
09:52 - 15

Relaciones Uno a Muchos: Embebidas y Referenciadas en Bases de Datos
10:46 - 16

Relaciones Uno a Muchos con Referencias en Bases de Datos
15:19 - 17

Relaciones Muchos a Muchos en Bases de Datos: Tiendas y Productos
14:31 - 18

Relaciones Muchos a Muchos en Bases de Datos Documentales
07:04
¿Cómo funcionan las relaciones 1 a 1 embebidas?
Las relaciones 1 a 1 embebidas son una estrategia utilizada para organizar datos de manera eficiente dentro de una base de datos, especialmente cuando manejamos información que se consulta de manera conjunta. Imaginemos un e-commerce donde un usuario necesita dos direcciones diferentes: una residencia y una de envío. En vez de crear campos separados para cada atributo, tomamos el enfoque de subdocumentos, favoreciendo la coherencia y la facilidad de consultas.
¿Cómo se estructuran los subdocumentos?
Para estructurar esta información, utilizamos subdocumentos que permiten agrupar atributos relacionados, tales como la dirección, dentro del documento principal del usuario. Supongamos un usuario con los siguientes datos:
{
"nombre": "Juan",
"email": "juan@example.com",
"address": {
"calle": "Carrera 87",
"ciudad": "Bogotá",
"zip": "111111"
},
"shipping_address": {
"calle": "Avenida Siempre Viva",
"ciudad": "Bogotá",
"zip": "222222"
}
}
Este enfoque no solo simplifica la consulta, sino que también mantiene unida la información pertinente.
¿Cómo se gestionan las consultas con subdocumentos?
Una de las grandes ventajas de los documentos embebidos es la facilidad para realizar consultas específicas. Al estar toda la información cohesiva, podemos buscar usuarios según atributos del subdocumento sin complicaciones adicionales. Por ejemplo, ¿qué pasa si necesitamos encontrar qué usuarios residen en una ciudad específica?
db.users.find({ "address.city": "Bogotá" })
Esto devolverá todos los usuarios cuya dirección tenga la ciudad de Bogotá, haciendo el proceso de consulta más ágil al no requerir unir varias colecciones.
¿Cuándo es recomendable usar estas relaciones?
Determinar cuándo usar una relación 1 a 1 embebida depende de varias señales:
- Consulta conjunta de datos: Si al consultar un usuario también se busca invariablemente su dirección, optar por relaciones embebidas es preferible.
- Dependencia directa: Cuando un subdocumento es más un atributo que un documento independiente, como las direcciones de un usuario.
- Simplificación: La mayoría de las relaciones 1 a 1 (90% de las veces) se benefician de este enfoque, ya que evita la creación de múltiples referencias innecesarias.
¿Existen excepciones?
Aunque es común embebir, hay casos excepcionales (aproximadamente el 10% de las situaciones) donde la referencia puede ser necesaria, especialmente si el documento secundario es esencialmente un artículo reutilizable o tiene significancia propia.
¿Qué sigue?
Es fundamental entender cuándo aplicar cada tipo de relación para optimizar nuestras bases de datos. Te animamos a seguir explorando sobre cómo expresar relaciones con referencias y los casos de uso específicos para maximizar el rendimiento y la eficiencia de tus sistemas de datos. ¡Continúa aprendiendo y perfeccionando tus habilidades en el manejo de bases de datos!