или вот еще - ты хочешь искать "когда оформляли заказ или когда его подтвердили или когда доставили" - три таблички - три выборки. простой union айдишек и потом уже детали по айдишкам
есть масса способов работать со стэйтом. ЛОгический кохижен "все что связано с заказом ложим в orders" это "ок" для монолитов и для систем где нет особой колаборации и гонок (то есть 90% всех продуктов)
поскольку это ок для 90% продуктов для остальных 10-ти которые могли бы выйграть обычно ты тоже этот способ видишь - он привычный и не требует больших усилий в плане моделирования данных
если у тебя есть статусы но нет колаборации я бы в целом не парился особо. Грубо говоря если у тебя есть пост в инсте и ты его делаешь драфтом, а потом публикуешь и гонок быть не может - то нет смысла париться
у меня вот есть под рукой сущность где ~10 статусов со сложными правилами переходов и вот там разбиение на оч маленькие агрегаты оч сильно упрощает код
И ещё надо чтоб это хотя бы агрегатом стало самодостаточным, то есть без связей через орм всего и вся
а для этого нужны инструменты как решить те проблемы которые ты до этого этими связями решал. Например мне пришлось реализовать application side джойны для этого
ну и еще надо хорошо понимать флоу пользователя что бы не попасть в ситуацию с кривыми моделями данных - это тоже сложно часто - нет под рукой людей которые могут с этим помочь