考虑一个平台范围的评论系统。 评论可以添加到用户个人资料,网站部分,其他评论或X其他内容。
这意味着评论有一个“addressee_id”,而addressee_id可以在不同的表上引用。
定义要加入哪个表的最佳方法是什么?
三种可能的方式:
非规范化 我删除其他表并将X列添加到“comments”-table 问题:很多空字段。
另一个带有page_ids的表“页面”。 每个表在pages.id上使用FK获得额外的列“page_id”。 但在这里我必须为每个请求制作X JOINS。 听起来很贵。
评论表获取额外的列“addresse_type” 在这里,我必须在查询中实现IF / ELSE逻辑,这也很昂贵且不易维护。
你有什么建议?
由于 菲尔