Проверяемый текст
Пушников А.Ю. Введение в системы управления базами данных. Учебное пособие / Изд-е Башкирского ун-та. - Уфа, 1999.
[стр. 96]

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

2.1.13 Реализация декларативных ограничений целостности средствами SQL 2.1.13.1 Общие принципы реализации ограничений средствами SQL Стандарт SQL не предусматривает процедурных ограничений целостности, реализуемых при помощи триггеров и хранимых процедур [2, 18, 22].
В стандарте SQL 92 отсутствует понятие "триггер", хотя триггеры имеются во всех промышленных СУБД SQL-типа.
Таким образом, реализация ограничений средствами конкретной СУБД обладает большей гибкостью, нежели с использованием исключительно стандартных средств
[стр. 141]

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

Реализация декларативных ограничений целостности средствами SQL
Общие принципы реализации ограничений средствами SQL Стандарт SQL не предусматривает процедурных ограничений целостности, реализуемых при помощи триггеров и хранимых процедур.
В стандарте SQL 92 отсутствует понятие "триггер", хотя триггеры имеются во всех промышленных СУБД SQL-типа.
Таким образом, реализация ограничений средствами конкретной СУБД обладает большей гибкостью, нежели с использованием исключительно стандартных средств
SQL.
Стандарт SQL позволяет задавать декларативные ограничения следующими способами:  Как ограничения домена.
 Как ограничения, входящие в определение таблицы.
 Как ограничения, хранящиеся в базе данных в виде независимых утверждений (assertion).
Допускаются как немедленно проверяемые, так и ограничения с отложенной проверкой.
Режим проверки отложенных ограничений можно в любой момент изменить так, чтобы ограничение проверялось:

[Back]