sql - 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 的列,但这会产生不好的性能(并且也是另一个主题)。
有关如何使用图形工具或代码执行此操作,请参阅官方文档:
推荐阅读
- leaflet - React-leaflet LayersControl 不会动态更改名称
- string - Google表格在多个字符之一命中后删除字符串中的文本
- javascript - 选择其他收音机时显示/隐藏文本区域 - 未触发 jQuery 事件
- python - 如何在 Django 中加密 URL 信息?
- c++ - c++20 可能和不可能的性能优化
- django - 如何使用返回模型实例而不是字典的 QuerySet API 执行 GROUP BY 查询?
- r - 用 R 中面板数据的系列平均值估算缺失的观测值
- javascript - 不同的应用程序如何从共享组件文件夹中导入?反应/反应原生
- java - 是否可以通过 Android Studio 创建 Excel 电子表格?
- angular - 只运行被点击的按钮