发现 SQL Server 表之间的关系:简单高效
在检查 SQL Server 数据库中表的互连性时,内置由于可读性的限制,数据库图可能会不足。为了解决这个问题,请考虑采用替代方法来提供更清晰的表关系表示。
一个实用的解决方案是利用系统目录视图。以下查询生成外键关系的完整列表,详细说明父表和引用表以及涉及的特定列:
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,用户可以轻松地操作和分析基于父表、引用表或其他相关标准。
虽然视觉表示很有用,但文本文档可以提供相同或更高的清晰度。通过将系统方法与全面的文本文档相结合,数据库管理员可以深入了解其 SQL Server 实例中的表关系。
以上是如何有效地发现和记录 SQL Server 表之间的关系?的详细内容。更多信息请关注PHP中文网其他相关文章!