Buduję witrynę e-commerce i chciałbym oferować rabaty na niektóre produkty przez ograniczony czas.jak modelować rabat na przedmioty w bazie danych?
Moja Tabela produktów (MySQL) wygląda następująco:
Product - productId - Name - Weight - Price (price as on the cover of the item)
powinienem dokonać innego stolika dla promocji:
Deals - dealID - productID (Foreign Key) - discount (fractional value: percentage) - description
za zdobycie pozycji:
- Q1: Znajdź wszystkie produkty w produktach o ID produktu = wszystkie identyfikatory produktów w tabeli ofert
- Q2: Aktualizacja cenę z rabatem od stołu Okazje
- Q3: powrót wszystkie produkty
Czy istnieje lepszy sposób to zrobić? Ponadto, jak mam sobie poradzić z przypadkiem umowy istniejącej tylko przez ograniczony czas?
EDYTOWANIE: Chciałbym wyświetlić, ile rabatu oferujemy za produkt. Dlatego potrzebuję dwóch wartości na produkt, pierwotnej ceny i zdyskontowanej ceny za dany okres.
Zamieściłem Nawiązanie do rozwiązania zaproponowanego przez crontab here
z ceną produktu, może nie być nawet potrzebna tabela transakcji. Daty są kluczowe. – Randy
@Randy: właśnie dlatego powiedziałem "zamiast tworzyć tabelę umów". ;) – Crontab
@Crontab Podejście ProductPricing to dobre rozwiązanie, ponieważ ma dodatkową zaletę, ponieważ umożliwia dostosowanie cen do produktów, które nie pochodzą z umowy/promocji (np. Podwyżki cen). Możesz nawet zapisać przyczynę ostatniej zmiany ceny w tabeli ProductPricing. –