Привет! Подскажите, пожалуйста по правильной архитектуре.
Использую noSQL БД - MongoDB
Суть такая, хочу для музея создавать мероприятия, далее распределять мероприятия по дням , далее люди смогу из клинетской части записываться на события и оплачивать бронь (покупать билет) . Пользователь может забронировать сразу несколько разных мероприятий на разных датах.
Получаются следующие модели в MongoDB:
1) Мероприятие, в схеме которого основные данные, вроде описания, длительности, максимальное количество человек, картинки и двусторонняя связь с Датами, на которых будет событие.
2) Дата, где количество записей на этот день, связанное с моделью Бронирования и связь с самим событием. Вопрос, нужно ли тут дублировать в схеме информацию из основного события, в виде длительности, названия и стоимости? Или просто отдельным запросом через связь получать информацию?
3) Бронирование, где уникальная ссылка, связь с Датой и Связь с пользователем. Вопрос, нужно ли дублировать информацию из связанной модели Даты или получать отдельным запросом?
4) Пользователь, связанный с бронированием.
Такая организация сама по себе нормальна? Не избыточна?