Работа со схемами базы данных
Установление связей между таблицами
Теперь нужно связать новую таблицу 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 играет роль внешнего ключа, т. к. оно содержит идентификатор сотрудника, перед которым отчитывается данный сотрудник.
Создание индексов и ограничений
Индексы и ограничения для таблиц в схеме базы данных создаются так же, как это описано ранее в разд. Работа с таблицами данной главы. Для создания в таблице индекса или ограничения необходимо открыть диалоговое окно Свойства (Properties). Создадим индекс для вновь созданного поля DepartmentID (Код отдела) в таблице Employees (Сотрудники). Щелкните правой кнопкой мыши по таблице Employees в окне схемы базы данных и выберите в контекстном меню команду Свойства (Properties) или выделите таблицу Employees и нажмите кнопку Свойства (Properties) на панели инструментов. Появится диалоговое окно Свойства (Properties). Раскройте вкладку Индексы и ключи (Indexes/Keys), нажмите кнопку Создать (New) и создайте новый индекс, как это было описано ранее.
Замечание
Индексы и ограничения не отображаются на схеме базы данных.