Sobes.tech
Back to questions
Junior — Middle
58

Чем отличается создание уникального индекса от определения первичного ключа в базе данных?

Companies where asked
OkkoOkko

Answer from AI

sobes.tech AI

Первичный ключ (Primary Key) — это ограничение, которое однозначно идентифицирует каждую запись в таблице. Он автоматически подразумевает уникальность и не допускает NULL значений. В таблице может быть только один первичный ключ.

Уникальный индекс (Unique Index) обеспечивает уникальность значений в одном или нескольких столбцах, но в отличие от первичного ключа, может допускать NULL значения (в зависимости от СУБД) и в таблице может быть несколько уникальных индексов.

Основные отличия:

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

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

CREATE TABLE users (
    id INT PRIMARY KEY,
    email VARCHAR(255) UNIQUE
);

Здесь id — первичный ключ, а email — уникальный индекс.