18c0693f

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


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

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

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

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

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

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

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

  • вставки кортежа
    в отношение
    с нулевой ссылкой на отношение
    ,
  • вставки кортежа
    отношение
    со ссылкой на кортеж
    отношения
    ,
  • исправления ссылки в кортеже
    с NULL на ссылку на кортеж
    .

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





    Все публикации раздела