gpt4 book ai didi

sql - 了解 SQL Server 中数据库所有表之间的关系

转载 作者:太空狗 更新时间:2023-10-30 01:38:34 29 4
gpt4 key购买 nike

我希望所有人都知道我数据库中的表是如何相互关联的(即 PK/FK/UK),因此我在 SQL Server 中创建了我所有表的数据库图。创建的图表不容易阅读,必须滚动(水平和有时垂直)才能看到另一端的表格。

简而言之,在了解许多表之间的关系时,SQL 的数据库图表对 UI 不友好。

我的(简单)问题:是否有像数据库图这样的东西可以做数据库图所做的事情,但是以“好”的方式?

最佳答案

有时,文本表示也可能有帮助;通过对系统目录 View 的查询,您可以获得所有 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 中,您可以根据父表、引用表或其他任何内容进行切片和切 block 。

我发现视觉指南很有帮助 - 但有时,文本文档同样好(甚至更好) - 只需我的 2 美分......

关于sql - 了解 SQL Server 中数据库所有表之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8094156/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com