Визуализация связей таблиц в SQL Server

GuDron

dumpz.ws
Admin
Регистрация
28 Янв 2020
Сообщения
8,719
Реакции
1,500
Credits
29,676
Визуализация связей таблиц в SQL Server
photo_2024-10-29_14-04-43.jpg
Выявить связи между таблицами в SQL Server можно обратившись к системным представлениям. Представленный ниже запрос вернёт информацию о всех внешних ключах:
SQL:
SELECT
    fk.name AS ForeignKey,
    tp.name AS ParentTable,
    cp.name AS ParentColumn,
    tr.name AS ReferencedTable,
    cr.name AS ReferencedColumn
FROM
    sys.foreign_keys AS fk     
INNER JOIN
    sys.tables AS tp ON fk.parent_object_id = tp.object_id
INNER JOIN
    sys.tables AS tr ON fk.referenced_object_id = tr.object_id
INNER JOIN
    sys.foreign_key_columns AS fkc ON fkc.constraint_object_id = fk.object_id
INNER JOIN
    sys.columns AS cp ON fkc.parent_column_id = cp.column_id AND fkc.parent_object_id = cp.object_id
INNER JOIN
    sys.columns AS cr ON fkc.referenced_column_id = cr.column_id AND fkc.referenced_object_id = cr.object_id
Выполнение этого запроса позволит получить карту взаимосвязей, отображающую каждый внешний ключ, связанную с ним таблицу, её столбец, таблицу-референт и столбец в ней. Это отличный инструмент для комплексного анализа структуры базы данных.