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. Определение проверочных ограничений"