Sobes.tech
Junior — Middle

Wat is het verschil tussen het aanmaken van een unieke index en het definiëren van een primaire sleutel in een database?

sobes.tech AI

Antwoord van AI

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

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

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

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

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

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

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