小编Rob*_*ous的帖子

多态关联 - 不好吗?

在以下架构中:

Collections
   Upvotes
Reports
   Upvotes
Reviews
   Upvotes
Run Code Online (Sandbox Code Playgroud)

我很想有一个Upvotes表,一个单一的"entityId"列存储要么CollectionIdReportIdReviewId。还将有一个枚举用于Type存储collection, report, 或review

entityId会一直是必需的,而逻辑将始终确保刀片在每个实施唯一性type

这样做的好处是添加另一种类型只是扩展枚举的问题。一切都将生活在一张没有冗余的桌子上。

成本似乎是逻辑方面增加的复杂性,它包含在我的应用程序逻辑中将新实体插入表中的一个地方。

实际上,这种方法有什么问题吗?避免这种情况的其他原因是什么?

schema database-design inheritance polymorphic-associations

4
推荐指数
1
解决办法
3614
查看次数