ВВЕДЕНИЕ В СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

       

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


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

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

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

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

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

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

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

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

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



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