Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТУ_лаба №1.doc
Скачиваний:
4
Добавлен:
09.11.2019
Размер:
2.15 Mб
Скачать

1.2.3. Обеспечение ссылочной целостности

Обеспечение ссылочной целостности данных является важным средством Access . Немногие системы управления базами данных для персональных компьютеров позволяют обеспечивать ссылочную целостность. Если на связь между таблицами наложены условия ссылочной целостности, то Access не позволяет добавлять в связанную таблицу записи, для которых нет соответствующих записей в главной таблице, и изменять записи в главной таблице таким образом, что после этого в связанной таблице появятся записи, не имеющие главных записей; а также удалять записи в главной таблице, для которых имеются подчиненные записи в связанной таблице. Например, в таблицу "Персональные мероприятия" не может быть добавлена запись, в поле "КодСотрудника" которой содержится значение 10 (в таблице "Сотрудники" хранятся сведения только о 9 сотрудниках). Такую запись можно добавить только после приема очередного сотрудника на работу (и внесения информации о нем в таблицу "Сотрудники").

Средства обеспечения ссылочной целостности

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

Режимы каскадного обновления и каскадного удаления

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

Выбор ключа таблицы

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

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