Визуализация связей таблиц в SQL Server: альтернативы
Пройдите тест, узнайте какой профессии подходите
Быстрый ответ
Выявить связи между таблицами в SQL Server можно обратившись к системным представлениям. Представленный ниже запрос вернёт информацию о всех внешних ключах:
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
Выполнение этого запроса позволит получить карту взаимосвязей, отображающую каждый внешний ключ, связанную с ним таблицу, её столбец, таблицу-референт и столбец в ней. Это отличный инструмент для комплексного анализа структуры базы данных.
Экспорт данных в Excel для глубокого анализа
Для проведения более детального анализа отношений между таблицами полезно будет экспортировать результаты выполнения SQL-запроса в Excel:
- Выполните запрос в SSMS.
- Кликните правой кнопкой мыши по результатам и выберите "Копировать с заголовками".
- Вставьте скопированные данные в Excel и примените к ним фильтры, создайте сводные таблицы для анализа.
В итоге вы сможете переключаться между своими таблицами, как крольчонок между туалетом и грядками (здесь имеется в виду некий игровой контекст: кролик, таблицы, огород 😄).
Работа с текстовой документацией
Текстовая документация по таблицам — это ваша сетка безопасности. Важность её незаметна, пока действительно не понадобится. В некоторых случаях она может быть просто незаменимой, например, при работе со сложной структурой базы данных или когда нет возможности использовать графические инструменты.
Выбор правильных инструментов для работы
Оптимальный набор инструментов – залог эффективной работы с базами данных:
- Microsoft Visio – ваш навигатор по базам данных, помогающий визуализировать их структуру.
- Schemacrawler позволит видеть основные связи PK/FK/UK.
- Собственные хранимые процедуры – это ваши проводники по миру взаимосвязей в иерархической структуре.
Совмещение документации и визуализации
Текстовая документация и визуальные схемы дополняют друг друга, предоставляя всеобъемлющее представление о структуре баз данных, как идеальное сочетание рыбы с картошкой фри.
Визуализация
Вспомним аналогию: если таблицы баз данных – это улицы города, то:
🏢 Таблица A ---- 🚦 ---- 🏬 Таблица B
| |
🚏 🚏
| |
🏭 Таблица C ---- 🚥 ---- 🏦 Таблица D
Перекрёстки символизируют связующие таблицы внешние ключи, регулирующие правильное перемещение данных.
Углубляемся в отношения баз данных
Применение INFO SCHEMA для сложных запросов
Расширьте своё понимание структуры баз данных, применив запросы к INFORMATION_SCHEMA
:
SELECT
CONSTRAINT_NAME,
TABLE_NAME,
COLUMN_NAME,
REFERENCED_TABLE_NAME,
REFERENCED_COLUMN_NAME
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
TABLE_SCHEMA = 'YourSchemaName';
Разбор рекурсивных отношений
В сложных рекурсивных взаимоотношениях ценным станут рекурсивные общие табличные выражения (CTE).
Настройка визуальных и текстовых представлений
Подстройка представления данных под конкретные потребности позволит сбалансировать использование графических схем и чётких текстовых описаний.