Sql 关于关联表中references关键字的一些疑问
我对MicrosoftSQL Server相当陌生,我不喜欢DB 我有以下疑问:我有一个名为VulnerabilityAlertDocument\u VulnerabilityReference的表,它是两个表的关联:VulnerabilityAlertDocument和VulnerabilityReference 漏洞AlertDocument\u漏洞引用仅包含两个字段:Sql 关于关联表中references关键字的一些疑问,sql,sql-server,database,sql-server-2012,rdbms,Sql,Sql Server,Database,Sql Server 2012,Rdbms,我对MicrosoftSQL Server相当陌生,我不喜欢DB 我有以下疑问:我有一个名为VulnerabilityAlertDocument\u VulnerabilityReference的表,它是两个表的关联:VulnerabilityAlertDocument和VulnerabilityReference 漏洞AlertDocument\u漏洞引用仅包含两个字段: 脆弱性警报文档ID 脆弱性参考ID 执行此查询,向我显示有关我的漏洞AlertDocument\u漏洞引用表的一些信息
- 脆弱性警报文档ID
- 脆弱性参考ID
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\u VulnerabilityReference中插入新行,则必须存在一行VulnerabilityAlertDocument和另一行VulnerabilityReference和该主键
我的解释正确吗?你的解释正确
VulnerabilityAlertDocumentId REFERENCES EarlyWarningsV2.dbo.VulnerabilityAlertDocument (Id)
指示要插入到VulnerabilityAlertDocument\u VulnerabilityReference的VulnerabilityAlertDocumentId列中的值应已存在于表VulnerabilityAlertDocument中名为“Id”的列中。(否则,如果允许,VulnerabilityAlertDocumentId可以为NULL)
表VulnerabilityReferenceId的情况也类似