一列引用多个不同的表

时间:2014-03-24 11:00:27

标签: mysql sql database database-design relational-database

考虑一个平台范围的评论系统。 评论可以添加到用户个人资料,网站部分,其他评论或X其他内容。

这意味着评论有一个“addressee_id”,而addressee_id可以在不同的表上引用。

  • 评论(id,adresseee_id,...,...)
  • 章节(id,...)
  • 用户(id,...)

定义要加入哪个表的最佳方法是什么?

三种可能的方式:

  1. 非规范化 我删除其他表并将X列添加到“comments”-table 问题:很多空字段。

  2. 另一个带有page_ids的表“页面”。 每个表在pages.id上使用FK获得额外的列“page_id”。 但在这里我必须为每个请求制作X JOINS。 听起来很贵。

  3. 评论表获取额外的列“addresse_type” 在这里,我必须在查询中实现IF / ELSE逻辑,这也很昂贵且不易维护。

  4. 你有什么建议?

    由于 菲尔

0 个答案:

没有答案