УНИКАЛЬНОСТЬ КАК ОГРАНИЧЕНИЕ СТОЛБЦА
Время от времени,
вы хотите убедиться, что все значения введеные в столбец отличаются друг от друга. Например,
первичные ключи
достаточно ясно это показывают. Если вы помещаете ограничение столбца UNIQUE в поле при
создании таблицы, база
данных отклонит любую попытку ввода в это поле для одной из строк, значения, которое уже
представлено в другой
строке. Это ограничение может применяться только к полям которые были обьявлены как непустые
(NOT NULL), так как не
имеет смысла позволить одной строке таблицы иметь значение NULL, а затем исключать другие
строки с NULL
значениями как дубликаты. Имеется дальнейшее усовершенствование нашей команды создания таблицы
Продавцов :
CREATE TABLE Salespeople ( Snum integer NOT NULL UNIQUE, Sname char (10) NOT NULL UNIQUE, city char (10), comm
decimal );
Когда вы обьявляете поле sname уникальным, убедитесь, что две Mary Smith будут введены
различными способами -
например, Mary Smith и M. Smith. В то же время это не так уж необходимо с функциональной
точки зрения - потому что поле
snum в качестве первичного ключа, все равно обеспечит отличие этих двух строк - что проще для
людей использующих
данные в таблицах, чем помнить что эти Smith не идентичны. Столбцы ( не первичные ключи ) чьи
значения требуют
уникальности, называются ключами-кандидатами или уникальными ключами.