多个投票表架构:
单一投票表架构:
企业,产品和评论都可以投票。对于第一个明显的解决方案,我选择为每个关系创建一个关联实体。我们认为可能会有更好的解决方案。
经过广泛研究并寻找解决方案之后,我找到了第二个模式的概念,即有一个带有列(Entity)的投票表来定义表的类型或表中的ID (EntityID是它来自的表的ID)属于。唯一的问题是投票表和三个实体之间没有关系。 实体列是否有办法引用表而不是表的ID?
欢迎任何有关开发架构的建设性方法的建议。
答案 0 :(得分:1)
我认为你会发现这个答案非常充分。
Why can you not have a foreign key in a polymorphic association?
你在这里看到的是一个多态协会。它有许多解决方案,其中三个通过给定的帖子进行了详细描述。
答案 1 :(得分:0)
我建议您将Business,Product和Comment表合并到一个表中,并使用额外的colume来表示'Type'。然后,您可以强制执行与投票表的关系。