Sergio Pérez
El video no es malo en tema de conceptos, pero prefiero a un profesor explicando que ver videos de AI. Si quisiera aprender con AI estudio en ChatGPT y me evito pagar una susbcripcion en Platzi.
Nery Alberto Monroy
X2
Diseñar una base de datos no se trata solo de crear tablas y columnas, sino de entender cómo se conectan entre sí. La clave está en hacerse dos preguntas simples que revelan el tipo de relación y, con ello, dónde colocar cada clave foránea. A continuación se explica la técnica que permite clasificar cualquier conexión y tomar decisiones de diseño sólidas.
¿Cómo funciona la técnica de las dos preguntas?
La técnica de las dos preguntas consiste en tomar dos tablas y preguntar en cada dirección: ¿puede un registro del lado A tener más de un registro del lado B? Y luego al revés [0:37]. Con las respuestas se determina el tipo de relación.
Usando el ejemplo de País y Sucursales:
Una respuesta sí y una respuesta no indican una relación uno a muchos (1 a N): un país puede tener muchas sucursales, pero cada sucursal pertenece a un solo país [1:08].
Lo valioso de esta técnica es que obliga a pensar en casos concretos del negocio, no en abstracciones [1:25]. Solo existen tres resultados posibles [1:35]:
¿Dónde se coloca la clave foránea en una relación uno a muchos?
El lado que responde "muchos" es siempre el que recibe la clave foránea [1:59]. Cada sucursal necesita recordar en qué país está, así que la columna PaisID va en la tabla Sucursales. Ponerla al revés significaría agregar una columna por cada sucursal en la tabla Países, lo que no tiene ningún sentido [2:13]. Dicho de otra forma, el lado "uno" guarda la clave primaria y el lado "muchos" guarda la clave foránea que apunta hacia él [2:21].
¿Qué es la relación uno a uno y cuándo aparece?
La relación uno a uno es la menos común [2:31]. En el sistema de ejemplo TiendaLatam no existe ninguna entre sus nueve tablas, y eso es normal porque son raras en la práctica [2:37]. Un caso hipotético sería guardar información sensible de empleados —contacto de emergencia o datos médicos— en una tabla separada llamada Perfil de Empleado: un empleado tiene un perfil y ese perfil pertenece a un solo empleado [2:44].
¿Por qué Pedidos y Productos necesitan una tabla intermedia?
Al aplicar las dos preguntas a Pedidos y Productos se obtiene una relación muchos a muchos [3:36]:
Este tipo de relación no se puede resolver con una simple clave foránea [4:05]. Si ponemos ProductoID en Pedidos, solo registramos un producto por pedido. Si ponemos PedidoID en Productos, solo registramos un pedido por producto. En ambos casos perdemos información [4:09].
Otras salidas fallidas incluyen:
¿Qué papel cumple la tabla Detalle de Pedidos?
La solución es crear una tabla intermedia [4:56]. En TiendaLatam esa tabla se llama Detalle de Pedidos. Sus dos columnas principales son claves foráneas: PedidoID apunta a Pedidos y ProductoID apunta a Productos [5:09]. Cada fila representa un producto dentro de un pedido específico.
Cuando María compra un smartphone y tres paquetes de café, el pedido se registra una sola vez en Pedidos. Detalle de Pedidos crea una fila por cada producto comprado, ambas apuntando al mismo pedido [5:21]. Sin columnas vacías, sin información repetida y sin límites en la cantidad de productos.
Además, Detalle de Pedidos guarda datos propios de esa combinación específica [5:52]:
El precio unitario es el dato más relevante: si el smartphone sube de precio mañana, el registro de María sigue reflejando lo que ella pagó [6:16]. La tabla Productos dice cuánto cuesta hoy; Detalle de Pedidos dice cuánto costó en ese momento [6:22].
¿Cómo se clasifican todas las relaciones de TiendaLatam?
Con la técnica aprendida se puede identificar el tipo de relación entre cualquier par de tablas [5:29]:
¿Encontraste más relaciones en el sistema de TiendaLatam? Comparte cuáles identificaste y qué tipo de relación tienen.
Sergio Pérez
El video no es malo en tema de conceptos, pero prefiero a un profesor explicando que ver videos de AI. Si quisiera aprender con AI estudio en ChatGPT y me evito pagar una susbcripcion en Platzi.
Nery Alberto Monroy
X2
Brayhan Bolivar Bermudez
No pienso que usar IA es malo, es más la voz es pausada y se entiende, pero es molesto que no hagan tan siquiera un filtro de saber si las imagenes están bien o no.
William Serrano
Buena explicación con ayuda de la IA.
Miguel Gomez
Al crear la tabla intermedia se resuelve el problem n:m creando una nueva entidad cuya relacion entre estas dos entidades es 1:n me equivoco?
¡Hola, Miguel! Estás en lo correcto.
Al crear una tabla intermedia (como detalle de pedidos), efectivamente transformas una relación muchos a muchos (n:m) en dos relaciones uno a muchos (1:n).
Funciona así:
Es como un puente: la tabla intermedia "recibe" las claves foráneas de ambas, permitiendo que un pedido tenga muchos detalles y que un producto aparezca en muchos detalles, resolviendo así la ambigüedad.
Para profundizar en cómo representar esto visualmente, te recomiendo revisar: Diagrama ER con notación crow's foot.
Rubens A. Rangel Gomez
¡Exacto, Miguel! Crear una tabla intermedia es la forma estándar de transformar una relación muchos a muchos en dos relaciones uno a muchos. Es importante verlo como un puente: cada fila de la tabla intermedia conecta un solo registro de cada tabla principal, pero permite registrar todas las combinaciones posibles sin duplicar información ni perder datos. De esta manera, tanto pedidos como productos mantienen su integridad y podemos agregar información específica de cada combinación, como cantidad o precio unitario.
Maga Hernandez
que buena explicación...de verdad que buen método para entender las relaciones entre tablas
Fabian Chacon
Está buenísimo el método de las 2 preguntas.
Alex Fernando Martínez Riascos
hago una pausa aquí para decir que las escenas con las personas me distraen.
estoy atento la explicación y depronto entra la escena y me desenfoco.
valoro el esfuerzo al hacer el video y ambientarlo con las escenas, pero en definitiva no me suman nada, prefiero centrarme en el contenido
excelente trabajo
Cristian Alexander Vallejos De la rosa
Francisco Javier Cisneros Ruiz
Muuy buenas clases, al fin entendí todo. Que si los videos están hechos con IA o si la locutora es una "maquina" no importa, los videos estan bien representados, visuales y dinámicos.
Saludos!
Victor Mauricio Bedoya Salas
mucha animacion para conceptos basicos, me parece que un docente lo ubiera explicado mejor como que quisieron correr con los conceptos basicos y fundamentales los ejemplos no muy entendibles
Julián Nieto
que buena explicación, al fin logre hacer click con este concepto
Henry Alfredo Vasquez Ramos
terrible el escuchar a un robot haciendo la clases , para esto no pago Platzi
Jose Oswaldo De La Cruz De La O
Explicar la cardinalidad, uno a muchos, está bien un país tiene muchas sucursales. Pero no muestres como ejemplo un sr con la tableta mostrando un entidad país y luego sucursal en una estantería, no confundan a los principiantes. Si, el sr. que hizo revisión y edición del vídeo ganó mucho, pues les se rieron de su valor y juicio como plataforma de enseñanza. No necesitamos ver mucho tiempo de animación con personas, ocupar la IA con animación normal y el texto es importante, están lindos los dibujitos pero ya bro.
Rafael Diorato Oliveira
Embora que a classe esá em feita com IA, isso para mim, não influência sobre o conteúdo, pois, está muito bem explicado.
Saludos!!
Josafath Ceron
donde es bueno usar una tabla intermedia?
Una tabla intermedia es el puente necesario cuando tienes una relación de muchos a muchos. Sin ella, los datos se vuelven un caos de duplicados o columnas infinitas.
Imagina que quieres conectar estudiantes con sus materias: un alumno toma varias clases y cada clase tiene muchos alumnos. ¿Cómo organizarías esa conexión sin que la base de datos explote?
Borwman Berdugo
Muy buena explicación!
Maria Camila Rodriguez Moreno
Tipos de relaciones en las Tablas de TiendaLatam
10 relaciones específicas que dan flujo comprendiendo desde el contexto, la operación y las ventas.
Saludos, Maria CRM
Luz Nataly Reguerin Acarapi
esto creo que esta mal
Maria Camila Rodriguez Moreno
Depende de por dónde empieces a mirar. Si vas de Productos a Detalle de pedidos, un producto aparece en muchas líneas de detalle, por lo que es una relación 1:N.
Si miras al revés, muchas filas de detalle apuntan a un solo producto, así que es N:1.
Ambas notaciones describen exactamente la misma conexión.
Saludos, Maria CRM
Jhon Alexander Mosquera Vanegas
Me parece valiosa la técnica de las dos preguntas porque convierte una discusión de modelado en algo que cualquiera puede verificar con casos reales: ¿puede un país tener más de una sucursal?, ¿puede una sucursal estar en más de un país? Con una respuesta sí y otra no, la relación es uno a muchos; con dos síes, es muchos a muchos. Sirve a quien arma reportes porque obliga a preguntar en ambas direcciones antes de unir tablas. Por ejemplo, al cruzar proyectos con entidades financiadoras, si las dos respuestas son sí, hará falta una tabla intermedia y no una columna más.
Javier Cano
¿Toda tabla debe tener una llave primaria?
Respuesta IA Platzi:
Sí, en el diseño relacional cada tabla necesita una clave primaria para identificar sus filas de manera unívoca. Sin ella, el motor no puede garantizar la unicidad ni permitir que las claves ajenas apunten a ella con seguridad. Aunque algunas tablas intermedias usan claves compuestas en lugar de un ID numérico propio, el principio de unicidad nunca se negocia.
Javier Cano
Hay cosas que no vale la pena relacionar, ¿se omiten? por ejemplo "pais" y "categoria de producto" que según entiendo es una relación N:M.
Respuesta IA Platzi:
¡Exacto! No se relaciona todo con todo: solo unes tablas cuando el negocio lo exige. Una categoría de producto clasifica artículos a nivel global, y un país ubica sucursales o clientes, así que no necesitan un enlace directo entre ellos.