En varios CMS de código abierto, noté que hay una tabla separada para mapear dos tablas relacionales. Al igual que para las categorías y productos, hay una product_category_mapping
tabla separada . Esta tabla solo tiene una clave principal y dos claves externas de las categorías y tablas de productos.
Mi pregunta es ¿cuáles son los beneficios de este diseño de base de datos en lugar de simplemente vincular las tablas directamente definiendo una clave externa en cualquiera de las tablas? ¿Es solo cuestión de conveniencia?