Я создаю сайт электронной коммерции и хотел бы предложить скидки на определенные товары в течение ограниченного времени.Я хотел бы показать, какую скидку мы предлагаем на один продукт.Следовательно, мне нужно два значения для продукта, первоначальная цена и цена со скидкой для данной продолжительности.
Это в ответ на ответ на вопрос , который я спросил
Схема:
Product
ProductPricing
- productId (FK)
- startDateTimeStamp
- endDateTimeStamp
- цена
- оригинальная цена применима, только если мыиспользовать подход A (позже)
Данные:
Product:
1 | Apple
2 | Banana
T1: 21 декабря 2011 : сделок нетна этот раз
ProductPricing
1 | Dec 20, 2011, 00:00 | Jan 1, 2038, 00:00 | 10$ | 10$
2 | Dec 20, 2011, 00:00 | Jan 1, 2038, 00:00 | 20$ | 20$
T2: 24 декабря 2011 : Сделка!Примените скидку 25% на яблоки с 25 декабря, 14:00 - 26 декабря, 14: 00
Подход A. - Запрос обновляет цены на яблоки за указанный период времени
ProductPricing
1 | Dec 25, 2011, 14:00 | Dec 26, 2011, 14:00 | 7.5$| 10$
2 | Dec 20, 2011, 00:00 | Dec 25, 2038, 00:00 | 20$ | 20$
Подход B. - В запрос добавляется еще одна запись с ценами на яблоки за указанный промежуток времени
ProductPricing
1 | Dec 20, 2011, 00:00 | Jan 1, 2038, 00:00 | 10$ | 10$
2 | Dec 20, 2011, 00:00 | Dec 25, 2038, 00:00 | 20$ | 20$
1 | Dec 25, 2011, 14:00 | Dec 26, 2011, 14:00 | 7.5$| 10$
T3: 27 декабря 2011 - Опции
Подход A. В настоящее время срок действия сделки истек, должен ли я сбросить endTimeStamp с помощью триггера?
Подход B. Должен ли я удалитьпоследняя запись о продукте, срок действия которого истек?