Далее показан синтаксис для команды CREATE TABLE, расширенной для включения в нее ограничения:
CREATE TABLE <table name>
( { <column name> <data type> I<size>]
[<colcnstrnt> ...]} .,.. )
[<tabconstrnt>] .,.. )
Элементы, используемые в команде CREATE TABLE
| ЭЛЕМЕНТ
| ОПРЕДЕЛЕНИЕ
|
| <table name>
| Имя таблицы создаваемой этой командой
|
| <column name>
| Имя столбца таблицы
|
| <data type>
| Тип данных, который может содержаться в столбце
Может быть любым из следующих:
INTEGER (ЦЕЛОЕ ЧИСЛО)
CHARACTER (СИМВОЛЬНОЕ)
DECIMAL (ДЕСЯТИЧНОЕ)
NUMERIC (ЧИСЛОВОЕ)
SMALLINT (НАИМЕНЬШЕЕ)
FLOAT (С ПЛАВАЮЩЕЙ ТОЧКОЙ)
REAL (РЕАЛЬНОЕ)
DOUBLE PRECISION (УДВОЕННАЯ ТОЧНОСТЬ С ПЛАВАЮЩЕЙ ТОЧКОЙ)
LONG * (ДЛИННОЕ *)
VARCHAR * (ПЕРЕМЕННОЕ СИМВОЛЬНОЕ) *
DATE (ДАТА *)
TIME (ВРЕМЯ)
( * - указывает на нестандартный для SQL тип данных)
|
| <size>
| Размер. Его значение зависит от <data type>
|
| <colconstrnt>
| Ограничения на столбцы
Может быть любым из следующих:
NOT NULL (НЕ НУЛЕВОЙ),
UNIQUE (УНИКАЛЬНЫЙ),
PRIMARY KEY (ПЕРВИЧНЫЙ КЛЮЧ),
CHECK(<predicate>) (ПРОВЕРКА предиката)
DEFAULT =<value expression> (ПО УМОЛЧАНИЮ = значимому выражению)
REFERENCES <table name>[(<column name> .,.. )] (ССЫЛКА НА имя таблицы [( имя столбца) ])
|
| <tabconstrnt>
| Ограничения на таблицу
Может быть любым из следующих:
UNIQUE (УНИКАЛЬНЫЙ),
PRIMARY KEY (ПЕРВИЧНЫЙ КЛЮЧ),
CHECK(<predicate>) (ПРОВЕРКА предиката)
FOREIGN KEY(<column name>) (ВНЕШНИЙ КЛЮЧ)
REFERENCES <table name>[(<column name> .,.. )] (ССЫЛКА НА имя таблицы [( имя столбца) ])
|
Уникальность - это свойство данных в таблице, и поэтому его более логично назвать как ограничение этих данных, а не просто как свойство логического отличия, связывающее объект данных (индекс).