Целостность базы данных

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

Функционирование целостности данных строго основано на ключевых полях. В РБД, прежде всего, должно обеспечиваться требование целостности данных по ссылкам, которое состоит в том, что для каждого значения внешнего ключа (ВК) подчиненного отношения в основном (главном) отношении должен найтись кортеж (запись) с таким же значением первичного ключа (ПК). В противном случае значение ВК должно содержать значение Null, то есть быть неопределенным (ни на что не указывать). Это ограничение в РСУБД, как правило, поддерживается автоматически.

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

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

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

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

Установление между двумя таблицами связи типа 1:1 или 1:М и задание параметров целостности данных возможно при следующих условиях:

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

· таблицы хранятся в одной БД;

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: