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

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

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

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

Реализация декларативных ограничений целостности средствами SQL Общие принципы реализации ограничений средствами SQL Стандарт SQL не предусматривает процедурных ограничений целостности, реализуемых при помощи триггеров и хранимых процедур.

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

[Back]