关联表中references关键字存在疑问



我是Microsoft SQL Server的新手,我不喜欢DB。

我有以下疑问:我有一个名为 vulnerability alertdocument_vulnerability ityreference 的表,这是两个表的关联:VulnerabilityAlertDocumentVulnerabilityReference

vulnerability alertdocument_vulnerability ityreference 只包含两个字段:

  • VulnerabilityAlertDocumentId
  • VulnerabilityReferenceId

执行这个查询,显示我的VulnerabilityAlertDocument_VulnerabilityReference表的一些信息:

sp_help VulnerabilityAlertDocument_VulnerabilityReference;

我得到这样的输出:

VulnerabilityAlertDocumentId, VulnerabilityReferenceId
(n/a)
FOREIGN KEY FK_AlertDocument_Reference_AlertDocument    No Action   No Action   Enabled
FOREIGN KEY FK_AlertDocument_Reference_Reference    No Action   No Action   Enabled
PRIMARY KEY (clustered) PK_AlertDocument_Reference  (n/a)   (n/a)   (n/a)
Is_For_Replication
(n/a)
Is_For_Replication
VulnerabilityAlertDocumentId
REFERENCES EarlyWarningsV2.dbo.VulnerabilityAlertDocument (Id)
VulnerabilityReferenceId
REFERENCES EarlyWarningsV2.dbo.VulnerabilityReference (Id)

这个特定的部分到底是什么意思?

Is_For_Replication
VulnerabilityAlertDocumentId
REFERENCES EarlyWarningsV2.dbo.VulnerabilityAlertDocument (Id)
VulnerabilityReferenceId
REFERENCES EarlyWarningsV2.dbo.VulnerabilityReference (Id)

表示关联表的 vulnerability abilityalertdocumententid 字段绑定到VulnerabilityAlertDocument表的主键值,关联表的 vulnerability abilityreferenceid 字段绑定到 vulnerability abilityreference 主键?

所以这意味着,如果我插入一个新的行在我的VulnerabilityAlertDocument_VulnerabilityReference必须存在一行VulnerabilityAlertDocument与这个主键和另一行在VulnerabilityReference与这个主键?

我的解释正确吗?

你的解释是正确的。

VulnerabilityAlertDocumentId REFERENCES EarlyWarningsV2.dbo.VulnerabilityAlertDocument (Id) 

表示要插入到VulnerabilityAlertDocument_VulnerabilityReference的vulnerability alertdocumententid列中的值应该已经存在于VulnerabilityAlertDocument表中名为"Id"的列中。(否则vulnerability alertdocumententid可以是NULL,如果允许的话)。

与表VulnerabilityReferenceId类似。

相关内容

  • 没有找到相关文章

最新更新