96
Фамилия char(10) NOT NULL UNIQUE,
Город char(10),
Комиссионные decimal CHECK (Комиссионные < 1 ));
Использование - CHECK, чтобы предопределять допустимое вводимое
значение
Мы можем также использовать ограничение
CHECK
чтобы защитить от ввода в
поле определенных значений, и таким образом предотвратить ошибку.
Например, предположим, что единствеными городами в которых мы имели
ведомства сбыта являются Лондон, Барселона, Сан Хосе, и Нью Йорк. Если вам
известны все продавцы работающие в каждом из этих ведомств, нет необходимости
позволять ввод других значений. Если же нет, использова ние ограничения может
предотвратить опечатки и другие ошибки.
Пример 8.
Создание таблицы Продавцы и с проверкой значений полей, чтобы
предопределять допустимое вводимое значение
CREATE TABLE Продавцы
( КодПродавца integer NOT NULL PRIMARY KEY,
Фамилия char(10) NOT NULL UNIQUE,
Город char(10)
CHECK (Город IN ('
Лондон ', 'Барселона', '
Сан Хосе ', '
Нью Йорк ')),
Комиссионные decimal CHECK (Комиссионные < 1 ));
Выполните sql-код
. Обновите базу данных и просмотрите созданную таблицу.
Сохраните sql-запрос под именем
Пример8.sql
в папке
ФИО_студента/Лаб4
.
Конечно, если вы собираетесь сделать это, вы должны быть уверены что ваша
компания не открыла уже новых других ведомств сбыта. Большинство программ баз
данных поддерживают команду
ALTER TABLE
, которая позволяет вам изменять
определение таблицы, даже когда она находится в использовании. Однако, изменение
или удаление ограничений не всегда возможно для этих команд, даже там где это вроде
бы поддерживается.
Если вы использовали систему, которая не может удалять ограничения, вы
будете должны создавать (
CREATE
) новую таблицу и передавать информацию из
старой таблицы в нее всякий раз, когда вы хотите изменить ограничение. Конечно же
Вы не захотите делать это часто, и со временем вообще перестанете это делать.
Достарыңызбен бөлісу: