食谱数据库扩展

时间:2016-02-09 22:53:19

标签: mysql sql database database-design relational-database

我正在经历一个项目,该数据库将作为后端。关于我正在努力解决的一些设计方面,我有几个问题。

到目前为止,这是我的设计:

Recipe(id, name, description, time, serving, skill)

Ingredient(id, name, type, description, BaseAmount, AmountType, cost)

RIngredient(RecipeID, IngredientID, AmountNeeded, amount type)

RStep(RecipeID, StepNo, Step description)

Meal(MealID, RecipeName, RecipeServing)

Inventory(InvID, IngredientID, IngredientName, IngredientCost, AmountNeeded)

Timetable(Day, Breakfast, Lunch, Dinner)
餐桌,是为了能够将数据存储到时间表中,但是这个设计会起作用,因为将来如果餐点在烹饪时有多个份量,则应该在第二天存储和吃掉这顿饭。或最多2个因此,有效地使用成分。 库存用于跟踪已购买的物品并计算剩余的成分。如果剩下一些成分,用户可以得到通知,这样他们就不必再次购买。

我还希望能够为该配方实例添加其他成分或将其删除。这是作为sql语句delte / update完成还是需要一个单独的表。

任何评论都会对设计或您认为可能更好的任何内容表示赞赏。

1 个答案:

答案 0 :(得分:0)

callOut会产生一定数量的服务 - 这是-g4的意思吗?

你可以制作一个“双重配方”,或者也许是“半配方”,所以需要指定“因素”。

所以,你需要另一个表“制作食谱”的表格;我会使用-O2 Recipeserving称呼Batch

RecipeId由多个内容组成,因此您需要factor与膳食中涉及的每个批次之间的多对多映射表。

你不能冻结剩菜吗?因此,“一天或两天”大多无关紧要。但是你将有一个datetime的库存放在冰箱里。

我不知道你在Meal的哪个方面;大多数信息可以/应该在Meal

Servings中减去5磅面粉时,有乐趣转换花的“杯子”。