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

Откуда:
Сообщений: 48
Подскажите, каким скриптом проверить, правильно ли создана связь между таблицами (один ко многим) ?
Можно примеры ?
5 июл 16, 14:49    [19371239]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Nightingale
Подскажите, каким скриптом проверить, правильно ли создана связь между таблицами (один ко многим) ?
Можно примеры ?


.... откуда серверу знать праильно ли вы ее реализовли в логическом смысле то ? ОН хранит только декларацию связей как вы ее при создании указали sys.foreign_keys
5 июл 16, 14:52    [19371258]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Вы забыли озвучить критерии правильности.
5 июл 16, 14:52    [19371259]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
Nightingale
Member

Откуда:
Сообщений: 48
Надо получить данные из таблицы, что бы понять, правильно ли создана связь между таблицами.

Хорошо, напишу подробнее.
Если 2 таблицы есть.
1 Класс
2 Ученики.

Каким запросом мне вывести результат этих двух таблиц ?
5 июл 16, 14:57    [19371279]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
Nightingale
Надо получить данные из таблицы, что бы понять, правильно ли создана связь между таблицами.

Хорошо, напишу подробнее.
Если 2 таблицы есть.
1 Класс
2 Ученики.

Каким запросом мне вывести результат этих двух таблиц ?
А как это должно выглядеть?

Вот у меня в шкафу стоят две книги. Как мне вывести результат двух книг?
5 июл 16, 15:04    [19371308]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
Nightingale
Member

Откуда:
Сообщений: 48
Да, совершенно верно.
Как отобразить результат из двух таблиц при условии что они связаны между собой?
5 июл 16, 15:10    [19371336]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Nightingale
Да, совершенно верно.
Как отобразить результат из двух таблиц при условии что они связаны между собой?
Написать соответствующий вашим фантазиям отображения запрос.
5 июл 16, 15:11    [19371343]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Maxx
ОН хранит только декларацию связей как вы ее при создании указали sys.foreign_keys
Логические связи никак не зависят от существования констрейнтов, в том числе FOREIGN KEY.
Мне кажется, вся тема относится скорее относится к проектированию БД, реляционной модели данных и т.п.,
а не к SQL
5 июл 16, 15:12    [19371349]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
3unknown
Member

Откуда: New York
Сообщений: 140
select k*,y.*
from класс k 
inner join ученики y on k.class_id = y.class_id

https://www.sql.ru/forum/images/happy.gif
5 июл 16, 15:16    [19371371]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
Nightingale
Member

Откуда:
Сообщений: 48
Спасибо.
А можно еще примеры ?
5 июл 16, 15:24    [19371407]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
Konst_One
Member

Откуда:
Сообщений: 11621
почитайте про join
есть ещё left, например. как раз покажет учеников без классов или классы без учеников, ну уж какие у вас там данные не знаю
5 июл 16, 15:28    [19371435]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
iap
Maxx
ОН хранит только декларацию связей как вы ее при создании указали sys.foreign_keys
Логические связи никак не зависят от существования констрейнтов, в том числе FOREIGN KEY.
Мне кажется, вся тема относится скорее относится к проектированию БД, реляционной модели данных и т.п.,
а не к SQL

так я вроде ето же и написал.....
5 июл 16, 15:37    [19371498]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Maxx
iap
пропущено...
Логические связи никак не зависят от существования констрейнтов, в том числе FOREIGN KEY.
Мне кажется, вся тема относится скорее относится к проектированию БД, реляционной модели данных и т.п.,
а не к SQL

так я вроде ето же и написал.....
Значит, я не понял. Прошу прощения.
5 июл 16, 15:41    [19371529]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
Nightingale
Member

Откуда:
Сообщений: 48
Ок.
Простите за глупый вопрос.
А какой смысл вообще делать связи между таблицами, если можно эти же связи прописывать в запросах ?
5 июл 16, 15:41    [19371534]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Nightingale
Ок.
Простите за глупый вопрос.
А какой смысл вообще делать связи между таблицами, если можно эти же связи прописывать в запросах ?
Связи -- это ограничения, которые контролируют целостность данных.
5 июл 16, 15:42    [19371549]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
Nightingale
А какой смысл вообще делать связи между таблицами, если можно эти же связи прописывать в запросах ?
Связи делаются в логической модели. Ими проектировщик даёт информацию программисту, как писать запросы.
А в физической модели данных нет связей. Есть ограничения типа "внешний ключ", они необходимы для того, что бы в базе не появились неправильные данные. Вот их неправильно называют "связями".
5 июл 16, 16:16    [19371734]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8811
Nightingale
Подскажите, каким скриптом проверить, правильно ли создана связь между таблицами (один ко многим) ?
Можно примеры ?


Правильно что-то сделано или нет определяется сопоставлением ожидаемого результата и фактического. Если вы не знаете - чего ожидать, курите документацию до просветления.
5 июл 16, 17:18    [19372072]     Ответить | Цитировать Сообщить модератору
 Re: проверка связей между таблицами  [new]
982183
Member

Откуда: VL
Сообщений: 3386
Nightingale
Если 2 таблицы есть
1 Класс
2 Ученики.

И что?
Почему надо всё додумывать?

Предположим, что в таблице "класс" есть уникальный код, которой так же присутствует в таблице "ученики",
определяющий принадлежность ученика к классу.
Соответственно единственная проблема , которая у тебя может возникнуть, это код класса в базе "ученики",
отсутствующий в таблице "класс".
Т.Е. несуществующий класс.
Найти такие коды - задача тривиальная.
6 июл 16, 02:18    [19373411]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить