Состояния ограничений целостности
Ограничения могут быть определены в различных состояниях, которые позволяют учитывать ситуации, когда данные временно нарушают ограничения.
Ограничение целостности может быть включенным (ENABLE) или отключенным (DISABLE). Если ограничение включено, данные проверяются при выполнении операций ввода и изменений в базе данных. Ограничения препятствуют занесению информации, не удовлетворяющей условиям, заданным в ограничениях. Если ограничение выключено, данные, не удовлетворяющие условиям ограничения, могут быть внесены в базу данных.
Ограничение целостности может находиться в одном из следующих состояний:
отключенное непроверенное (DISABLE NOVALIDATE);
отключенное проверенное (DISABLE VALIDATE);
включенное непроверенное (ENABLE NOVALIDATE);
включенное проверенное (ENABLE VALIDATE).
DISABLE NOVALIDATE (отключенное непроверенное состояние)
Данные, находящиеся в таблице, а также вводимые заново, могут не подчиняться правилам, определяемым в ограничении. Такое состояние часто используется, когда данные были получены из проверенного источника и таблица доступна только на чтение, поэтому в нее не вводятся новые данные.
DISABLE VALIDATE (отключенное проверенное состояние)
Если ограничение находится в этом состоянии, тогда запрещены все изменения столбцов этого ограничения, поскольку это может привести к несогласованности существующих данных или же внесению непроверенных значений. Такое состояние часто используется, когда существующие данные должны быть проверенными, но не должны изменяться в дальнейшем и индекс не нужен для обеспечения производительности.
ENABLE NOVALIDATE (включенное непроверенное состояние)
Если ограничение находится в состоянии "включенное непроверенное", то невозможно ввести новые данные, нарушающие это ограничение. Однако в таблице могут содержаться некорректные данные, т.е. данные, нарушающие это ограничение. Такое состояние часто используется для того, чтобы устранить существующие, а также не добавить новые нарушения ограничения целостности.
ENABLE VALIDATE (включенное непроверенное состояние)
Как новые, так и существующие данные соответствуют ограничению. Это обычное, устанавливаемое по умолчанию состояние ограничения целостности.