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

Опубликовано: 11 Августа, 2021

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

Для лучшего понимания первичного ключа мы берем таблицу с именем Student table, имеющую такие атрибуты, как Roll_number, Name, Batch, Phone_number, Citizen_ID.

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

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

Для лучшего понимания уникального ключа мы берем таблицу Student с атрибутами Roll_number, Name, Batch, Phone_number и Citizen_ID.

Атрибуту номера рулона уже назначен первичный ключ, и Citizen_ID может иметь уникальные ограничения, когда каждая запись в столбце Citizen_ID должна быть уникальной, потому что каждый гражданин страны должен иметь свой уникальный идентификационный номер, такой как номер Aadhaar. Но если студент мигрирует в другую страну в этом случае, он или она не будет иметь Citizen_ID, и запись может иметь значение NULL, поскольку в ограничении уникальности допускается только один NULL.

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

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

Сравнительная таблица:

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