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

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

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

Видео: Разница между первичным ключом и уникальным ключом
Видео: Типы ключей в базе данных 2024, Декабрь
Anonim

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

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

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

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

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

Первичный ключ - это также столбец или комбинация столбцов, которые однозначно определяют строку в таблице реляционной базы данных. Таблица может иметь не более одного первичного ключа. Первичный ключ обеспечивает неявное ограничение NOT NULL. Таким образом, столбец, определяемый как первичный ключ, не может содержать в себе значения NULL. Первичный ключ может быть обычным атрибутом в таблице, который гарантированно уникален, например, номер социального страхования, или это может быть уникальное значение, созданное системой управления базами данных, например глобальный уникальный идентификатор (GUID) в Microsoft SQL Server. Первичные ключи определяются с помощью ограничения PRIMARY KEY в стандарте ANSI SQL. Первичный ключ также можно определить при создании таблицы. SQL позволяет составить первичный ключ из одного или нескольких столбцов, и каждый столбец, включенный в первичный ключ, неявно определяется как NOT NULL. Но некоторые системы управления базами данных требуют, чтобы столбцы первичного ключа явно НЕ были NULL.

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

Несмотря на то, что и первичный ключ, и уникальный ключ являются одним или несколькими столбцами, которые могут однозначно идентифицировать строку в таблице, у них есть некоторые важные различия. Что наиболее важно, таблица может иметь только один первичный ключ, тогда как у нее может быть более одного уникального ключа. Первичный ключ можно рассматривать как частный случай уникального ключа. Другое отличие состоит в том, что первичные ключи имеют неявное ограничение NOT NULL, в то время как уникальный ключ не имеет этого ограничения. Следовательно, столбцы уникального ключа могут содержать или не содержать значения NULL, но столбцы первичного ключа не могут содержать значения NULL.

Рекомендуем: