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

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

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

Что такое первичный ключ?

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

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

Что такое уникальный ключ?

Уникальный ключ — это группа из одного или нескольких полей или столбцов таблицы, которые однозначно идентифицируют запись базы данных.

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

Первичный ключ против уникального ключа – разница между ними

Вот важные различия между первичным ключом и уникальным ключом:

CREATE TABLE Employee
(
ID int PRIMARY KEY, 
Name varchar(255), 
City varchar(150)
)
CREATE TABLE Employee
(
ID int UNIQUE.
Name varchar(255) NOT NULL. City varchar(150)
)
Основной ключ Уникальный ключ
В таблице может быть один первичный ключ В таблице может быть несколько уникальных ключей.
Он не допускает нулевых столбцов. Он допускает нулевые столбцы.
Индекс по умолчанию кластеризован Индекс по умолчанию не кластеризован
Целью первичного ключа является обеспечение целостности объекта. Целью уникального ключа является обеспечение уникальных данных.
Первичный ключ может быть создан с использованием синтаксиса: Уникальный ключ можно создать с помощью синтаксиса:
Это ограничение SQL, которое позволяет однозначно идентифицировать каждую запись или строку в таблице базы данных. Это ограничение SQL, которое не позволяет назначать одно и то же значение двум изолированным записям в таблице базы данных.
В первичном ключе дублирование ключей не допускается. В уникальном ключе, если одна или несколько частей ключа имеют значение NULL, дублирование ключей допускается.

Зачем использовать первичный ключ?

Основной ключ

Вот важные причины использовать первичный ключ:

  • Основная цель первичного ключа — идентифицировать каждую запись в таблице базы данных.
  • Вы можете использовать первичный ключ, если не разрешаете кому-либо вводить нулевые значения.
  • Если вы удалите или обновите запись, будет предпринято указанное вами действие для обеспечения целостности данных базы данных.
  • Выполните операцию ограничения, чтобы отклонить операцию удаления или обновления родительской таблицы.
  • Данные организуются в последовательности кластерного индекса всякий раз, когда вы физически организуете таблицу СУБД.

Зачем использовать уникальный ключ?

Вот важные причины использовать уникальный ключ:

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

Особенности первичного ключа

Вот важные особенности первичного ключа:

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

Особенности уникального ключа

Вот важные особенности уникального ключа:

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

Пример создания первичного ключа

Фоллоwing пример описывает, что существует таблица с именем Student. Он содержит пять атрибутов: 1) StudID, 2) Номер списка, 3) Имя, 4) Фамилия и 5) Email.

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

Пример создания первичного ключа
Пример первичного ключа

Пример создания уникального ключа

Рассмотрим ту же таблицу учащихся с атрибутами: 1) StudID, 2) Номер списка, 3) Имя, 4) Фамилия и 5) Email.

Идентификатор Stud может иметь уникальное ограничение, при котором записи в столбце Stud ID могут быть уникальными, поскольку каждый студент университета должен иметь уникальный идентификационный номер. В случае, если студент меняет университет, в этом случае у него не будет никакого студенческого билета. Запись может иметь нулевое значение, поскольку в ограничении уникального ключа допускается только одно нулевое значение.

Пример создания уникального ключа
Уникальный ключевой пример

Первичный ключ или уникальный ключ: что лучше?

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