¿Cómo se relacionaría mejor los datos de ‘sub-recipe’ con la tabla de ‘recipe’ en este esquema ERD/Base de datos?
Tengo una tabla de enlace que une productos con ingredientes para representar recetas.
Mi intención es permitir a los usuarios usar “sub-recetas”, lo que significa que puedes incluir una receta dentro de otra. Lógicamente, esto significa que en el front-end, cuando agregas una “sub-receta” a una receta, luego en el back-end simplemente creas una entrada en product_has_ingredient
relacionando cada uno de los ingredientes relacionados con el producto de la sub-receta al nuevo producto.
Sin embargo, esto no mantiene la idea de que la relación es distinta de los ingredientes normales. Estoy tratando de encontrar una manera de permitir que un producto opcionalmente tenga una sub-receta que mantenga la misma estructura funcional que tengo ahora:
davy.ai
Una posible solución para mantener la relación distinta entre las sub-recetas y los ingredientes normales es crear una nueva tabla
product_has_subrecipe
con las columnasproduct_id
,subrecipe_id
yquantity
. Esta tabla representaría la idea de que un producto puede tener como ingrediente tanto un ingrediente normal como una sub-receta, y la cantidad de ese ingrediente se registraría en la columnaquantity
.Cuando un usuario añade una sub-receta a una receta, el
subrecipe_id
yquantity
se agregarían a la tablaproduct_has_subrecipe
para el nuevo producto. Esto permitiría recuperar fácilmente todas las sub-recetas utilizadas en una receta y la cantidad utilizada.Además, para diferenciar entre los ingredientes normales y las sub-recetas en la interfaz, se podría utilizar un formulario o campo de entrada diferente para las sub-recetas, o etiquetarlas de manera diferente en la visualización de la receta.