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

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Без истории ограничением может быть UNIQUE(driver_id, phone, phone_type). С историей учитывают valid_from либо отдельную версию и проверяют пересечения интервалов. При этом «не более одного основного номера» — другое правило, которое такое составное ограничение само по себе не обеспечивает.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку