【问题标题】:Some doubts about references keyword in an association table关于关联表中references关键字的一些疑问
【发布时间】:2014-03-08 16:02:46
【问题描述】:

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

我有以下疑问:我有一个名为 VulnerabilityAlertDocument_VulnerabilityReference 的表,它是两个表的关联:VulnerabilityAlertDocumentVulnerabilityReference

VulnerabilityAlertDocument_VulnerabilityReference 仅包含两个字段:

  • 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)

表示关联表的VulnerabilityAlertDocumentId字段绑定到VulnerabilityAlertDocument表的主键值,VulnerabilityReferenceId字段关联表是否绑定到VulnerabilityReference主键?

这意味着如果我在 VulnerabilityAlertDocument_VulnerabilityReference 中插入新行,则必须存在具有此主键的 VulnerabilityAlertDocument 行和具有此主键的 VulnerabilityReference 中的另一行?

我的解释正确吗?

【问题讨论】:

    标签: sql sql-server database sql-server-2012 rdbms


    【解决方案1】:

    你的解释是正确的。

    VulnerabilityAlertDocumentId REFERENCES EarlyWarningsV2.dbo.VulnerabilityAlertDocument (Id) 
    

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

    表 VulnerabilityReferenceId 的情况类似。

    【讨论】:

      猜你喜欢
      • 2012-04-02
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-13
      • 2020-08-07
      • 1970-01-01
      • 2018-08-04
      相关资源
      最近更新 更多