Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
доп.docx
Скачиваний:
37
Добавлен:
26.03.2016
Размер:
115.88 Кб
Скачать

2.10 Проверочные ограничения check.

Проверочные ограничения CHECK обеспечивают целостность домена путем ограничения значений, которые могут быть помещены в столбец.

Аналогично ограничениям внешнего ключа, они управляют значениями, которые присваиваются столбцу. Однако они по-разному определяют допустимые значения: ограничения внешнего ключа получают список допустимых значений из другой таблицы, а проверочные ограничения определяют допустимые значения по логическому выражению, которое не основано на данных в столбце или столбцах.

Например, для того чтобы ограничить интервал значений столбца salary, можно создать проверочное ограничение, позволяющее столбцу принимать значения только в интервале от 15 до 100 тыс. долларов. Это ограничение исключает возможность устанавливать размер зарплаты, отличный от установленного.

Проверочное ограничение можно создать с любым логическим выражением, возвращающим значение TRUE или FALSE на основе логических операторов. Для предыдущего примера логическое выражение будет выглядеть следующим образом:

salary >= 15000 AND salary <= 100000

К одному столбцу можно применять несколько проверочных ограничений. Кроме того, можно применять одно проверочное ограничение к нескольким столбцам. Для этого ограничение нужно создать на уровне таблицы. Например, с помощью проверочного ограничения на несколько столбцов можно подтвердить то, что любая строка со значением USA в столбце country/region может принимать двухсимвольное значение в столбце state. Это позволяет выполнить проверку сразу нескольких условий из одного выражения.

Ограничения CHECK можно создавать как часть определения таблицы при ее создании. Если таблица уже существует, можно добавить ограничение CHECK.

Таблицы и столбцы могут содержать несколько ограничений CHECK.

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

Примечание. Чтобы изменить ограничение CHECK, нужно, прежде всего удалить существующее ограничение CHECK и повторно создать его с новым определением.

2.11 Значения по умолчанию (Default).

Значение по умолчанию определяет значение, автоматически вводимое в соответствующий столбец, в том случае, если пользователь по каким либо причинам его не ввёл.

Значение по умолчанию определяется как свойство соответствующего столбца таблицы.

Каждый столбец записи должен содержать значение, даже если это значение равно NULL. Возможны случаи, когда необходимо поместить данные в таблицу, однако значение какого-либо столбца неизвестно, или же это значение не существует. Если столбец допускает значения NULL, то можно поместить в него значение NULL. Поскольку иногда помещать в столбцы значения NULL нежелательно, лучшим решением может оказаться определение для столбца значения по умолчанию (DEFAULT). Например, для числовых столбцов обычно в качестве значения по умолчанию указывается ноль, а для символьных - значение "н/д".

При загрузке строки в таблицу, имеющую для столбца определение DEFAULT, SQL Server Database Engine неявно выполняет в этот столбец вставку значения по умолчанию, если оно явно не указано.

Если столбец не допускает значений NULL и определение DEFAULT для него отсутствует, необходимо явно указать значение столбца, в противном случае компонент Database Engine возвратит сообщение об ошибке, указывающее, что значения NULL в столбце не допускаются.

Вставляемое в столбец значение определяется совместно определением DEFAULT и возможностью помещать в столбец значения NULL. Сводка результатов при различных комбинациях этих параметров приведена в следующей таблице.

Определение столбца

Значение отсутствует, нет определения DEFAULT

Значение отсутствует, есть определение DEFAULT

Ввод значения NULL

Значения NULL допустимы

NULL

Значение по умолчанию

NULL

Значения NULL запрещены

Ошибка

Значение по умолчанию

Ошибка

Можно создать определение DEFAULT в определении таблицы при ее создании. Если таблица уже существует, можно добавить к ней определение DEFAULT. Каждый столбец таблицы может содержать лишь одно определение DEFAULT.

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

Примечание. Для изменения определения DEFAULT необходимо сначала удалить существующее определение DEFAULT, а затем создать его повторно в новом определении.