Введение в системы управления базами данных

         

Ограничения базы данных



Ограничения базы данных

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

Пример 13. Ограничение целостности ссылок (см. гл. 3), задаваемое внешним ключом отношения, является ограничением базы данных.

Пример 14. Ограничение на таблицы DEPART и PERSON из примера 1 является отношением базы данных, т.к. оно связывает данные, размещенные в различных таблицах.

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

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

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

Ограничения базы данных
отношения
Ограничения базы данных
должен ссылаться на кортеж
Ограничения базы данных
отношения
Ограничения базы данных
, то проверку ограничения ссылочной целостности можно производить сразу после любой из операций вставки, обновления или удаления в любом из отношений
Ограничения базы данных
или
Ограничения базы данных
. В более сложном случае, предположим, что кортеж
Ограничения базы данных
отношения
Ограничения базы данных
должен ссылаться на кортеж
Ограничения базы данных
отношения
Ограничения базы данных
, а кортеж
Ограничения базы данных
отношения
Ограничения базы данных
должен в свою очередь ссылаться на кортеж
Ограничения базы данных
отношения
Ограничения базы данных
(циклическая ссылка). Очевидно, что сразу после вставки кортежа
Ограничения базы данных
отношение
Ограничения базы данных
ссылочная целостность обязательно нарушена, т.к. кортежа
Ограничения базы данных
еще нет в отношении
Ограничения базы данных
. Проверку ссылочной целостности можно провести только посл завершения транзакции, состоящей из последовательности операций:
  1. вставки кортежа
    Ограничения базы данных
    в отношение
    Ограничения базы данных
    с нулевой ссылкой на отношение
    Ограничения базы данных
    ,
  2. вставки кортежа
    Ограничения базы данных
    отношение
    Ограничения базы данных
    со ссылкой на кортеж
    Ограничения базы данных
    отношения
    Ограничения базы данных
    ,
  3. исправления ссылки в кортеже
    Ограничения базы данных
    с NULL на ссылку на кортеж
    Ограничения базы данных
    .

Ограничение, приведенное в примере 1, может быть только ограничением с отложенной проверкой.









Содержание раздела