@Qeinzo

Как хранить закупочную цену в интернет-магазине?

Имеются таблицы "Товары" и "Поставки". Планируется выгружать отчет с маржой (Розн.цена минус закуп. цена).

Вопрос: как реализовать хранение данных закупочной цены, если она может постоянно меняться? Допустим, данные по розничной цене я могу получить из завершенного заказа, но как брать закупочную цену? Где её хранить в такой ситуации?
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
@alexalexes
Элементарно. Если какой-то атрибут может менять значение со временем, то он обретает вид табличных данных.
Таблица "Цена":
id_cost - идентификатор цены;
id_cost_next - следующая цена;
id_good - идентификатор товара (внешний ключ таблицы "Товары");
id_delivery - идентификатор поставки (внешний ключ таблицы "Поставки");
id_type - тип цены: розничная/закупочная (внешний ключ таблицы "Типы цен");
date_set - дата/время установки цены;
id_currency - идентификатор валюты: р. руб/евро/доллар (внешний ключ таблицы "Валюта").
value - значение цены.

При добавлении нового значения цены необходимо предыдущей записи цены по текущему товару устанавливать id_cost_next равный текущему значению id_cost.
Текущая цена на товар будет определяться id_cost_next is null, ретроспективные - id_cost_next is not null.
Самая ранняя установленная цена по товару будет определяться по min(id_cost) в пределах текущего товара.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы