2016-08-16 95 views
-1

我正在尝试创建一个表Inspection_tbl,其中列ApprovedByPersonnel_ID (FK)参考Personnel_tbl。该表还有另一列InspectedByPersonnel_ID (FK),它们也引用Personnel_tbl在同一张表上使用相同的FK两次

不允许从一个表(Inspection_tbl)引用同一个表两次(Personnel_tbl),因为我要有相同的列(Personnel_ID (FK))?

我很新的SQL和我很喜欢接受任何解决方案来解决这个问题..非常感谢您......

+2

据我所知,应该没有问题,只要两个外键字段的命名不同。在两个不同的外键约束中引用同一个表没有问题。只要确保字段和约束具有不同的名称。 –

+1

是的,外键列的名称可以不同于引用的主键列的名称。 –

+0

你试过了吗?这将比在Stack Overflow上发布更快。 – Blorgbeard

回答

0

是引用同一个表两次从一个表(Personnel_tbl)( Inspection_tbl)不允许

的方式来思考,这是思考什么的FK关系意味着。外键定义了一个A references T(B)意味着A必须出现在B。如果不是,则它不是这种类型 - 即不是该域的类型 - 定义B

是否有规则说,表中的2列不能有相同的域?那没有。规范化与类型正交。

您的意思是ApprovedByInspectedBy都被约束到由Personnel_tbl.Personnel_ID定义的域。如果这就是你的意思,那你的状态很好。 :-)

相关问题