Database design 数据库设计关系

Database design 数据库设计关系,database-design,Database Design,我有两张桌子: 食物 id、名称、单位、创建日期、上次更新 成分 标识、名称、数量、单位、食品标识、创建日期、上次更新 问题是一种食物可以分为两类,每一类都有自己的食物 一套配料。此外,食物可能没有类别。怎么做的?非常感谢你的帮助 您似乎对数据库设计有基本的了解。难道你不需要一个包含食品ID列的类别表和一个包含类别ID列的配料表吗?没有类别的食物在类别表中没有条目。您的问题并不完全清楚,因此您遇到问题也就不足为奇了 现在还不用担心SQL;担心人际关系 我不认为食物应该有一个单位作为一列。事实上,

我有两张桌子:

食物 id、名称、单位、创建日期、上次更新

成分 标识、名称、数量、单位、食品标识、创建日期、上次更新

问题是一种食物可以分为两类,每一类都有自己的食物
一套配料。此外,食物可能没有类别。怎么做的?非常感谢你的帮助

您似乎对数据库设计有基本的了解。难道你不需要一个包含食品ID列的类别表和一个包含类别ID列的配料表吗?没有类别的食物在类别表中没有条目。

您的问题并不完全清楚,因此您遇到问题也就不足为奇了

现在还不用担心SQL;担心人际关系

我不认为食物应该有一个单位作为一列。事实上,我在食谱中使用一杯切碎的固体或8盎司的胡萝卜泥会影响单位,但不会改变胡萝卜的本质

我认为配料应该和食物有1:1的关系

我看不出食品更新日期栏的目的。我把它们想象成不会改变的只读数据


你希望有一个食谱表1:很多都有配料吗?步骤呢?大多数食谱都是按照一定的顺序来做的,每一步都需要一定的时间。

如果你尝试这样的方法如何:

食物(id,名称,份数,份数单位,总份数,创建日期,最新更新)

成分(id、名称、单位、创建日期、上次更新)

类别(id,名称,createdDate,lastUpdate)

配方(食品、类别、成分、数量、注释)

PrimaryKey


请注意,我创建了一个名为“Recipe”的表,它允许您为每个食品类别提供多种成分。如果特定产品“没有类别”,只需使用类别Id=0(例如:一般类别)

你不认为Ingredentid应该是食品的一部分吗?食品“Nasik Lemak”有两个类别,即“椰子米”和“Sambal Ikan Belis”。每个类别都有成分。这里是一个示例链接。如果食物是“Spagheti没有分类。下面是一个示例链接,您需要研究如何为您的关系创建第三个透视表。我甚至会考虑使用ORM,除非您喜欢编写join sql语句:)您需要食品和配料之间的映射表。ORM?我在这里看不到任何东西。连接很容易编写;不需要ORMSQL生成器。我可以在一行中写一个SELECT。找个时间用你的ORM试试。[食物:id,名称,单位,创建日期,最后更新],[组:id,名称,食物\u-id\u-fk],[成分:id,名称,数量,单位,组\u-id\u-fk,物品\u-id\u-fk,创建日期,最后更新]。像这样?单位像“1个汉堡”、“1个鸡翅”,而不是成分测量,如“tbl、ml、g”等。在某些情况下可能是。可能是我在其他地方的单位。