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