【问题标题】:Best way to store product colors in a database将产品颜色存储在数据库中的最佳方法
【发布时间】:2011-11-15 03:25:47
【问题描述】:

我正在开发一家在线珠宝店网站。其中一个请求是,可以从后端为单件珠宝选择一种/多种颜色,以便用户能够仅对例如绿色的物品进行分类/查看。

将其存储在数据库中的最佳方式是什么?是否应该使用 3 个表来完成:

  1. 产品表(已存在)
  2. 颜色表:每个字段都有颜色
  3. 与产品匹配的表格带有颜色 id

这是正确的方法吗?我正在使用 php 和 mysql,但我认为这只是一个非常标准的数据库问题。

【问题讨论】:

  • 对我来说听起来很合理。
  • 恕我直言,由于颜色(纯色)是有限且已知的,color 应该是product 的属性。随意添加颜色的选项会导致问题,例如紫色(紫色、紫红色、茄子色等)有 20 多种色调,并使简单的查询变得复杂。
  • @Ben 我不太同意这一点。拥有标准的 N-M 关系不会使查询变得那么复杂
  • @Marcus 我不是因为n-m关系才说的,我说是因为假设你要列出所有紫色钻石,你怎么知道紫红色和茄子也是紫色的?跨度>
  • @Ben Ah,就是这样。但是您也可以限制颜色表中的颜色以实现相同的目标。如果有很多不同的口味,可以选择颜色所属的组。

标签: php mysql database


【解决方案1】:

是的,您的表之间存在多对多关系的解决方案听起来很适合您的情况。然后,您可以轻松地加入表以从 ID 中获取信息。

【讨论】:

    【解决方案2】:

    是的,这是一种合适的方式。

    【讨论】:

      猜你喜欢
      • 2020-11-18
      • 1970-01-01
      • 1970-01-01
      • 2011-06-26
      • 1970-01-01
      • 2012-12-21
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      相关资源
      最近更新 更多