Для определения ограничения ссылок (referential constraint definition) используются ограничения FOREIGN KEY и REFERENCES. После ключевых слов FOREIGN KEY в круглых скобках указывается список имен описываемой таблицы (ссылающейся таблицы, • порожденной таблицы). После ключевого слова REFERENCES указывается имя таблицы, которая содержит родительский ключ, и далее в круглых скобках - список столбцов, составляющих этот первичный ключ. В принципе ссылающаяся таблица может быть той же самой таблицей, что и целевая таблица.
Определение проверочного ограничения (check constraint definition) требует, чтобы указанное в нем условие (search condition) было истинным для каждой строки таблицы.
Момент проверки ограничения целостности зависит от конкретной реализации. Стандарт SQL-92 позволяет определить ограничения таким образом, чтобы они не проверялись до завершения текущей транзакции. Вводятся понятия неотложенное и отложенное ограничение целостности. По умолчанию ограничения определяются как неотложенные. Неотложенные ограничения проверяются при выполнении каждого оператора SQL (SQL statement). Если базовая таблица, ассоциированная с ограничением целостности, не удовлетворяет его условию, то оператор SQL не выполняется.
Триггеры. Триггер представляет собой специальную хранимую процедуру, которая не вызывается непосредственно ни из клиентского приложения, ни из другой хранимой процедуры, а неявно активизируется при выполнении той или иной связанной с ним операции (события).
Триггеры обычно ассоциируют с операциями обновления (UPDATE), вставки (INSERT) и удаления (DELETE) в таблице. Триггеры часто используются для задания различных проверок целостности данных при выполнении упомянутых выше операций.
предыдущаяследующая