Учебники

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

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

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

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

В этом уроке вы узнаете:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В следующем примере описано, что существует таблица с именем student. Он содержит пять атрибутов: 1) StudID, 2) Roll No, 3) Имя, 4) Фамилия и 5) Электронная почта.

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

Пример первичного ключа

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

Рассмотрим ту же таблицу учеников с атрибутами: 1) StudID, 2) Roll No, 3) Имя, 4) Фамилия и 5) Электронная почта.

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

Пример уникального ключа

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

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

Основной ключ Уникальный ключ
В таблице может быть один первичный ключ В таблице может быть несколько уникальных ключей
Это не позволяет пустые столбцы. Это позволяет пустые столбцы.
Индекс по умолчанию кластеризован Индекс по умолчанию не кластеризован
Назначение первичного ключа – обеспечить целостность объекта. Целью уникального ключа является обеспечение уникальных данных.
Первичный ключ может быть создан с использованием синтаксиса:

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, которое не позволяет присваивать одно и то же значение двум изолированным записям в таблице базы данных.
В первичном ключе дубликаты ключей не допускаются. В уникальном ключе, если одна или несколько частей ключа равны нулю, допускается дублирование ключей.

Что лучше?

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

ОСНОВНЫЕ РАЗЛИЧИЯ:

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