
Обеспечение целостности данных в базе
Целостность данных подразумевает, что данные, введенные в общее поле двух связанных таблиц, должны совпадать.
Обязательными условиями поддержки целостности данных в приложении Access являются следующие:
-
обе таблицы должны принадлежать одной базе данных
-
связываемые поля имеют одинаковый тип данных, причем имена полей могут быть различными;
-
связанное поле главной таблицы должно быть ключевым или иметь уникальный индекс.
Рассмотрим правила, которые будут поддерживаться программой Access, если используются условия целостности данных:
-
в подчиненную таблицу не может быть добавлена запись с несуществующим в главной таблице значением ключа связи;
-
однако в поле внешнего ключа можно ввести значение Null, чтобы показать, что данная запись не является связанной ни с какой другой записью главной таблицы;
-
в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
-
нельзя изменить значения ключа связи в записи главной таблицы, если в подчиненной таблице имеются связанные с ней записи.
Кроме того, при выборе опции обеспечения целостности в окне Изменение связей доступными становятся еще две опции, которые позволяют активизировать автоматическое выполнение каскадного удаления и каскадного обновления данных.
Установленный флажок каскадное обновление связанных полей означает, что при изменении данных ключевого поля главной таблицы автоматически изменяются соответствующие значения поля в связанных записях.
Если установлен флажок каскадное удаление связанных записей, то при удалении записи в главной таблице будут удалены все связанные записи в подчиненной таблице.
Следует отметить, что если ключевое поле главной таблицы – это поле счетчика, то нет смысла устанавливать флажок каскадное обновление связанных полей, так как значение поля счетчика изменить невозможно.
Редактирование и удаление связей между таблицами
Любая связь, установленная между таблицами, может быть отредактирована. Чтобы изменить существующую связь, необходимо выполнить следующее:
-
Если таблицы, между которыми необходимо изменить связь, открыты, то их нужно закрыть, так как изменять параметры связи между открытыми таблицами нельзя.
-
Выбрать на вкладке Работа с базами данных команду Схема данных (группа Показать или скрыть).
-
В окне Схемы данных дважды щелкнуть на линии объединения, которую необходимо откорректировать. Откроется диалоговое окно Изменение связей, в котором можно изменить опции связей между таблицами и настроить режим обеспечения целостности данных.
-
Внести необходимые изменения и щелкнуть на кнопке ОК.
Для того, чтобы удалить межтабличную связь необходимо выполнить следующее:
-
Щелкнуть на требуемой линии объединения в окне Схема данных (линия при этом станет более жирной) и нажмите клавишу <Delete>.
-
На экране появится диалоговое окно Access, в котором нужно будет подтвердить удаление связи.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
По заданию требуется:
-
Создать таблицы в режиме конструктора на основании созданной ER-диаграммы.
-
Определить тип данных для каждого поля.
-
Установить для каждой таблицы первичный ключ.
-
Создать схему данных для базы данных.
-
Написать отчет по лабораторной работе.
Пример выполнения работы
Задание №1. Создайте пять таблиц в режиме конструктора: Товары, Поставщики, Клиенты, Поступление товара, Выдача товара.