
Существенное различие между первичным ключом и уникальным ключом состоит в том, что первичный ключ не принимает значения NULL, тогда как значения NULL допускаются в пределах ограничений уникального ключа.
Сравнительная таблица
Основа для сравнения | Основной ключ | Уникальный ключ |
---|---|---|
основной | Он используется в качестве уникального идентификатора для каждой строки в таблице. | Он также однозначно определяет строку, которая не определена как первичный ключ. |
Принятие значения NULL | Первичный ключ не будет принимать значения NULL. | Unique будет принимать значение NULL. |
Количество ключей, которые можно определить в таблице | Только один первичный ключ | Больше одного |
Индекс | Создает кластерный индекс | Создает некластеризованный индекс |
Определение первичного ключа
Столбец можно назвать первичным ключом своей таблицы, если он однозначно идентифицирует каждый кортеж (строку) в этой таблице. Он обеспечивает ограничения целостности таблицы. В таблице допускается только один первичный ключ. Первичный ключ не принимает дубликаты и значения NULL. Первичный ключ выбирается осторожно, когда изменения могут происходить редко, это означает, что первичный ключ в таблице изменяется очень редко.
Давайте разберемся с понятием первичного ключа с помощью таблицы. Здесь мы создаем таблицу с именем «Таблица учеников», которая имеет такие атрибуты, как Roll_number, Name, Batch, Phone_number, Citizen_ID.

На первичный ключ может ссылаться внешний ключ. Создает уникальный кластеризованный индекс для таблицы. В кластеризованном индексе строки данных сортируются и сохраняются в таблице или представлениях на основе значений их ключей. В таблице может быть только один кластеризованный индекс, причина этого в том, что строки данных в таблице могут быть отсортированы только в одном порядке.
Определение уникального ключа
Подобно первичному ключу, ограничения уникального ключа также уникально идентифицируют кортеж в отношении. Но между ними есть определенные различия. Таблица может иметь более одного уникального ключа. Ограничения уникального ключа могут принимать только одно значение NULL для столбца.
Давайте разберемся с этим в похожем примере, где у нас была таблица Student с атрибутами Roll_number, Name, Batch, Phone_number и Citizen_ID. Атрибут номера рулона назначается первичным ключом.

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