Установление
связей между таблицами
Теперь нужно
связать новую таблицу Departments (Отделы) с таблицей Employees (Сотрудники).
Для этого щелкните левой кнопкой по области выделения слева от поля Departmentid
(Код отдела) таблицы Departments и перетащите появившийся значок поля на одноименное
поле таблицы Employees. Появится диалоговое окно
Установить связь
(Create
Relationship). В этом окне нужно сбросить флажок
Проверять имеющиеся данные
при создании
(Check existing data on creation), т. к. поле Departmentid
в таблице Employees заведомо будет пустым. Нажмите кнопку
ОК.
Результат
изменений отображается в схеме базы данных. Тот конец связи, который соединен
с таблицей, содержащей первичный ключ, помечается значком ключа. Конец связи,
который соединен с таблицей, содержащей внешний ключ, может помечаться по-разному:
-
для связей "один-к-одному"
он тоже помечается ключом;
-
для связей "один-ко-многим"
он помечается значком "бесконечность".
Если вы подведете
курсор мыши к линии связи, то появится метка связи (Связь 'FK_Employees_Departments'
между 'Departments' и 'Employees').
Настроить
параметры связи можно и с помощью окна свойств. Чтобы открыть это окно, выделите
связь на схеме и нажмите кнопку
Свойства
(Properties) на панели инструментов
или щелкните по связи правой кнопкой мыши и выберите в контекстном меню команду
Свойства
(Properties). Для вновь созданной связи автоматически устанавливается
свойство проверки ссылочной целостности. Эту проверку можно отключить, если
сбросить флажок
Применить связь для INSERT и UPDATE
(Enable relationship
for INSERT and UPDATE) на вкладке
Связи
(Relationship) диалогового окна
Свойства
(Properties).
Возможно создание
на схеме данных рекурсивной связи, т. е. связи между полями одной и той же таблицы.
Примером такой связи является связь в таблице Employees между полями Employeeld
и ReportsTo. Поле ReportsTo играет роль внешнего ключа, т. к. оно содержит идентификатор
сотрудника, перед которым отчитывается данный сотрудник.
Содержание раздела