面包店库存计算

时间:2014-07-17 18:23:17

标签: ruby-on-rails

我想创建一个面包店库存,列出当天所需的成分总量:

  • 客户的Cookie订单[2打糖饼干,1打燕麦饼干]
  • 饼干成分[糖饼干:1杯糖等]

See a chart here

您如何推荐存储饼干成分?我最初的想法是哈希。

{     面粉:2.75,     糖:1,     。 。 。 }

1 个答案:

答案 0 :(得分:1)

为什么要哈希?

然后,您失去了关系数据库的好处,例如,如果有人编辑“Sugar”成分,您的哈希不再是最新的。那个可能没问题,但你仍然需要反序列化并进行数学运算。

改为考虑(伪代码):

Recipe => has_many :quantities
Quantity => has_one :ingredient
Order => has_many :recipes # Or whatever; you get the idea

然后,您可以按成分查询一天订单的数量,并进行数学计算。

如果你想保留哈希,可以使用成分ID作为密钥等。

如果您已经在使用NoSQL数据库,那么以上都不适用,您可以选择其他一组选项,但在某些方面您最终会遇到相同的问题。