Перейти к содержимому

Как посмотреть связи таблиц sql

  • автор:

Как получить все связи между всеми таблицами в SQL Server?

Есть ли способ получения связей между таблицами в SqlServer? Я пробовал использовать SELECT INFORMATION_SCHEMA.KEY_COLUMN_USAGE , так как этот способ работал в MySQL, но в SQLServer KEY_COLUMN_USAGE не имеет атрибутов REFERENCED_COLUMN_NAME и REFERENCED_TABLE_NAME .

Отслеживать

задан 25 мая 2021 в 18:12

175 9 9 бронзовых знаков

Например, EXEC sp_fkeys ‘TableName’ docs.microsoft.com/ru-ru/sql/relational-databases/… А вообще в базе sys есть дофига интересных таблиц.

25 мая 2021 в 18:19

select * from sys.foreign_keys

Просмотр зависимостей таблицы

Зависимости таблицы можно просмотреть в SQL Server с помощью SQL Server Management Studio или Transact-SQL.

В этом разделе

  • Перед началом работыБезопасность
  • Просмотр зависимостей таблицы с помощью следующих средств:Среда SQL Server Management StudioTransact-SQL

Перед началом

Безопасность

Разрешения

Необходимо разрешение VIEW DEFINITION в базе данных и разрешение SELECT на представление sys.sql_expression_dependencies в базе данных. По умолчанию разрешение SELECT предоставляется только членам предопределенной роли базы данных db_owner. Если разрешения SELECT и VIEW DEFINITION предоставлены другому пользователю, он может просматривать все зависимости в базе данных.

Использование среды SQL Server Management Studio

Просмотр объектов, от которых зависит таблица
  1. В Обозревателе объектовразверните узел Базы данных, разверните саму базу данных, а затем разверните узел Таблицы.
  2. Щелкните таблицу правой кнопкой мыши и выберите Просмотр зависимостей.
  3. В диалоговом окне Имя> объекта Зависимостиобъектов выберите объекты, зависящие отобъекта, или Объекты, от которыхобъекта .
  4. Выберите объект в сетке Зависимости . Тип объекта (например, «Триггер» или «Хранимая процедура») появится в поле Тип .

Использование Transact-SQL

Просмотр объектов, зависящих от таблицы
  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
  2. На стандартной панели выберите пункт Создать запрос.
  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022; GO SELECT * FROM sys.sql_expression_dependencies WHERE referencing_id = OBJECT_ID(N'Production.vProductAndDescription'); GO 
Просмотр зависимостей таблицы
  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
  2. На стандартной панели выберите пункт Создать запрос.
  3. Следующий пример возвращает объекты, которые зависят от таблицы Production.Product . Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022; GO SELECT * FROM sys.sql_expression_dependencies WHERE referenced_id = OBJECT_ID(N'Production.Product'); GO 

Как посмотреть связи таблиц sql

Для просмотра связей между таблицами в SQL можно использовать системную таблицу INFORMATION_SCHEMA . INFORMATION_SCHEMA содержит метаданные о базе данных, включая информацию о таблицах, столбцах и связях.

Чтобы просмотреть связи между таблицами, можно использовать запрос следующего вида:

SELECT tc.constraint_name, tc.table_name, kcu.column_name, ccu.table_name AS foreign_table_name, ccu.column_name AS foreign_column_name FROM information_schema.table_constraints AS tc JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name AND tc.table_schema = kcu.table_schema JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name AND ccu.table_schema = tc.table_schema WHERE tc.constraint_type = 'FOREIGN KEY' AND tc.table_name='имя_таблицы'; 

Здесь имя_таблицы — это имя таблицы, связи которой вы хотите просмотреть.

Этот запрос вернет список всех внешних ключей в таблице, включая имя ключа, имя таблицы, столбец таблицы, связанный с внешним ключом, имя таблицы, связанной с внешним ключом, и соответствующий столбец в этой таблице. Эти данные могут помочь вам понять, как связаны различные таблицы в вашей базе данных.

Как посмотреть связи таблиц sql

Пользуюсь я phpMyAdmin и MySQL-Front

А как можно посмотреть визуально схему данных и связи в БД, т.е. как а Аксесе?

Сообщ. #2 , 25.10.07, 05:29

Full Member
Рейтинг (т): 5
Никак. И помоему Мускул вообще не поддерживает связи таблиц. ))
Сообщ. #3 , 25.10.07, 13:50
Рейтинг (т): 6
Цитата Michail04 @ 25.10.07, 05:29
И помоему Мускул вообще не поддерживает связи таблиц. ))

как это нет связей .
ну вы даете.
Сообщ. #4 , 25.10.07, 18:16
Unregistered
Цитата Michail04 @ 25.10.07, 05:29
Никак. И помоему Мускул вообще не поддерживает связи таблиц. ))

Зачем вы такое говорите?
Сообщ. #5 , 25.10.07, 20:45
Рейтинг (т): 231

По моему Michail04 прав, есть связи в запросе, и я как угодно могу связать таблицы, но нигде ведь не указано что таблица1 связана со второй?

Сообщ. #6 , 26.10.07, 04:43
Рейтинг (т): 6
Цитата Pr0[)!9Y @ 25.10.07, 20:45

По моему Michail04 прав, есть связи в запросе, и я как угодно могу связать таблицы, но нигде ведь не указано что таблица1 связана со второй?

вот я скопировала и поставила БД. В ней есть 2 таблицы.
Я сделала экспорт таблиц в файл *.sql
Вот что там написано:
Структура таблицы `Answers`

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *