我有两张桌子:
id,name,unit,createdDate,lastUpdate
id,name,quantity,unit,food_id_fk,createdDate,lastUpdate
问题是食物可以分为两类,每类都可以拥有 成分的一套。食物也可能没有类别。怎么做?非常感谢您的帮助。
答案 0 :(得分:0)
您似乎对数据库设计有基本的了解。您是否只需要一个带有食物ID列的分类表和一个带有类别ID列的成分表?没有类别的食物在类别表中没有条目。
答案 1 :(得分:0)
您的问题并不完全清楚,因此您遇到麻烦并不奇怪。
不要担心SQL;担心这种关系。
我不认为食物应该有单位作为专栏。事实上,我在配方中使用一杯切碎的固体或8盎司的纯胡萝卜会影响单位,但不会改变胡萝卜的本质。
我认为成分应该与食物有一个很多的关系。
我没有看到食物更新日期专栏的目的。我把它们描绘成不会改变的只读数据。
您是否希望食谱配方表1:许多配料?步骤怎么样?大多数食谱按特定顺序进行,每个步骤都需要一定的时间。
答案 2 :(得分:0)
如果你尝试这样的事情怎么样:
食物( id ,name,servingSize,servingUnit,totalServings,createdDate,lastUpdate)
成分( id ,名称,单位,createdDate,lastUpdate)
类别( id ,name,createdDate,lastUpdate)
食谱( food_id_fk,category_id_fk , ingredient_id_fk ,数量,评论)
<强>的PrimaryKey 强>
请注意,我已经创建了一个名为&#34; Recipe&#34;这将使您可以为每种关系食品类别提供多种成分。如果特定产品&#34;没有类别&#34;只需使用Category Id = 0(例如:General Category)