Иллюстрированный самоучитель по Microsoft Access 2003

Использование взаимосвязей

Различные типы связей

В предыдущем разделе была представлена новая концепция связи типа "один-множество", установленной между таблицами Растения и Каталоги. Всего существует три типа связей, подробное описание которых выходит за рамки данной книги, поэтому ограничимся лишь поверхностным знакомством с ними.

  • Отношение "один-к-одному" – в обеих таблицах связана только одна запись. Связи такого рода встречаются нечасто.
  • Отношение "один-ко-многим" – наиболее популярный тип связей. Каждая запись в таблице первичного ключа может быть соединена со множеством записей во взаимосвязанной таблице. Например, каждый каталог может быть связан с несколькими записями в таблице Растения, однако каждое растение при этом будет связано только с одним каталогом.
  • Отношение "множество-множество" – в обеих таблицах существует несколько взаимосвязанных записей. К примеру, для описания цвета каждого растения можно добавить таблицу цветов. Каждый цвет будет связан с несколькими растениями, в то время как каждое растение может иметь несколько цветов.

Пока что не стоит задумываться о различиях типов связей, ведь Access проделывает немалую работу для автоматической обработки связей между таблицами.

Изменение связи

Мы уже умеем создавать связь, а теперь попробуем ее изменить. При этом мы воспользуемся принципом целостности данных для обеспечения связи между таблицами Растения и Типы. Под целостностью данных будем подразумевать набор правил, защищающих данные от бессмысленных изменений. Возьмем, к примеру, связь между растениями и типами. Что, если удалить первую строку из таблицы Типы? Мы не сможем просмотреть описание растений с номером типа, равным 1. Именно здесь "придет на помощь" функция целостности связей, которая сейчас будет использоваться с уже существующей связью.

Откройте диалоговое окно Изменение связей, дважды щелкнув на связи между таблицами Растения и Типы. Установите флажок Обеспечение целостности данных и щелкните на кнопке ОК (а не на кнопке Создать, как это делалось нами ранее – см. рис. 6.13).

В результате изменения связи между таблицами Растения и Типы соответствующим образом изменится и внешний вид соединительной линии (рис. 6.15). Как видите, связь между таблицами представляет собой отношение "один-ко-многим" с поддержкой функции целостности связи.

Иллюстрированный самоучитель по Microsoft Access 2003 › Использование взаимосвязей
Рис. 6.15. Обновленная соединительная линия между таблицами Растения и Типы

В диалоговом окне Изменение связей имеется еще несколько элементов управления (см. рис. 6.13). Рассмотрим их предназначение.

  • В списке Таблица/запрос – всегда указывается первичный ключ связи. С его помощью можно указать соответствующее поле(я) ключа в ячейках, расположенных ниже списка. Как правило, Access самостоятельно определяет корректные значения.
  • В списке Связанная таблица/запрос – всегда указывается внешний ключ связи. С его помощью можно определить соответствующее поле(я) в ячейках ниже списка. Как правило, Access также самостоятельно определяет корректные значения.
  • Кнопка Объединение – щелчок на ней выводит на экран еще одно диалоговое окно, в котором можно изменить тип соединения. Эта операция нами применяться не будет.
  • Кнопка Новое – позволяет связать несколько ключей полей (более подробная информация о первичных и внешних ключах представлена в главе 4).
  • Флажок каскадное обновление связанных полей – обеспечивает целостность данных, возможную только при условии установки соответствующего флажка. Позволяет автоматически обновить все значения связанного внешнего ключа при изменении значения главного первичного ключа. Лишь в случае крайней необходимости рекомендуется использовать эту функцию.
  • Флажок каскадное удаление связанных полей – обеспечивает целостность данных, возможную только при условии установления флажка Обеспечение целостности данных. Позволяет автоматически удалить все записи связанного внешнего ключа при удалении записи первичного ключа. Рекомендуется использовать лишь в случае необходимости.
  • Поле Тип отношения – определяет тип связи между таблицами.

Закройте окно Схема данных и щелкните на кнопке Да, чтобы подтвердить корректность внесенных изменений.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.