Есть таблица. Пусть в ней будут автобусы. Каждый автобус предназначен для работы на маршруте. Маршруты задаются через Enum (BenSampo). Автобусы на маршрут ставит оператор. Причем, автобус может и не быть в работе вовсе (а значит и не иметь маршрут), а несколько автобусов могут быть на одном маршруте.
Суть в чем. Необходимо отслеживать каждый автобус на маршруте. Для этого треба написать удобную систему автобус-маршрут, с которой было бы легко и удобно работать и легко развивать.
Я решил сделать отдельную таблицу, в которой были бы только автобусы на маршрутах. Маршруты задаются атрибутом, а автобусы через внешний ключ, указывающий на автобус из таблицу с автобусами. То есть каждый элемент таблицы - это автобус на маршруте с указанием необходимых параметров.
Насколько валидно такое решение? Можете покритиковать?