本文旨在指导如何使用SQL Server Management Studio (SSMS) 的自动生成表依赖关系图扩展,快速从起始表生成实体关系图,并将所有直接相关的表整合到一个图表中。
在开始新项目时,可能会发现数据库架构由于表的数量庞大而令人生畏,而当前只处理表的一个子集。可能只想将这个表的子集封装到一个图表中,以便在没有其他实体的情况下理解它们之间的关系。虽然可以创建自己的图表,但命名约定可能会引起误解,并且可能会不小心遗漏所有相关表!
本文的范围是传达从SSMS内部开始自动生成子表图表所需的步骤。注意:目前该扩展仅设计为与Microsoft的SQL Server数据库集成。
了解SQL表关系(1:1, 1:M, M:M.自引用)
了解SSMS
有权限将此扩展安装到SQL Server扩展文件夹中。
已授予以下SQL权限:
Grant VIEW ANY DEFINITION to YourUserName;
Grant CREATE TABLE to YourUserName;
对这些表授予SELECT和VIEW权限:
Sys.Foreign_Keys
Sys.Tables
Sys.Foreign_Key_Columns
Sys.Columns
Information_Schema.Tables
Information_Schema.Columns
对这些表执行简单查询,将知道是否需要从数据库管理员那里获得额外权限。
Select * From Information_Schema.Tables
Select * From Sys.Tables
直接从Microsoft的Marketplace下载VSIX文件(这将是更新版本)。注意:仅在这个阶段下载它,下载后不要双击VSIX文件,因为这会尝试将扩展安装到Visual Studio中。
VSIX SSMS版本 - Marketplace下载:
VSIX SSMS 18下载
VSIX SSMS 19下载
VSIX SSMS 20下载
在将VSIX文件复制到环境之前,请关闭并保存SSMS中的任何工作。
将VSIX扩展复制到SSMS的扩展文件夹中(将演示SSMS 19的操作,但对于其他版本的SSMS,相同的操作适用 - 路径可能略有不同)。
SSMS 18扩展文件夹:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions
SSMS 19扩展文件夹:
C:\Program Files (x86)\Microsoft SQL Server Management Studio 19\Common7\IDE\Extensions\
SSMS 20扩展文件夹:
C:\Program Files (x86)\MicrosoftSQL ServerManagement Studio 20\Common7\IDE\Extensions\
将VSIX文件复制到SSMS 19扩展文件夹
要在SSMS中使用扩展,需要解压VSIX文件,但为此需要扩展文件夹的写入权限:
将VSIX文件解压到默认文件夹:
TableDiagramExtension
在
Extensions
文件夹内:
这将创建如下新文件夹:
注意:重启SSMS以获取新扩展。
当连接到SSMS 20时,Microsoft对登录屏幕进行了重大更改,现在必须选择加密选项 - 选择可选以确保扩展按预期工作。对于SSMS 18和19,正常连接即可。
连接到希望生成图表的SQL Server实例。SQL Server实例应在SQL Server Management Objects (SMO)标签中默认选中。
然后点击菜单选项:
Tools
→
Generate Table Relationship Diagram
,以打开图表对话框。
从这里,可以选择SQL数据库,然后根据数据库选择填充表格下拉菜单。
所有非系统相关的数据库将显示。
所有非系统相关的表格将显示。
一旦选择了一个表格作为图表的基础,按钮图表类型将被启用。从这里,可以选择生成一个简单的(紧凑)布局或扩展布局(带数据类型)。
紧凑布局图表示例:
注意:ProductCategory表上的自连接(循环连接器)。
用户可以从拆分按钮中选择扩展布局。
扩展布局图表示例(显示数据类型):
在扩展视图中,还将获得每个实体的数据类型(如果适当,包括长度)。
可以移动/拖动图表上的表格节点,以使图表具有更好的视觉美感。只需单击表格并按住鼠标右键,然后使用鼠标移动表格,连接线将跟随表格。
当出现手形图标(在图表的空白区域上)时,还可以拖动整个图表。
如果希望与团队保存图表或将其保存以供将来参考,只需单击导出拆分按钮并选择希望保存图表的格式,系统将提示保存文件的位置(带有.edd扩展名)。
如果希望获得图表的物理副本,请点击打印按钮,将显示打印预览对话框,从这里可以正常打印。
可以通过(关闭依赖关系图表模态,如果打开)选择该实例的节点树中的对象,然后再次打开
Generate Table Relationship Diagram
从菜单中轻松创建多个SQL Server实例的图表。
Rearrange Table Nodes