我有很多共享键的表,但在图中没有显示从表到表的路由。大多数表格会显示一条路线,但其中很多没有,尽管它们应该显示。我已经检查了数据类型,并且可以加入这些表,所以我想知道这是否是我在图表工具中必须做的事情,以将关系设置为相关表。我假设这是当您为图表选择表时 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 任何列。您甚至可以 JOIN 与没有 PK 的列,但这会产生不好的性能(并且也是另一个主题)。
有关如何使用图形工具或代码执行此操作,请参阅官方文档: