Организация связей между таблицами
Исходные таблицы в Access представляют собой обычные плоские таблицы Конечно, они не позволяют формировать иерархические информационные структуры; для данной цели используется аппарат связей между таблицами. Access 2002 дает возможность организовывать и отображать эти связи двумя способами:
• путем создания непосредственных связей между таблицами;
• путем создания вложенных таблиц данных.
Кроме того, в Access 2002, так же как и в Access предыдущих версий, существует довольно мощный аппарат гиперссылок, который применим для формирования таблиц и форм. Мы обсудим возможности использования гиперссылок на примере работы с географическими картами в главе 4.
Создание связей между таблицами
Когда между двумя таблицами устанавливается связь, это означает, что величины из одной таблицы ставятся в соответствие величинам из другой таблицы.
Создавать или изменять связи между открытыми таблицами нельзя, поэтому перед началом работы их следует закрыть. Теперь перейдите в окно базы данных (см. рис. 3.1). Такой переход осуществляется двумя способами. Первый вариант: в режиме просмотра любой формы щелкните по кнопке
на панели базы данных. Другой способ: находясь в любом диалоговом окне Access 2002, воспользуйтесь функциональной клавишей F11. Затем щелкните по кнопке
открывающей схему данных, на панели инструментов. Если в базе данных еще не определено никаких связей, на экран будет выведено окно Добавление таблицы (см. рис. 3.28). Если же в открытую на экране схему данных, пример которой показан на рис. 2.1, необходимо добавить таблицы, которых в этой схеме еще нет, щелкните по кнопке
на панели инструментов открытой схемы данных.
Рис. 3.28
Итак, вы последовательно добавляли все таблицы, то есть помечали их в окне и затем щелкали по клавише Добавить в окне, показанном на рис. 3.28. Теперь закройте это окно с помощью кнопки Закрыть. В результате появится диалоговое окно Схема данных, представленное на рис. 3.29. В этом окне вы должны организовать связи между таблицами. Связи устанавливаются через отдельные, определяемые пользователем поля. Для связывания этих полей надо выбрать поле в одной таблице и перетащить его, наложив на соответствующее поле в другой таблице.
Обычно связывают ключевое поле родительской таблицы (внешний ключ) с соответствующим ему полем в другой, дочерней таблице. Оно часто имеет то же имя, что и первое, но в общем случае это не обязательно. Зато строго обязательными являются следующие условия:
• в одной или в обеих таблицах должно быть поле, принимающее уникальные (не имеющие дублей) значения во всех записях;
• связываемые поля должны иметь одинаковые типы данных. Однако из этого правила есть два исключения:
– поле счетчика разрешается связывать с числовым полем, если в последнем задано значение Длинное целое;
– поле счетчика разрешается связывать с числовым полем, если для обоих полей в свойстве Размер поля задано значение Код репликации;
• связываемые поля числового типа должны иметь одинаковые значения свойства