УНИКАЛЬНЫЙ КЛЮЧ и PRIMARY KEY

Действительно ли объявление является атрибутом таблицы как УНИКАЛЬНЫЙ эквивалент объявлению его как PRIMARY KEY?

большое спасибо!

7
задан APC 16 March 2010 в 06:17
поделиться

5 ответов

Другое: Первичный ключ по умолчанию создает кластерный индекс, и в одной таблице может существовать только один PK. Первичный ключ может охватывать несколько столбцов (составной ключ)

8
ответ дан 6 December 2019 в 05:55
поделиться

Нет, оба не одинаковы, но похожи. Если столбец уникален, он имеет уникальные значения, но также позволяет одно значение Null в этом столбце, но Primary не допускает никаких значений NULL. Первичный ключ можно использовать для ссылки в какой-либо другой таблице.

В таблице может быть только один первичный ключ, но несколько уникальных ключей

Когда вы объявляете ограничение UNIQUE, SQL Server создает индекс UNIQUE, чтобы ускорить процесс поиска дубликатов. В этом случае по умолчанию используется индекс NONCLUSTERED, потому что у вас может быть только один индекс CLUSTERED для каждой таблицы.

  • Количество ограничений UNIQUE для каждой таблицы ограничено количеством индексов в таблице, то есть 249 NONCLUSTERED индекс и один возможный CLUSTERED индекс.

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

Удачного кодирования !!!

4
ответ дан 6 December 2019 в 05:55
поделиться

Нет.

ПЕРВИЧНЫЕ КЛЮЧИ должны быть УНИКАЛЬНЫМИ, но УНИКАЛЬНЫЕ ключи не обязательно должны быть первичными. В таблице можно иметь несколько УНИКАЛЬНЫХ ключей.

Ключевое отличие заключается в том, что ключи PRIMARY не могут иметь значения NULL, так как они должны однозначно идентифицировать строку. Ключи UNIQUE могут быть NULL, а несколько значений NULL разрешены (если вы не используете необычный табличный движок, такой как BDB).

14
ответ дан 6 December 2019 в 05:55
поделиться

Нет. Сделать столбец уникальным очень отличается от того, чтобы сделать его первичным ключом или частью первичного ключа.

0
ответ дан 6 December 2019 в 05:55
поделиться

UNIQUE по-прежнему может быть NULL.

ПЕРВИЧНЫЙ КЛЮЧ означает UNIQUE и НЕ NULL, и в каждой таблице может быть только один ПЕРВИЧНЫЙ КЛЮЧ.

4
ответ дан 6 December 2019 в 05:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: