产品 - 数据模式

时间:2010-09-15 17:53:40

标签: database schema relationships

我正在为产品模块设计表格。一个问题是成分。我想按成分过滤产品。那么为了做到这一点,我想每个成分必须分别存储在数据库中并给出一个ID?但是我们来补充一下。它可能含有50种成分。因此,如果要存储100万种产品并且每种产品有50种成分,那么存储这种(关系)的最佳方式是什么?像维生素E,维生素B12等每个都是一个单独的ID我假设因为我希望用户只找到含有维生素E的产品,当然还有其他的过滤器,如品牌名称,产品名称,产品类别,产品类型等...此外,我还添加了社交功能,因此您可以找到其他使用维生素E产品的人。这是一个用户内容社交网站。产品只是更大系统的一部分。产品的母体是一个品牌,它本身有许多分支。而且那个公司的母公司又拥有自己的分支机构。

感谢。

编辑但这是问题 - >如果我将其标准化仍然会为每种产品输入每种成分的吨行数。除了逐行,我们还能为每个项目存储大量数据吗?就像在普通代码中一样,我们可以使用一个数组并将其全部抛出但我不确定在DB中如何将它全部放入某个结构中。我的理由是50只是一个例子。如果您真正深入了解所使用的精确化学品的原料,许多产品都有数百种产品。这将成为世界产品目录,因此需要数百万种产品。 DB将是超级巨大的,然后每个产品添加数百行只是为了存储每种成分,嗯......在使用关系DB时必须有其他方式吗?我可以将文本存储在文件中,但我需要DB,因为1)需要多语言支持,2)每个产品和每个成分级别的分析过滤给用户。

1 个答案:

答案 0 :(得分:1)

我不确定您在设计数据库架构方面有多少经验,但似乎您可以做更多的事情来开始自己。

您已经确定了要建模和存储的一些数据,但您还必须考虑如何查询和更新(包括创建和删除)。您希望确保不会复制任何数据,并且还要考虑性能。正如Kjensen建议的那样,请阅读数据库规范化。

此外,我建议您自己绘制一张您的数据层次结构(公司,品牌,产品,成分等)的图片,以便了解每个层次结构与另一个的关系。 ER图表是一种很好的方法。它们将帮助您识别所需的表,列,数据类型和主/外键,并帮助您确保存储所需的所有数据。

不要害怕设计多个数据模型并与您的团队讨论。

祝你好运!