微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQL Server 表未在图中显示关系

如何解决SQL Server 表未在图中显示关系

我有很多共享密钥的表,但图中没有显示从表到表的路由。大多数表格会显示一条通往的路线,但其中很多都没有,尽管他们应该这样做。我已经检查了数据类型,我可以加入这些表,所以我想知道这是不是我必须在图表工具中做的事情来设置关联表的关系。我认为这是为图表选择表时 sql server 自动执行的操作。

有什么建议吗?

解决方法

编辑: 也可能只是您需要“刷新”图表、删除表格并将其重新添加到图表中。

原文: 如果不存在,则该关系不会显示在图中。也许您在两个具有相同名称和数据类型的表中定义了它们的键,但是您缺少显式引用(约束)。像这样:

ALTER TABLE Sales.TempSalesReason
   ADD CONSTRAINT FK_TempSales_SalesReason FOREIGN KEY (TempID)
      REFERENCES Sales.SalesReason (SalesReasonID)
      ON DELETE CASCADE
      ON UPDATE CASCADE
;

不过,您可能希望省略 ON [ACTION] CASCADE。您可以在查询中使用 JOIN 的原因是因为为了 JOIN 表不需要约束,只要数据类型允许,您可以 JOIN 任何列。您甚至可以使用没有 PK 的列进行 JOIN,但这会导致性能不佳(也是另一个主题)。

如何使用图形工具或代码参考官方文档:

https://docs.microsoft.com/en-us/sql/relational-databases/tables/create-foreign-key-relationships?view=sql-server-2016

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。