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

Если на связь между таблицами наложены условия ссылочной целостности, то Access не позволит:

· добавлять в подчиненную таблицу записи с ключом связи, которого нет в записи главной таблицы. Например, нельзя будет добавить в таблицы ПЛАН и ПЛАТЕЖИ записи с кодом предприятия, которого нет в главной таблице ПРЕДПРИЯТИЯ;

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

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

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

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

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

При установке флажка Каскадное обновление связанных полейизменение значения в ключевом поле главной таблицы приводит к автоматическому обновлению соответствующих значений во всех связанных записях. Например, при изменении значения кода предприятия в таблице ПРЕДПРИЯТИЯ будут изменены значения этого кода предприятия в таблицах ПЛАН и ПЛАТЕЖИ.

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

Установить связи между таблицами ПРЕДПРИЯТИЕ – ПЛАН, ПРЕДПРИЯТИЕ – ПЛАТЕЖИ, НАЛОГИ – ПЛАН, НАЛОГИ – СПЕЦИФИКАЦИЯ ПЛАТЕЖЕЙ, ПЛАТЕЖИ – СПЕЦИФИКАЦИЯ ПЛАТЕЖЕЙ.

Поставить флажки Обеспечение целостности данных, Каскадное обновление связанных полей и Каскадное удаление связанных полей. Для всех связей должен быть установлен тип отношения один-ко-многим.

Между таблицами ПЛАТЕЖИ И СПЕЦ-Я ПЛАТЕЖЕЙ связь строится по составному ключу №_ДОК + КОД_ПРЕД.

Для выделения составного ключа нужно нажать клавишуCtrl и, не отпуская ее, отметить кнопкой мыши поля №_ДОК и КОД_ПРЕД таблицы ПЛАТЕЖИ. Соединить выделенные поля с соответствующими полями таблицы СПЕЦ-Я ПЛАТЕЖЕЙ.

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

Обеспечение ссылочной целостности данных - student2.ru

После того, как все связи установлены, схема данных должна иметь вид:

Обеспечение ссылочной целостности данных - student2.ru

Сохранить схему данных.

Замечание: значок ¥ означает отношение много, а 1 – один. Такое обозначение на линиях связей появляется при установке флажка Обеспечение ссылочной целостности.

Наши рекомендации