单个表中不同的多对多关系

时间:2012-08-10 11:41:27

标签: mysql

我正在考虑在一张桌子中合并不同的多对多关系,我想知道你是否认为这很聪明。

以下是两个单独的“关系”表的示例:

  1. 表:产品
  2. table:product_categories
  3. 表 - 关系表:link_products_product_categories
  4. 另一个例子:

    1. table:users
    2. table:user_categories
    3. 表 - 关系表:link_users_user_categories
    4. 您是否认为创建一个名为“relationship”的单个表是明智的,其中包含以下字段:

      • first_field_table:用户
      • second_field_table:user_categories
      • first_field_id:2
      • second_Field_id:5

      • first_field_table:products
      • second_field_table:product_categories
      • first_field_id:3
      • second_field_id:5

      这需要对我的框架进行一些更改,但这意味着更少的表格。您是否认为将所有这些关系存储在一个表中并使用字段标识两个表或者将它们分开并拥有更多表更好?

2 个答案:

答案 0 :(得分:1)

  

“..但这意味着更少的表......”

许多表本身并不坏。只要遵循数据库规范化规则,您的解决方案就应该包含所需的表。

回答你的问题,不,这不好。事实上这真的很糟糕!所有这一切都会造成巨大的混乱。

答案 1 :(得分:0)

简单回答不,它不聪明。

拥有大量桌子有什么问题?