"похер" - это уже ваша мысль. Я считаю, что проектирование данных важнее проектирование поведения. Могу повториться, почему - т.к. данные живут дольше, их менять сложнее и их ценность выше.
так вот поведению выясняется что надо даннве из 4 разных таблиц
и значит данные надо бы вместе положить чтобы изолировать
но вы же спроектировали базу уже и поведение я так и не понял как потом натягивается
В итоге у нас по класике оказывает база как глобальный стор в JS фреймворках
Где любая часть приложения из любого местиа имеет доступ к любым данным базы