Назад к вопросам
Okko
Junior — Middle
59
Чем отличается создание уникального индекса от определения первичного ключа в базе данных?
Компании, где спрашивали
Ответ от нейросети
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 — уникальный индекс.