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

Здесь я проанализировал разницу между первичным ключом и уникальным ключом и всесторонне оценю их плюсы и минусы.
Что такое первичный ключ?
Ограничение первичного ключа — это столбец или группа столбцов в таблице, которые однозначно идентифицируют каждую строку в этой таблице. Первичный ключ не может быть дубликатом, то есть одно и то же значение не может появляться в таблице более одного раза.
Таблица может иметь только один первичный ключ. Основной ключ может быть определен на уровне столбца или таблицы. Если вы создаете составной первичный ключ, его следует определить на уровне таблицы.
Пример создания первичного ключа
Следующий пример описывает, что есть таблица с именем student. Она содержит пять атрибутов: 1) StudID, 2) Roll No., 3) First Name, 4) Last Name и 5) Email.
Атрибут Roll No никогда не может содержать повторяющееся или нулевое значение. Это связано с тем, что каждый студент, зачисленный в университет, может иметь уникальный номер. Вы можете легко идентифицировать каждую строку таблицы по номеру учащегося. Таким образом, он считается первичным ключом.

Особенности первичного ключа
Основываясь на моих наблюдениях, вот важные особенности первичного ключа:
- Первичный ключ реализует целостность объекта таблицы.
- В таблице можно сохранить только один основной объект.
- Первичный ключ содержит один или несколько столбцов таблицы.
- Столбцы определены как не нулевые.
Зачем использовать первичный ключ?
Размышляя о своих практических знаниях, вот важные причины использовать первичный ключ:
- Основная цель первичного ключа — идентифицировать каждую запись в таблице базы данных.
- Вы можете использовать первичный ключ, если не разрешаете кому-либо вводить нулевые значения.
- Если вы удалите или обновите запись, будет предпринято указанное вами действие для обеспечения целостности данных базы данных.
- Выполните операцию ограничения, чтобы отклонить операцию удаления или обновления родительской таблицы.
- При физической организации таблицы СУБД данные организуются в последовательности кластеризованных индексов.
Что такое уникальный ключ?
Уникальный ключ — это группа из одного или нескольких полей или столбцов в таблице, которые однозначно идентифицируют запись базы данных.
Уникальный ключ аналогичен первичному ключу, но он может принимать одно нулевое значение для столбца таблицы. Он также не может содержать одинаковые значения. На уникальные ограничения ссылается внешний ключ других таблиц.
Пример создания уникального ключа
Рассмотрим ту же таблицу студентов со следующими атрибутами: 1) StudID, 2) Roll No., 3) First Name, 4) Last Name и 5) Email.
Идентификатор Stud может иметь уникальное ограничение, при котором записи в столбце Stud ID могут быть уникальными, поскольку каждый студент в университете должен иметь уникальный идентификационный номер. Если студент меняет университет, у него не будет студенческого билета. Запись может иметь нулевое значение, поскольку в ограничении уникального ключа допускается только одно нулевое значение.

Особенности уникального ключа
Здесь я опишу важные особенности уникального ключа:
- В таблице можно определить более одного уникального ключа.
- По умолчанию уникальные ключи находятся в некластеризованных уникальных индексах.
- Он состоит из одного или нескольких столбцов таблицы.
- Столбец таблицы может иметь значение NULL, но предпочтительно, чтобы в каждом столбце было только одно значение NULL.
- На ограничение уникальности можно легко ссылаться с помощью ограничения внешнего ключа.
Зачем использовать уникальный ключ?
Вот важные причины, по которым я рекомендую использовать уникальный ключ:
- Целью уникального ключа является обеспечение уникальности информации в столбце для каждой записи таблицы.
- Когда вы разрешаете пользователю вводить нулевое значение.
- Уникальный ключ используется, поскольку по умолчанию создается некластеризованный индекс.
- Уникальный ключ можно использовать, когда вам нужно сохранять в столбце нулевые значения.
- Когда одно или несколько полей/столбцов таблицы однозначно идентифицируют запись в таблице базы данных.
Различия между первичным ключом и уникальным ключом
По моему анализу, вот основные различия между первичным ключом и уникальным ключом:

Основа сравнения | Основной ключ | Уникальный ключ |
---|---|---|
Количество ключей | В таблице может быть один первичный ключ | В таблице может быть несколько уникальных ключей. |
NULL, | Он не допускает нулевых столбцов. | Он допускает нулевые столбцы. |
Индекс | Индекс по умолчанию кластеризован | Индекс по умолчанию не кластеризован |
Цель | Целью первичного ключа является обеспечение целостности объекта. | Целью уникального ключа является обеспечение уникальных данных. |
Используйте | Это ограничение SQL, которое позволяет однозначно идентифицировать каждую запись или строку в таблице базы данных. | Это ограничение SQL, которое не позволяет присваивать одно и то же значение двум изолированным записям в таблице базы данных. |
Изменение значения | В первичном ключе дублирование ключей не допускается. | В уникальном ключе, если одна или несколько частей ключа имеют значение 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) ) |
Вы также можете изучить: Разница между первичным ключом и внешним ключом
Как выбрать между первичным ключом и уникальным ключом
- Уникальные ключи лучше использовать, когда у нас есть столбцы, которые, как мы знаем, не должны содержать дубликатов.
- Первичный ключ идеален, когда вы не можете сохранить в таблице значение null. Его также можно использовать, если у вас есть внешний ключ в другой таблице для создания связи.