Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
19. ACCESS Связи между таблицами.docx
Скачиваний:
4
Добавлен:
27.09.2019
Размер:
54.57 Кб
Скачать

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

  1. В диалоговом окне Изменение связей нажмите кнопку Тип соединения.

Откроется диалоговое окно Параметры соединения.

  1. Выберите нужные параметры и нажмите кнопку ОК.

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

ВАРИАНТ

РЕЛЯЦИОННОЕ СОЕДИНЕНИЕ

ЛЕВАЯ ТАБЛИЦА

ПРАВАЯ ТАБЛИЦА

1. Объединение только тех записей, в которых связанные поля обеих таблиц совпадают.

Внутреннее соединение

Сопоставленные строки

Сопоставленные строки

2. Объединение ВСЕХ записей из таблицы "Клиенты" и только тех записей из таблицы "Заказы", в которых связанные поля совпадают.

Левое внешнее соединение

Все строки

Сопоставленные строки

3. Объединение ВСЕХ записей из таблицы "Заказы" и только тех записей из таблицы "Клиенты", в которых связанные поля совпадают.

Правое внешнее соединение

Сопоставленные строки

Все строки

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

ИЗМЕНЕНИЯ В ДИАЛОГОВОМ ОКНЕ ПАРАМЕТРЫ СОЕДИНЕНИЯ

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

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

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

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

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

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

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

  1. Нажмите кнопку Тип соединения.

  2. В диалоговом окне Параметры соединения выберите нужный параметр и нажмите кнопку ОК.

  3. Внесите в связь необходимые изменения и нажмите кнопку ОК.

 К НАЧАЛУ СТРАНИЦЫ

Обеспечение целостности данных

Цель сохранения целостности данных состоит в недопущении появления потерянных записей и поддержании ссылок в синхронизированном состоянии, чтобы исключить появление записей со ссылками на несуществующие записи. Целостность данных обеспечивается при ее включении во время создания связи между таблицами. Если однажды обеспечить целостность данных, Access будет отклонять обновления, изменяющие целевой объект ссылки, и операции удаления, удаляющие его. Сведения о том, как обеспечить в Access обновление и удаление ссылок с соответствующим изменением всех связанных строк, см. в разделе Задание каскадных параметров.

ВКЛЮЧЕНИЕ И ОТКЛЮЧЕНИЕ ОБЕСПЕЧЕНИЯ ЦЕЛОСТНОСТИ ДАННЫХ

  1. В окне "Схема данных" щелкните линию связи, которую требуется изменить. При выделении линия связи становится толще.

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

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

  1. Установите флажок Обеспечение целостности данных.

  2. Внесите в связь необходимые изменения и нажмите кнопку ОК.

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

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

  • Не допускается удаление записи из главной таблицы, если в подчиненной таблице существуют связанные с ней записи. Например, невозможно удалить запись из таблицы "Сотрудники", если в таблице "Заказы" имеются заказы, относящиеся к данному сотруднику. Тем не менее, можно удалить главную запись и все связанные записи одним действием, установив флажок Каскадное удаление связанных записей.

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

 ПРИМЕЧАНИЯ 

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

  • Общее поле главной таблицы должно быть первичным ключом или иметь уникальный индекс.

  • Общие поля должны иметь одинаковый тип данных. Единственное исключение — поле типа "Счетчик" можно связать с полем типа "Числовой", если его свойство Размер поля имеет значение Длинное целое.

  • Обе таблицы должны находиться в одной базе данных Access. Целостность данных нельзя обеспечить для связанных таблиц. Но если исходные таблицы представлены в формате Access, можно открыть базу данных, в которой они хранятся, и обеспечить целостность данных в этой базе данных.

ЗАДАНИЕ КАСКАДНЫХ ПАРАМЕТРОВ

Может потребоваться изменить значение на стороне связи "один". В этом случае необходимо, чтобы приложение Access автоматически выполнило обновление всех задействованных строк за одну операцию. Так обновление будет полностью завершено и база данных не останется в несогласованном состоянии, когда одни строки обновлены, а другие — нет. Избежать проблемы несогласованного изменения в Access можно с помощью параметра "Каскадное обновление связанных полей". Если при обеспечении целостности данных выбрать этот параметр, а затем обновить первичный ключ, Access автоматически обновит все поля, ссылающиеся на этот первичный ключ.

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

ВКЛЮЧЕНИЕ И ОТКЛЮЧЕНИЕ КАСКАДНОГО ОБНОВЛЕНИЯ И КАСКАДНОГО УДАЛЕНИЯ

  1. В окне "Схема данных" щелкните линию связи, которую требуется изменить. При выделении линия связи становится толще.

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

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

  1. Установите флажок Обеспечение целостности данных.

  2. Установите флажок Каскадное обновление связанных полей или флажок Каскадное удаление связанных записей либо оба.

  3. Внесите в связь необходимые изменения и нажмите кнопку ОК.

 ПРИМЕЧАНИЕ.   Если первичным ключом является поле "Счетчик", установка флажка Каскадное обновление связанных полей не произведет никакого эффекта, поскольку изменить значение поля "Счетчик" нельзя.