一个表带有一个主键,另一个表具有两个主键,两者之间是否存在关系



我通常会问这个问题,但我会举一个例子进行说明。

表1包含以下列:

ID (Pk)
Order_Desc
Order_DT 

表2有以下列:

ID (PK)
Product_Code (PK)
Product_Desc 

我有可能在表1和表2之间建立关系吗。如果是这样的话,在SQL中如何做到这一点而不出现错误?如果产品代码或ID不是主键,您是否能够创建关系?相反,它是一把外国钥匙?

您的table2没有两个主键,它有ONE由两列组成的主键。任何关系表NEVER都有多个主键——这根本不可能。

与该表的任何FK关系都必须包括被引用表的PK具有的所有列,因此与Table2的所有FK都必须包括IDProduct_Code

这是一个要么全有要么全无的命题——要么您的外键包含引用表主键的所有列——要么您无法建立FK关系。

相关内容

最新更新