首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >食品关系数据库表.指定不同类别

食品关系数据库表.指定不同类别
EN

Stack Overflow用户
提问于 2016-08-27 21:29:51
回答 2查看 5.4K关注 0票数 0

我正在为食品进行数据库设计,在决定如何在数据库中设计产品类型和类别时,我迷失了方向。

让我分享一下我目前的数据库结构:

现在让我们想想现实生活中的例子。如果我们用奶酪产品。我们只说这是熏奶酪和一些味道的。然后我们可以假设它是乳制品,看起来是这样的:Dairy -> Cheese ->熏制->大蒜风味

随函附上一份列有不同食物种类和种类的清单:

我只是想列举其中的一部分,从我的角度来看,事情变得非常复杂。

食物的两个主要类别是:Beverages/drinks,和,但也许我应该从烘焙、乳制品、水果和蔬菜等类别开始。因为在乳制品中,我可能会有食物和饮料,比如,奶酪,奶制品。如果我们现在只吃奶酪的话,我搜索了一下,有66种不同类型的奶酪,甚至更多的可以在这里找到

我知道,所有的东西都可以简单地加到一张桌子上,但由于我有这么多不同的类别和类型,而且它们彼此重复,我如何才能对所有食物类别做出最佳的解决方案?

我可以得出结论,我还不确定如何正确地组织所有的类别和类型,但是有什么表结构可以建议吗?

如果有什么不清楚的地方,请告诉我,我会澄清的。

EN

回答 2

Stack Overflow用户

发布于 2016-08-28 00:11:43

从我的观点来看,你正在寻找一些标签和类别的组合。一个对您的情况足够灵活的系统可以实现为产品:标签的M:N关系和标签:标签的1:N。

这样你的奶酪例子就会被贴上这样的标签:

代码语言:javascript
复制
Organic type -> Dairy -> Cheese
Cooked -> Smoked
Flavored -> Garlic flavor

如果您的应用程序允许在标签上进行全文搜索,那么添加带有标签的新产品应该很容易。另一方面,最终用户将有可能过滤乳制品,或具体的奶酪。

票数 0
EN

Stack Overflow用户

发布于 2016-09-07 21:42:24

你所拥有的食物类别会更好地组织在等级结构中。作为关系数据库,您将有重叠,这取决于您如何组织产品。理想情况下,你要不惜一切代价避免多对多.

也许,最好是根据数据库的目的建立关系。例如,如果这是针对超市,我将创建基于供应商和他们销售的产品的关系,并可能将它们与接收产品的部门联系起来。然后添加标签,或者标签,根据食品种类(乳制品、肉类、水果等)对产品进行分类--这将使你有一个基于过程的功能更强的系统,而添加标签则很容易被人类搜索。

因此,我的建议是考虑如何使用和适应您的流程,并将重点放在设计(模式、关系)上。然后将注意力集中在用户身上,并添加另一层以便于使用(标签、标签)。

这有道理吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39185915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档