(какие еще типы полей есть в SQL server? – обращайтесь к Books
Online)
NULL – специальное “неопределенное” значение,
предусмотренное стандартом SQL. Ограничение NULL/NOT NULL
служит для указания, что данный тип поля допускает/запрещает ввод
NULL-значений.
PRIMARY KEY – ограничение, указывающее, что в данной
таблице данное поле представляет собой первичный ключ (составной
первичный ключ таким образом объявлять нельзя!). При
использовании этого ограничения создается первичный индекс.
UNIQUE – ограничение, указывающее, что в данном поле могут
храниться только уникальные значения. При использовании этого
ограничения создается уникальный индекс.
IDENTITY начальное_значение, приращение – ограничение,
указывающее, что данное поле представляет собой счетчик, т.е,
значения в данное поле вставляются автоматически с нарастанием
при вставке строки. Если “начальное_значение” и “приращение”
пропущены, они полагаются равными 1.
DEFAULT умолчание – очевидно, значение по умолчанию, т.е.,
значение, которое присваивается данному полю, если при вставке
новой строки этому полю не было явно присвоено некоторое
значение.
CHECK (условие)- условие на поле, которое будет проверяться
при вводе новых строк.
Например, в таблице “Предприятия” номер предприятия будет
первичным ключом и счетчиком, название фирмы не допускает
значений NULL:
CREATE TABLE k_firm
(firm_num NUMERIC(6) IDENTITY PRIMARY KEY,
firm_name VARCHAR(100) NOT NULL,
firm_addr VARCHAR(100)
);
В таблице “Договоры” для поля даты договора задается
значение по умолчанию – текущая дата, для типа договора задается
условие, что он должен принадлежать заданному списку значений.
CREATE TABLE k_contract
(contract_num NUMERIC(6) IDENTITY PRIMARY KEY,
contract_date DATETIME DEFAULT GETDATE(),
contract_type CHAR(1)
CHECK (contract_type IN ('A','B','C')),
firm_num NUMERIC(6) NOT NULL,
staff_num NUMERIC(6)