Определение проверочных ограничений

Ограничение целостности CHECKзадает диапазон возможных значений для столбца. Например, если в столбце хранится процентное значение, то необходимо гарантировать, что оно будет лежать в пределах от 0 до 100. Для этого можно использовать тип данных, допускающий хранение целых значений в диапазоне от 0 до 255, совместно с ограничением целостности СНЕСК, которое будет обеспечивать соответствующую проверку значений.

Преимуществом ограничения целостности СНЕСКявляется возможность определения для одного столбца множества правил контроля значений.

В основе ограничения целостности СНЕСКлежит проверка логического выражения, которое возвращает значение TRUE (истина) либо значение FALSE (ложь). Если возвращается значение TRUE, то ограничение целостности выполняется, и операция изменения или вставки данных разрешается. Когда же возвращается значение FALSE, то операция изменения или вставки данных отменяется.

Например, для обеспечения правильности задания значения для столбца Семестр в таблице «Учебный план» (оно должно находиться в диапазоне от 1 до 10) можно использовать следующее логическое выражение:

 

((Семестр >= 1) OR (Семестр <= 10) ) )

 

Ограничение целостности при этом может быть задано на уровне столбца:

 

Семестр INTEGER NOT NULL СНЕСК ((Семестр >= 1) OR (Семестр . <= 10)))

 

Или на уровне таблицы:

 

СНЕСК ((Семестр >= 1) OR (Семестр <= 10) ) )

 

Как уже было сказано, допускается применение нескольких ограничений СНЕСК кодному и тому же столбцу. В этом случае они будут применены в той последовательности, в какой они указаны в инструкции.