1
0
1) 没有办法实现您正在考虑的这种条件FK。这里需要的基本上是来自tbl_Business_Post的FK,它逻辑上指向两个表中的一个,具体取决于tbl_Business_Post另一列中的值。这种情况是人们经常遇到的。但在关系数据库中,这并不是一个非常原生的想法。 因此,好吧,这不能用FK强制执行。相反,您可能可以用tbl_Business_Post上的触发器或检查约束强制执行。 2) 或者,您可以执行以下操作。 创建一些表tbl_Basic_Post,将所有与帖子本身相关的列(例如PostTitle)放在那里,而不是该帖子记录所属/指向的父实体(业务或分类)。然后创建另外两个表,通过FK指向tbl_Basic_Post表,例如。
tbl_Business_Post.Basic_Post_ID(FK)
在这两个表中放入Business_Post/Classified_Post-specific列
此外,使这两个表中的每一个表都具有各自父表的FK
要获取商业帖子,请加入tbl_Basic_Post和tbl_business_Post。
这两种方法各有利弊。 方法1)简单,不会导致创建太多表;但加强数据完整性并非易事。 方法2)不需要任何特殊的东西来强制数据完整性,但会导致创建更多的表。 |
Duvan · 将逗号(,)替换为点(.)[副本] 2 年前 |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
SoT · SQL Server中求和函数的工作方式 2 年前 |
NKAT · 将列值聚合到列表中会产生错误 2 年前 |
deanpillow · 返回两列中有一个匹配值的记录 2 年前 |
snowflakes74 · 在Dapper中异步查询多个结果 2 年前 |