Разница между первичным ключом и уникальным ключом

Первичный ключ и уникальный ключ являются уникальными ключами в реляционной базе данных, которые гарантируют уникальность значений столбца или набора столбцов. В ограничении первичного ключа уже есть предварительно определенное ограничение уникального ключа. Хотя первичный ключ особенно используется для идентификации каждой записи в таблице, уникальный ключ, с другой стороны, используется для предотвращения дублирования записей в столбце, за исключением пустой записи. Однако оба ключа могут содержать более одного столбца из данной таблицы, и оба они играют важную роль в хранении и получении данных. Данные представляют собой серию таблиц со столбцами, и в этих столбцах хранится информация всех типов, доступ к которой можно получить или получить с помощью инструкций. Это где ключи приходят на картину. Первичный ключ и уникальный ключ - это два уникальных ключа, которые определяют, как данные должны храниться в системе..

Первичный ключ

Первичный ключ (также по первичному ключевому слову) - это уникальный ключ в реляционной базе данных, который идентифицирует каждую запись в таблице базы данных. Это своего рода уникальный идентификатор, такой как номер социального страхования, номер телефона, номер водительского удостоверения или номерной знак транспортного средства. База данных должна иметь только один первичный ключ.

Таблица в базе данных содержит столбец или набор столбцов, которые содержат значения, которые однозначно идентифицируют каждую строку в таблице. Этот столбец или набор столбцов называется первичным ключом таблицы, который должен содержать уникальные значения и не может содержать нулевые значения. Без первичного ключа реляционная база данных не будет работать.

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

Первичный ключ имеет следующие функции:

  • Каждая таблица должна иметь один и только один первичный ключ, не более одного.
  • Первичный ключ не может содержать значения NULL.
  • Может состоять из одного или нескольких столбцов.
  • Все столбцы должны быть определены как NOT NULL.
  • Первичный ключ по умолчанию является кластерным уникальным индексом.

Уникальный ключ

Уникальный ключ - это набор из одного или нескольких столбцов / полей таблицы, которые однозначно идентифицируют запись в таблице базы данных. Ограничение UNIQUE KEY гарантирует, что все значения в столбце уникальны в базе данных. Как и первичный ключ, уникальный ключ также может содержать более одного столбца. Однако уникальный ключ может принимать только одно нулевое значение. В таблице базы данных нет двух одинаковых значений.

Уникальный ключ очень похож на первичный ключ и может быть определен при создании таблицы. Когда столбец или набор столбцов помечаются как уникальные в системе реляционной базы данных, он проверяет целостность значений перед назначением ограничения, чтобы две записи не имели одинаковые значения в определенном столбце..

UNIQUE - это ограничение на столбец без PRIMARY KEY, которое характеризует следующее:

  • Ограничение UNIQUE KEY гарантирует уникальность значений.
  • Несколько уникальных ключей могут быть определены на столе.
  • Столбец может содержать значение NULL, но допускается только одно значение NULL на столбец.
  • Уникальный ключ может создать некластеризованный индекс по умолчанию.

Разница между первичным ключом и уникальным ключом

1. Функция

Первичный ключ является своего рода уникальным идентификатором ключа, который уникально идентифицирует строку в таблице базы данных, в то время как уникальный ключ идентифицирует все возможные строки, которые существуют в таблице, а не только существующие в настоящее время строки.

2. Поведение

Первичный ключ используется для идентификации записи в таблице базы данных, тогда как уникальный ключ используется для предотвращения дублирования значений в столбце, за исключением пустой записи.

3. Индексирование

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

4. Нулевые значения

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

5. Лимит

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

Первичный ключ против уникального ключа

Первичный ключ

Уникальный ключ

Первичный ключ используется для уникальной идентификации записи / строки в таблице базы данных.. Уникальный ключ используется для уникальной идентификации всех возможных строк в таблице, а не только существующих в настоящее время строк.
Он не принимает значения NULL. Может принимать только одно значение NULL в таблице.
По умолчанию это кластеризованный индекс, что означает, что данные организованы в последовательности кластеризованного индекса.. Это уникальный некластеризованный индекс по умолчанию.
В таблице может быть только один первичный ключ. Таблица может иметь несколько уникальных ключей.
Первичный ключ определяется с помощью ограничения PRIMARY KEY. Уникальный ключ представлен с использованием уникального ограничения.
Используется для идентификации строки в таблице. Используется для предотвращения дублирования значений в столбце.
Значения первичного ключа не могут быть изменены или удалены. Уникальные значения ключа могут быть изменены.

Резюме

  • И первичный ключ, и уникальный ключ являются ограничениями целостности сущности, которые во многих отношениях похожи. Тем не менее, они имеют свою долю различий, когда речь заходит о программировании. Оба являются основными понятиями, которые в основном используются в системах управления базами данных..
  • Первичный ключ - это набор из одного или нескольких столбцов / полей таблицы базы данных, которые однозначно идентифицируют запись в таблице. Уникальный ключ, с другой стороны, не позволяет двум записям иметь одинаковые значения в столбце.
  • Концептуально, для данной таблицы может быть только один ПЕРВИЧНЫЙ КЛЮЧ, в то время как для таблицы может быть несколько УНИКАЛЬНЫХ КЛЮЧЕЙ..
  • Первичный ключ должен быть уникальным, но уникальный ключ не обязательно должен быть первичным ключом..
  • Первичный ключ не может принимать значения NULL в таблице, тогда как уникальный ключ может разрешать значения NULL, за исключением только одного NULL в таблице..