【问题标题】:Design relationship in mysqlmysql中的设计关系
【发布时间】:2014-12-02 21:50:00
【问题描述】:

我想设计一个应用程序,我们可以在其中添加许多类别,每个类别可以有一个参数。我想为类别和她的参数创建一个新产品。之间的关系 参数和类别是多对多的(categories_table,parameters_table)

类别“测试”参数:

id | key   | type | def_value |
==============================
 1 | color | text | red
==============================
 2 | serial| text | 0

等等

现在我想用这些参数创建一个新产品,所以我有一个问题。我应该简单地创建多对多还是创建带有参数等记录的新表?例如,

test1_table -> 颜色、序列号等,

或者

产品 -> parameter_id,value

【问题讨论】:

  • 鉴于您将拥有多个类别的产品,多对多关系似乎是一个更好的主意
  • 鉴于您的数据不重复,我建议您使用 1 个产品表,1 个类型表,1 个产品/类型表,它是产品的 1-n,1 个产品, n° vals,每行是 1-1,类型为

标签: php mysql database database-design


【解决方案1】:

因为关系是多对多的,所以您必须创建另一个表,其中的列是关系中的外键 --- 提示:因为您将有一个名为 category 的表,并且每个类别都可以有参数,所以您应该使用具有参数的外键创建另一个表 例子

  • table_category - 记录 1:颜色

  • 表 category_parameters - 记录 1 : color,azul -- 记录 2 : color,verde 等

在这种情况下,外键是类别的主键('COLOR')

【讨论】:

    猜你喜欢
    • 2023-03-05
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 2014-09-12
    • 2021-09-23
    • 2014-02-19
    相关资源
    最近更新 更多