首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储其属性字段具有多个值的对象

问存储其属性字段具有多个值的对象
EN

Stack Overflow用户
提问于 2012-02-05 06:30:31
回答 2查看 140关注 0票数 0

我有一个数据存储需求,其中每个项目都有几个字段,并且每个字段可以包含多个值(字符串)。我还需要运行一个搜索查询,其中将根据一个或多个字段值选择项。下面是我需要的结构:

代码语言:javascript
复制
Name:     (this will be the name of an item)
Season:   (name of the season)
Taste:    (1 taste or several)
Funktion: (1 or several option)
Weight:   (1 or several)
Volume:   (1 volume or several)
Tips:     (for comments)
Flavor combinations: (1 or several)
Matching flavors: (several)

请对MySql的数据库设计和搜索查询提出任何建议。

EN

回答 2

Stack Overflow用户

发布于 2012-02-08 00:44:57

一个简单的“一对多”应该是可行的:

​

​

您可以使用每个“JOINing”表按子项进行搜索。

如果你想限制属性值,你可以做一个“真正的”多对多:

​

​

因此,一个项目不能与品味表中尚未存在的品味相关联(对于其他类型的属性也是如此)。

或者,您甚至可以创建一个通用模型,这样您就不会受到任何特定属性集的限制:

​

​

注意:这非常灵活,您现在只需要连接一个表,但一致性更难强制执行,可能需要在应用程序级别执行。

票数 1
EN

Stack Overflow用户

发布于 2012-02-05 06:45:36

多值属性的标准设计是一个多对多的表-这通常由一个由两个外键组成的复合主键组成-每个连接表一个。

对这些表的查询将涉及这个多对多表。

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

https://stackoverflow.com/questions/9145185

复制
相关文章

相似问题

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