7.2.3. Определение уникального столбца

 

Ограничение целостности UNIQUE предназначено для того, чтобы обеспечить уникальность значений в столбце (или нескольких столбцах). Если столбцу приписан атрибут UNIQUE, это означает, что в столбце не могут содержаться два одинаковых значения.

Для ограничения це­лостности PRIMARYKEY автоматически гарантируется уникальность значений. Однако в каждой таблице можно определить всего один первичный ключ. Если же необходимо дополни­тельно обеспечить уникальность значений еще в одном или более столбцов помимо первичного ключа, то нужно использовать ограничение целостности UNIQUE.

Ограничение целостности UNIQUE, в отличие от PRIMARYKEY, допускает существование значения NULL. При этом к значению NULL также предъявляется требование уни­кальности, поэтому в столбце с ограничением целостности UNIQUE допускается существование лишь единственного значения NULL.

Таким образом, ограничение UNIQUE используется в том случае, когда столбец не входит в состав первичного ключа, но, тем не менее, его значение должно всегда быть уникальным. Например, для таблицы «Дисциплины»первичный ключ строится по номеру дисциплины ID_Дисциплина, введенному для сокращения объема первичного ключа и времени поиска по нему (объем ключа по столбцу типа INTEGERмного меньше объема ключа по символьному полю). Однако и название дисциплины (столбец Наименование)должно быть уникальным, для чего ему приписан атрибут UNIQUE:

CREATE TABLE Дисциплины

(ID_ДисциплинаINTEGER NOT NULL PRIMARY KEY,

Наименование     VARCHAR(20) NOT NULL UNIQUE)

 

Уникальность может быть определена и на уровне таблицы:

 

CREATE TABLE Дисциплины

(ID_ДисциплинаINTEGER NOT NULL,

Наименование     VARCHAR(20) NOT NULL,

PRIMARY KEY   (ID_Дисциплина),

UNIQUE              (Наименование))

 

 

К оглавлению

Назад к разделу "7.2.2. Внешний ключ таблицы"

Вперед к разделу "7.2.4. Определение проверочных ограничений"