Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Уникальность как ограничение столбца

Время от времени, вы хотите убедиться, что все значения, введенные в столбец, отличаются друг от друга. Например, первичные ключи достаточно ясно это показывают. Если вы помещаете ограничение столбца 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 не идентичны. Столбцы ( не первичные ключи ), чьи значения требуют уникальности, называются ключами-кандидатами или уникальными ключами.