|
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)不需要任何特殊的东西来强制数据完整性,但会导致创建更多的表。 |
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |