我希望大家都知道我数据库中的表是如何相互关联的(即PK/FK/UK),因此我在SQL Server中创建了我所有表的数据库关系图.创建的图表不容易阅读,必须滚动(水平,有时垂直)才能看到另一端的表格.
简而言之,在了解多个表之间的关系时,SQL的db图对UI不友好.
我(简单)的问题是:有没有像数据库图这样的东西,可以像数据库图那样,以"好"的方式完成任务?
我希望大家都知道我数据库中的表是如何相互关联的(即PK/FK/UK),因此我在SQL Server中创建了我所有表的数据库关系图.创建的图表不容易阅读,必须滚动(水平,有时垂直)才能看到另一端的表格.
简而言之,在了解多个表之间的关系时,SQL的db图对UI不友好.
我(简单)的问题是:有没有像数据库图这样的东西,可以像数据库图那样,以"好"的方式完成任务?
有时,文本表示也可能有所帮助;通过对系统目录视图的查询,可以获得所有FK关系的列表,以及链接两个表的方式(以及它们操作的列).
SELECT
fk.name 'FK Name',
tp.name 'Parent table',
cp.name, cp.column_id,
tr.name 'Refrenced table',
cr.name, cr.column_id
FROM
sys.foreign_keys fk
INNER JOIN
sys.tables tp ON fk.parent_object_id = tp.object_id
INNER JOIN
sys.tables tr ON fk.referenced_object_id = tr.object_id
INNER JOIN
sys.foreign_key_columns fkc ON fkc.constraint_object_id = fk.object_id
INNER JOIN
sys.columns cp ON fkc.parent_column_id = cp.column_id AND fkc.parent_object_id = cp.object_id
INNER JOIN
sys.columns cr ON fkc.referenced_column_id = cr.column_id AND fkc.referenced_object_id = cr.object_id
ORDER BY
tp.name, cp.column_id
将其转储到Excel中,您可以根据父表、引用表或其他任何内容进行切片和骰子.
我觉得视觉指南很有帮助——但有时,文本文档也一样好(甚至更好)——只有我的2美分.....