<< На Главную     <В  Советы по MS SQL Server

  В этой статье на нашем сайте уже было обсуждение одной важной темы для создании и эксплуатации логически корректных структур баз данных - создание внешнего ключа (FK). Но в разобранном подходе имелся  один  небольшой (особенно для начинающих) недостаток - требовалось знание соответствующих конструкций языка t-sql. К счастью, разработчики MS SQL Server по-видимому продумали этот момент и создали упрощенный инструмент для создания внешнего ключа без написания  скрипта с помощью графического интерфейса. Сейчас аккурат и займемся рассмотрением такого подхода.

 

  

 

Представим, что в случае нашего учебного примера есть база данных, которая описывает работу некой организации. И в табличке Sotrudniki содержится информация о работниках фирмы :

 

 

Далее, предположим, что в поле OtdelId мы должны заносить информацию о том, в каком отделе трудиться специалист. Сама справочная таблица Otdely выглядит сл. образом :

 

 

Вполне естественно, что коды отделов в табличке Сотрудников должны совершенно точно соответствовать кодам из Справочника отделов - иначе есть вероятность того, что в информации о работниках появиться код несуществующего отдела , и по нему не удастся определить,  в каком же подразделении трудиться сотрудник (ох, и достанется же отделу кадров :-) :

 

 

Ну вот, после предварительного разбора ситуации приступаем к делу. Итак, чтобы создать внешний ключ, становимся на нужную таблицу , выбираем раздел Ключи и в контекстном меню кликаем по Создать внешний ключ  :

 

Создать внешний ключ MS SQL дизайнером

 

В следующей форме жмем на кнопку выбора в свойствах Спецификация таблиц и столбцов ... :

 

 

... и устанавливаем соответствие (связь)  между столбцами приблизительно так для случая нашего примера :

 

 

И здесь нас может подстерегать одна небольшая проблемка :

 

 

 

Дело в том, что первичный ключ в таблице-справочнике ( в данном случае Отделов) должен быть обязательно первичным ключом ! Займемся устранением этого недостатка - идем в конструктор таблицы Otdely   и  в поле столбца id в контекстном меню выбираем Задать первичный ключ :

 

 

После такой нехитрой манипуляции структура таблицы приобретет сл. вид :

 

 

Придется заново повторить всю процедуру создания внешнего ключа - теперь проблем быть не должно :

 

 

В конце не забываем сохранить результаты ! :

 

 

Смотрим на результат  - в разделе Ключи должен появится созданный с помощью мастера внешний ключ :

 

В общем, как видите, успешно создали внешний ключ и не написали ни одной строчки скрипта !

 

Что характерно. Существует еще один подход к процедуре генерации внешнего ключа через отношения  . С точки зрения графического интерфейса это можно сделать сл. образом - в конструкторе таблиц выбираем нужный столбец  и жмем кнопку Отношения (обведено красным):

 

 

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

 

О создании внешнего ключа пока всё. Удачи !

 

Еще несколько полезных советов по работе с MS SQL Server можно посмотреть в этом разделе

Simashkov.2017

28.02.2017 г.

Назад