Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетБДПос(Лобова)!!.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
3.51 Mб
Скачать

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

Если связываемые в схеме данных таблицы находятся в отношении 1:1 и 1:М, для связи можно задать параметр обеспечения связной целостности данных. Обеспечение связной целостности данных означает, что Access при корректировке базы данных обеспечивает для связанных таблиц контроль за соблюдением следующих условий:

  1. в подчиненную таблицу не может быть добавлена запись с несуществующим в записях главной таблицы значением ключа связи;

  2. в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;

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

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

  1. связываемые поля имеют одинаковый тип данных, причем имена полей могут быть различными;

  2. обе таблицы сохраняются в одной базе данных Access;

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

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

Рисунок 5.5. Окно сообщения

3.6Каскадное обновление и удаление связанных записей

На Рисунок 5.6. показана схема базы данных "Склад".

Рисунок 5.6. Схема данных базы данных "Склад"

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

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

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