sql >> Base de Datos >  >> RDS >> Mysql

Tratando de evitar una referencia circular

Sugeriría las siguientes tablas:

a) Receta:nombre, descripción, ingrediente y otra información

b) Ingrediente:nombre, descripción, fromstore (sí o ningún valor si se compró en una tienda), recipieid (la identificación de la receta para este ingrediente). Esto permite que los ingredientes tengan recetas

c) recipie_ingredients - receipieid, ingredienteid (básicamente esto vincula una receta a sus ingredientes)

El consejo es correcto, ya que puedes terminar en un bucle circular de ingredientes a recetas, etc.

ACTUALIZACIÓN:Recomendaría agregar una columna isingridient a la receta para que solo las recetas que se sabe que son ingredientes se puedan seleccionar para agregar a la tabla de ingredientes. Esto puede ayudar a reducir las posibilidades de referencias circulares