Gymterview
junior

Дайте определение терминам простой, составной, потенциальный и альтернативный ключ?

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

Виды ключей

Тип ключа Определение Пример
Простой (simple) Состоит из одного атрибута user_id
Составной (composite) Состоит из двух и более атрибутов (order_id, product_id)
Потенциальный (candidate) Минимальный набор атрибутов, уникально идентифицирующий каждую запись email, passport_number — оба уникальны
Альтернативный (alternate) Потенциальный ключ, не выбранный в качестве первичного Если PK = user_id, то email — альтернативный

Свойства потенциального ключа

  • Уникальность — однозначно идентифицирует каждую запись
  • Неизбыточность (минимальность) — при удалении любого атрибута из ключа теряется свойство уникальной идентификации
  • Не содержит NULL-значений

Связь между ключами

Пример
Все потенциальные ключи
├── Первичный ключ (выбирается один)
└── Альтернативные ключи (все остальные)

На собеседовании: важно подчеркнуть критерий неизбыточности потенциального ключа. Частая ошибка — путать составной ключ с потенциальным. Составной ключ — это про количество атрибутов, потенциальный — про свойство уникальности.