556___________________________________________Глава 10

Задание после объявления поля ключевого слова UNIQUE означает, что значе-
ние этого поля должно быть уникаль.ным и не может быть две записи с идентичны-
ми значениями таких полей.

После объявления поля может задаваться ключевое слово DEFAULT и значе-
ние поля по умолчанию. Например:

CREATE TABLE Pers(

Num smallint Not Null Primary Key,

Dep char(15),

Fam char(20) Not Null,

Nam char(20) Not Null,

Par char(20) Not Null,

Year_b smallint DEFAULT 1950,

Sex char(l) DEFAULT 'м'
) ;

В таблице могут также создаваться вычисляемые поля. Они вводятся заменой
указателя типа поля ключевыми словами COMPUTED BY, после которых следует
выражение, вычисляющее значение поля. Например, оператор

CREATE TABLE Pers(

Num smallint Not Null Primary Key,

Fam char(20) Not Null,

Nam char(20) Not Null,

Par char(20) Not Null,

Year_b smallint DEFAULT 1950,

Age COMPUTED BY (2000 - Year_b)
) ;

создает вычисляемое поле Age, содержащее подсчитываемый по введенному году
рождения возраст сотрудника.

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

CREATE TABLE Pers(

Num smallint Not Null Primary Key,

Fam char(20) Not Null,

Nam char(20) Not Null,

Par char(20) Not Null,

Year_b smallint DEFAULT 1950

CHECK;(Year_bl917)and(Year_b))
) ;

устанавливает ограничение на год рождения: больше 1917 и меньше 1980. Ограни-
чения записываются после ключевого слова CHECK.

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

FOREIGN KEY (список ключей - полей данной таблицы)
REFERENCES имя родительской таблицы

список ключевых полей родительской таблицы
ON DELETE действие
ON UPDATE действие

В этом определении после слов FOREIGN KEY записывается список полей таГ.
лицы, являющихся ключами, по которым данная таблица связывается с головно:

(родительской). Список соответствующих ключевых полей родительской таблиц'
после ключевого слова REFERENCES может опускаться, если ключом являете'
первичный ключ родительской таблицы.

Не обязательные элементы определения ON DELETE и ON UPDATE указыва
ют, какие действия должны выполняться, если запись родительской таблицы уда-
ляется или модифицируется. Возможные значения действий: