Si bien, las relaciones 1 a muchos dependen de un campo que apunta de una tabla hacia otra, a la que llamamos llave foránea, las relaciones muchos a muchos requieren de otras formas y estrategias.
Piensa por un momento en un ejemplo de una relación muchos a muchos, intenta traer una tú mismo, considera que normalmente leemos una relación de este tipo como que una entidad A tiene muchos elementos de una entidad B, y a su vez, B puede tener muchos elementos de A.
Si te ayuda, te daré un ejemplo, un canal de YouTube puede tener muchos suscriptores, y a su vez cada suscriptor puede estar suscrito a muchos canales de YouTube, y ahí lo tienes, una relación de muchos a muchos.
Si se te ocurrió alguna otra, déjala en los comentarios para ayudar a reforzar el concepto de tus compañeros de clase, voy a estar leyendo los ejemplos que coloquen.
En una base de datos relacional, las relaciones muchos a muchos suelen representarse a través de una tabla asociativa.
Considera que tenemos una tabla Canal, y una tabla Usuario, como en el ejemplo que di antes, se establece que un usuario puede suscribirse a muchos canales, y que un canal puede tener muchos suscriptores, ya que ésta se trata de una relación muchos a muchos, vamos a introducir una nueva tabla, cuya función será la de asociar la tabla canales y la tabla usuarios.
Para que la nueva tabla pueda hacer esta función debe contener al menos dos campos, uno de ellos apuntando a la tabla usuarios y otro apuntando a la tabla canales. De tal manera que si yo quisiera establecer que el usuario Uriel, se relaciona con el canal CódigoFacilito, en esta nueva tabla guardaría un registro así:
Canal | Usuario |
---|---|
CodigoFacilito | Uriel |
CodigoFacilito | Marines |
MarinesMG | Rafa |
Una tabla asociativa, debe de almacenar una referencia para cada una de las dos tablas que está relacionando, de alguna manera puedes pensar que esta tabla se relaciona con el esquema uno a muchos con ambas tablas, en nuestro ejemplo podemos establecer que la nueva tabla tiene una relación de pertenencia para el usuario, y una de pertenencia para el canal.
Usando esta estrategia, cada que queramos establecer una relación uno a muchos entre dos elementos, creamos un nuevo registro en una tabla asociativa que apunte a ambos elementos en la relación.
Si aún no te cuadra bien cómo debe suceder esta relación, pasemos a los siguientes temas para poner en práctica el conocimiento que hemos adquirido.
-
check_circle_outlineMódulo 1 | 8 clases
Introducción
expand_more -
check_circle_outlineMódulo 2 | 19 clases
Http
expand_more -
check_circle_outlineMódulo 3 | 11 clases
Bases de Datos
expand_more -
check_circle_outlineMódulo 4 | 24 clases
Buenas prácticas de desarrollo.
expand_more -
check_circle_outlineMódulo 5 | 14 clases
Autenticación
expand_more -
check_circle_outlineMódulo 6 | 14 clases
Relaciones en la base de datos.
expand_more-
done_all
Clase 1
Fundamentos de relaciones en la base de datos
-
done_all
Clase 2
Relaciones uno a muchos - El esquema
-
done_all
Clase 3
Relaciones uno a muchos - Los modelos
-
done_all
Clase 4
Nombres para asociaciones
-
done_all
Clase 5
Guardar relación uno a muchos
-
done_all
Clase 6
Relaciones en un proyecto real
-
done_all
Clase 7
Eager loading (Cargado anticipado)
-
done_all
Clase 8
Ejercicio - Implementa tu propio CRUD
-
done_all
Clase 9
Relaciones muchos a muchos
-
done_all
Clase 10
Integrando CRUD de Categorías
-
done_all
Clase 11
Tabla asociativa
-
done_all
Clase 12
Definir relación muchos a muchos
-
done_all
Clase 13
Crear relaciones muchos a muchos
-
done_all
Clase 14
Mostrar objetos de una relación muchos a muchos
-
-
check_circle_outlineMódulo 7 | 5 clases
Websockets (realtime)
expand_more -
check_circle_outlineMódulo 8 | 4 clases
Entorno de producción
expand_more -
check_circle_outlineMódulo 9.-
Examen del curso
expand_more-
done_all
Examen
Examen final del curso
-