Мне нужно динамически обновлять еженедельные и ежемесячные данные о продажах для каждого продукта и клиента. Их необходимо обновлять и проверять во время продажи продукта, и по разным причинам я не могу использовать для этого хранимые процедуры или материализованные представления (я зачитываю все в приложении, изменяю все в памяти, а затем обновляю и зафиксировать результаты).
Какая структура таблиц лучше всего для удержания продаж в течение периода?
- Сохранить тип периода (M, W) с датами начала и окончания или только тип и дату начала?
- Используйте поля даты и символ или закодируйте его в строку ('M201201' / 'W201248')
- Нормализовать продажи и периоды в две таблицы или сохранить продажи и период в одной таблице?
Я буду выполнять два типа запросов: выбирать продажи за текущий недельный (xor ежемесячный) период / покупателя / статью, но не обновлять их, и выбирать для обновления еженедельные и ежемесячные периоды для покупателя / статьи.