Упражнение 5. Связь таблиц
В предыдущем упражнении с помощью мастера подстановок была сформирована связь между двумя таблицами. Такая связь позволяет установить правила взаимодействия между таблицами. Список подстановок можно было организовать и без связи. Но представьте, что вы удалите из таблицы Контакт запись, на которую ссылаются некоторые записи таблицы Список. В такой ситуации останутся описания контактов, фамилии людей в которых потеряны. Наличие правильно организованной связи позволяет избежать подобных неприятностей.
1. Перейдите на вкладку Работа с базами данныхи щелкните на кнопке Схема данныхв группе Показать или скрыть. Откроется окно, схематически изображающее связи базы данных (рис. 11). На рисунке видно, что линия связи соединяет поле Кодтаблицы Контакт с полем Контакттаблицы Список.
Рис. 11.Схема данных
ПРИМЕЧАНИЕ
Данная связь соединяет ключевое и обычное поле. Эта связь типа «один ко многим», когда одной записи таблицы Контакт может соответствовать несколько записей таблицы Список, но не наоборот. |
Для тренировки давайте удалим связь, а затем создадим ее заново.
2. Щелчком выделите линию связи.
3. Нажмите клавишу Delete. В ответ на появившейся запрос щелкните на кнопке Yes. Связь исчезнет.
4. Наведите указатель мыши на пункт Кодтаблицы Контакт.
5. Нажмите кнопку мыши и перетащите указатель на полеКонтакттаблицыСписок.
6. В открывшемся диалоговом окне щелкните на кнопке Создать.
Связь появится вновь. Осталось настроить параметры связи.
7. Дважды щелкните на линии связи. Откроется диалоговое окно, показанное на рис. 12.
Рис. 12.Параметры связи
СОВЕТ
Если таблицы, между которыми нужно организовать связь, в открывшемся окне отсутствуют, щелкните в окне Схема данных правой кнопкой мыши и выберите команду Добавить таблицу. В открывшемся диалоговом окне выделяйте таблицы, которые нужно разместить в окне Схема данных, и щелкайте на кнопке Добавить. Получив все необходимые таблицы, закройте диалоговое окно щелчком на кнопке закрыть. |
8. Установите флажок Обеспечение целостности данных. Это не позволит Access оставлять в таблице Список записи, для которых нельзя подобрать запись таблицы Контакт с подходящим значением поля Код.
9. Установите флажок Каскадное удаление связанных записей.В результате при удалении записи таблицы Контакт (то есть удалении информации о конкретном человеке) будут удалены все соответствующие записи из таблицы Список (то есть все описания контактов с этим человеком). Если указанный флажок сброшен, удаление тех записей таблицы Контакт, на которые ссылается хотя бы одна запись таблицы Список, будет запрещено.
ПРИМЕЧАНИЕ
Установка флажка Каскадное обновление связанных полей приведет к тому, что при обновлении поля Код таблицы Контакт будут автоматически обновляться одноименные поля в соответствующих записях таблицы Список. |
10. Щелкните на кнопке ОК.
11. Закройте окно Схема данных.
12. В области переходов дважды щелкните на значке таблицы Контакт. В открывшемся окне таблицы будут видны небольшие знаки «плюс», расположенные в левой части записей. Их присутствие говорит о наличии связи ключевого поля таблицы с другой таблицей.
13. Щелкните на знаке «плюс» записи для Романа Боброва. Откроется вложенная таблица, содержащая те записи таблицы Список, значение поля Контакт которых равно величине одноименного поля записи для Романа Боброва (рис. 13).
СОВЕТ
При раскрытии фрагмента связанной таблицы знак «плюс» превращается в знак «минус». Чтобы скрыть дополнительную таблицу, щелкните на нем еще раз. |
14. Щелкните еще на каком-нибудь знаке «плюс», и вы увидите описание всех контактов еще с одним человеком. Таким образом, с помощью созданной связи вы можете быстро просматривать в окне таблицы Список описания всех контактов с определенным человеком или группой лиц.