Создание связей
Каждая БД представляет обычно несколько таблиц, число которых может доходить, в общем случае, до десятков и сотен. При этом часто оказывается, что в разных таблицах хранятся одинаковые данные. Пример: таблицы Служащий и Отдел включают одинаковые поля Отдел (рис.2.2). В этом случае контроль заполнения данного поля в таблице Служащий путем создания поля-списка нецелесообразен, так как изменение названий отдела в таблице Отдел потребует модификации поля-списка, т.е. изменения необходимо производить сразу в двух таблицах. В то же время связывание этих полей устраняет данную проблему, т.е. изменения таблицу Отдел автоматически будет проявляться при заполнении таблицы Служащий. СЛУЖАЩИЙ
ОТДЕЛ
Рисунок 2.2 – Связи между таблицами «Служащий» и «Отдел»
Для связывания полей необязательно совпадение их имен (например, они могут называться в одной таблице как Отдел, а в другой – Код отдела), но обязательно совпадение их типов. Связи между таблицами можно устанавливать двумя путями. Первый путь – графический. Следует выбрать в главной таблице поле для связи, нажать левую кнопку мыши и перетащить поле во вторую таблицу. Отпустить левую кнопку мыши над тем полем подчиненной таблицы, с которым устанавливается связь. Второй путь – выбрать команду Изменить связь. Эта команда появляется в меню, когда открыто окно Схема данных, которое располагается на панели Связи. В диалоговом окне Изменение связей можно выбрать из списка названия связанных таблиц и полей для связывания. Если отношение между таблицами «один-ко-многим», то слева из списка Таблица/запрос выбирается главная таблица и поле в этой таблице, а справа из списка Связанная таблица/запрос – подчиненная и соответственно поле в ней. Если отношение «один-к-одному», то порядок таблиц значения не имеет. Если вы уже устанавливали связь графически, то все поля в списке уже выбраны, и нужно только определить правила ссылочной целостности. Для этого устанавливают флажок Обеспечение целостности данных. Когда создается новая связь, можно также воспользоваться кнопкой Новое и в окне Создание ввести имена связываемых таблиц и имена полей, используемых для связи. Нажать кнопку ОК.
Практическое задание: Создать в таблице Сотрудники 3 подстановочных поля: Код отдела, Код должности и Код семейного положения, связав их через мастер подстановки соответственно с таблицами отдел, Должность и Семейное положение. Сделать поля Код отдела, Фамилия + имя + отчество, Оклад индексными. Открыть схему данных, изменить связи, установив атрибуты: обеспечение целостности данных, каскадное удаление и каскадное обновление записей. Заполнить таблицы – справочники, добавив 5 должностей, 3 отдела, семейное положение. Заполнить таблицу Сотрудники 10-ю записями. Лабораторная работа №2. Поиск информации в базе данных. Запросы к базе данных
|