Вся задача звучит изначально очень печально, как будто нет юнит тестов, которые определенную логику покрывают. На UI выяснится в итоге что для UI'ных функциональностей нужно будет 10 сценариев, не больше
В общем это какая-то игра в угадайку. Я бы предложил тебе потратить время на работающий пример и скинуть его сюда и сказать что тебе не нравится в твоём текущем решении
В подобной ситуации надо понять итоговое количество сущностей и количество связей между ними. Выяснить какие из них можно изолировать, разбить на части и придумать схему базы чего там будет, элементов - полей.
Для того чтобы ответить на этот вопрос, ты можешь сам сравнить 2 структуры данных и овтетить "а что если у меня добавится 1 случай. где и что я буду обновлять здесь?"