Первичный ключ и уникальный ключ: в чем разница?

Содержание:

Anonim

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

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

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

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

  • Что такое первичный ключ?
  • Что такое уникальный ключ?
  • Зачем использовать первичный ключ?
  • Зачем использовать уникальный ключ?
  • Особенности первичного ключа
  • Особенности уникального ключа
  • Пример создания первичного ключа
  • Пример создания уникального ключа
  • Разница между первичным ключом и уникальным ключом
  • Что лучше?

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

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

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

ОСНОВНЫЕ ОТЛИЧИЯ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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