Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
с 31-34.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
285.18 Кб
Скачать

Изменение связи между таблицами

Чтобы изменить связь между таблицами, нужно сначала выбрать ее в окне "Схема данных". Осторожно разместите курсор так, чтобы он указывал на линию связи, а затем щелкните ее. Выделенная линия связи станет жирной. Когда линия связи будет выделена, дважды щелкните ее или выберите пункт Изменить связи в группе Сервис на вкладке Конструктор. Будет открыто диалоговое окно Изменение связей.

Внесите изменения в диалоговом окне Изменение связей.

  1. На вкладке Работа с базами данных в группе Схема данных щелкните элемент Схема данных.

Откроется окно "Схема данных". Если в базе данных еще не определены связи и окно "Схема данных" вызывается впервые, откроется диалоговое окно Добавление таблицы. Нажмите в нем кнопку Закрыть.

  • На вкладке Конструктор в группе Связи щелкните Все связи.

  1. Появятся все таблицы со связями, а также соответствующие линии.

  2. Щелкните линию связи, которую требуется изменить. При выделении линия связи становится толще.

  3. Дважды щелкните линию связи.

  4. Внесите изменения и нажмите кнопку ОК.

С помощью диалогового окна Изменение связей можно изменить связь между таблицами (например, таблицы, запросы или поля на любой стороне связи). Можно также задать тип соединения или включить обеспечение целостности данных и выбрать каскадный параметр. Дополнительные сведения о типе соединения и его использовании см. в разделе Указание типа соединения. Дополнительные сведения об обеспечении целостности данных и выборе каскадного параметра см. в разделе Обеспечение целостности данных.

Указание типа соединения

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

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

Для каждой связи можно задать тип соединения. Тип соединения сообщает Access, какие записи включить в результат запроса. Например, снова рассмотрим запрос, объединяющий таблицы "Клиенты" и "Заказы" по общим полям, представляющим поле "Код клиента". При использовании типа соединения по умолчанию (называемого внутренним соединением) запрос возвращает только те строки таблиц "Клиенты" и "Заказы", в которых общие поля (также называемые связанными полями) совпадают.

Предположим, в результаты требуется включить всех клиентов — даже тех, которые еще не сделали ни одного заказа. Для этого нужно изменить тип соединения с внутреннего на внешний. Левое внешнее соединение возвращает все строки таблицы с левой стороны связи и только совпадающие строки таблицы с правой стороны. При использовании правого внешнего соединения возвращаются все строки с правой стороны связи и только совпадающие с левой.

 Примечание.   В этом случае термины "слева" и "справа" относятся к положению таблиц в диалоговом окне Изменение связей, а не в окне "Схема данных".

Следует определить, какие результаты наиболее часто требуются от запроса, соединяющего таблицы в конкретной связи, и в соответствии с этим выбрать тип соединения.