как смоделировать скидку на товары в базе данных?

Я создаю сайт электронной коммерции и хотел бы предложить скидки на определенные товары в течение ограниченного времени.

Моя таблица продуктов (MySQL) выглядит так:

Product
    - productId
    - Name
    - Weight
    - Price (price as on the cover of the item)

Должен ли я создать другую таблицу для сделок:

Deals
 - dealID
 - productID (Foreign Key)
 - discount (fractional value: percentage)
 - description

Для получения товаров:

  • q1: Найти все продукты в продуктах с productID = все идентификаторы продуктов в таблице сделок
  • q2: обновить цену со скидкой из таблицы сделок
  • q3: вернуть все продукты

Есть ли лучший способ сделать это? Кроме того, как мне поступить в случае, если сделка существует только в течение ограниченного времени?

РЕДАКТИРОВАТЬ: Я хотел бы показать, какую скидку мы предлагаем на каждый продукт. Следовательно, мне нужны два значения для каждого продукта: исходная цена и цена со скидкой на заданный срок.

Я разместил продолжение решения, предложенного crontab здесь

10
задан Community 23 May 2017 в 12:16
поделиться