我想确保这是处理特定场景的最佳方法。数据库映射 - 多个外键
比方说,我有三个主表我会保持它们的通用性。它们都有主键,它们都是独立的表,没有任何引用。
表1
PK
VarChar Data
表2
PK
VarChar Data
表3
PK
VarChar Data
这里是场景中,我瓦特使用户能够评论上述每个表格上的特定行。但我不想创建一堆评论表。所以截至目前,我的处理就像这样..
有一个评论表有三个外键列,每个列都引用上面的主表。有一个约束条件是只能对这些列中的一列进行评估。
CommentTable
PK
FK to Table1
FK to Table2
FK to Table3
VarChar Comment
FK to Users
我的问题:这是处理问题的最佳方式是什么?是否存在通用外键?或者我应该为每个主表分别创建一个注释表,即使数据结构完全一样吗?或者每个映射表都是更好的解决方案?
我会去用这种方法 - OK,你有三个FK列,只有其中之一是将有一个价值。但是通过这种方法,您**可以**通过设置适当的外键约束来强制引用完整性。如果你有一个* generic * FK(例如一个FK *类型的列),那么你就无法做到这一点 - 并且能够强制引用完整性在数据库设计范围内比“保存”一列更重要或两个.... –