![]() |
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)不需要任何特殊的东西来强制数据完整性,但会导致创建更多的表。 |
![]() |
blogger13 · 视频租赁店数据库的规范化 8 月前 |
![]() |
ì¤ì¤í · 为什么LEFT INNER JOIN被弃用? 9 月前 |
![]() |
relatively_random · 确保两个表之间一致的共同参考 9 月前 |
|
Grenish Rai · Firestore错误“用户文档不存在” 1 年前 |
![]() |
Saijo-Shi · PLpgsql中的更新触发器 1 年前 |
![]() |
Dante · Django::配置不当:池不支持持久连接 1 年前 |
![]() |
YouLocalRUser · 删除重复行,保留第一行 1 年前 |