我正在尝试设计一个与 ASP.net MVC 应用程序一起使用的数据库。场景如下:有三个实体,用户可以为每个不同的实体发表他们的评论。我只是想知道如何只放置一张评论表并将所有其他实体链接到它。显然,Comments 表需要 3 个对这些表的引用(外键),但正如您所知,这些外键不能为空,并且每行只能填充其中一个。有没有比为每个实体的评论实现三个不同的表格更好的方法?
最佳答案
任一:每个实体类型一个评论表
或者:一个带有子注释和实体类型特定表的主实体表。
对于 3 个实体表,PK 是 EntityID
为 3 个 parent 设置一个评论表没有捷径或优雅:在数据库设计方面是错误的。
就我个人而言,我可能会选择选项 1...
编辑,反射(reflection):
有时您必须查看数据的使用情况。
如果这 3 个实体单独使用,在不同的屏幕上,不要相互链接,那么它是选项 1。
如果同时使用和显示 3 个实体,则选项 2 更有意义,因为您可以更轻松地将数据汇总在一起。
关于sql - SQL Server中如何实现多重关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4536831/