Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как запросом определить через какие объекты реализована связь двух таблиц?  [new]
Challenger
Member

Откуда: Москва
Сообщений: 408
Господа эксперты, подскажите, пожалуйста.
Работаем с MsSQL2005

Как запросом определить каким образом связаны таблицы tb1 и tb2?
Таблицы связаны много ко многим через одну, а может и несколько таблиц посредников через foreign key.
6 окт 09, 18:02    [7749813]     Ответить | Цитировать Сообщить модератору
 Re: Как запросом определить через какие объекты реализована связь двух таблиц?  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Challenger
каким образом связаны таблицы tb1 и tb2?
Ответ на этот вопрос рекомендую посмотреть в документации по Вашей модели БД
Которую составил Ваш сотрудник, проектировавщий Вашу БД
6 окт 09, 18:04    [7749824]     Ответить | Цитировать Сообщить модератору
 Re: Как запросом определить через какие объекты реализована связь двух таблиц?  [new]
Challenger
Member

Откуда: Москва
Сообщений: 408
Не спрашивал бы здесь, если бы была документация по структуре данного проекта.
6 окт 09, 18:15    [7749904]     Ответить | Цитировать Сообщить модератору
 Re: Как запросом определить через какие объекты реализована связь двух таблиц?  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Ну если Ваш сотрудник не составил доку, попросите его, чтобы рассказал Вам на словах...
6 окт 09, 18:15    [7749913]     Ответить | Цитировать Сообщить модератору
 Re: Как запросом определить через какие объекты реализована связь двух таблиц?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36801
Особенно прикольно искать скриптами связи, которые поддерживаются каким-нибудь триггером, процедурой или ваще клиентским приложением.
6 окт 09, 18:38    [7750055]     Ответить | Цитировать Сообщить модератору
 Re: Как запросом определить через какие объекты реализована связь двух таблиц?  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33339
Блог
Гавриленко Сергей Алексеевич,

Ну все же в задаче присутствуют FK.
А топикстартеру можно начинать изучать теорию графов)
6 окт 09, 19:51    [7750270]     Ответить | Цитировать Сообщить модератору
 Re: Как запросом определить через какие объекты реализована связь двух таблиц?  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Более того, почему вы так уверены, что разработчик БД вааще утруждал себя навешиванием необходимых FOREIGN KEY-ев и написанием вьюшек-"логических сущностей"?

Да, высматривают связи, как физические (FK), так и логические (Dependency), но совершенно в другую сторону - чтоб на анализе документации и текущего кода выявить возможные несоответствия и наличие быдлокодного китайского написания.
6 окт 09, 20:04    [7750297]     Ответить | Цитировать Сообщить модератору
 Re: Как запросом определить через какие объекты реализована связь двух таблиц?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Нужно именно запросом? А то ведь можно тупо добавить обе таблицы в новую диаграмму и для каждой выполнить по правой педали "Add related tables".

Если уж приспичило запросом, то курим sys.foreign_keys.

Сообщение было отредактировано: 6 окт 09, 20:59
6 окт 09, 20:58    [7750404]     Ответить | Цитировать Сообщить модератору
 Re: Как запросом определить через какие объекты реализована связь двух таблиц?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Создайте database diagram, добавьте туда все таблицы и студия сама вам покажет все существующие связи
6 окт 09, 21:16    [7750439]     Ответить | Цитировать Сообщить модератору
 Re: Как запросом определить через какие объекты реализована связь двух таблиц?  [new]
^^
Guest
сейчас дома, поэтому возможности проверить нет.
Но вообще существует процедура sp_depends которая и показывает зависимости для данного объекта.
Ну или можно запустить Profiler и посмотреть что происходит, когда Вы запрашиваете зависимости для этого объекта из его свойств
6 окт 09, 21:25    [7750455]     Ответить | Цитировать Сообщить модератору
 Re: Как запросом определить через какие объекты реализована связь двух таблиц?  [new]
baracs
Member

Откуда: Москва
Сообщений: 7198
^^
Но вообще существует процедура sp_depends которая и показывает зависимости для данного объекта.

Вообще, процедура sp_depends показывает зависимости между таблицами и программируемыми объектами, которые их используют и наоборот (и то, не все).
Зависимости по внешним ключам она не покажет.
7 окт 09, 10:03    [7751554]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить