Tôi đang xây dựng trang web thương mại điện tử và muốn giảm giá cho một số mặt hàng nhất định trong một khoảng thời gian giới hạn.làm cách nào để giảm giá cho các mặt hàng trong cơ sở dữ liệu?
bảng Product My (MySQL) trông như thế này:
Product - productId - Name - Weight - Price (price as on the cover of the item)
Tôi có nên thực hiện một bảng cho giao dịch:
Deals - dealID - productID (Foreign Key) - discount (fractional value: percentage) - description
Đối với các mặt hàng lấy:
- q1: Tìm tất cả sản phẩm trong sản phẩm có productID = tất cả productID trong bảng giao dịch
- q2: Cập nhật giá với chiết khấu từ bảng giao dịch
- q3: trả lại tất cả các sản phẩm
Có cách nào tốt hơn để làm điều này? Ngoài ra, làm cách nào để xử lý trường hợp giao dịch có sẵn chỉ trong một thời gian giới hạn?
EDIT: Tôi muốn hiển thị số tiền giảm giá mà chúng tôi đang cung cấp cho mỗi sản phẩm. Do đó, tôi cần hai giá trị cho mỗi sản phẩm, giá gốc và giá chiết khấu cho thời lượng đã cho.
tôi đăng một followup vào dung dịch bằng crontab here
với bảng giá sản phẩm, thậm chí bạn có thể không cần bảng giao dịch .. ngày tháng là khóa. – Randy
@Randy: đó là lý do tại sao tôi nói "thay vì tạo bảng Thỏa thuận". ;) – Crontab
@Crontab cách tiếp cận ProductPricing là một giải pháp tốt đẹp vì nó có lợi ích bổ sung cho phép điều chỉnh giá cho các sản phẩm không có nguồn gốc từ một giao dịch/khuyến mãi (ví dụ như tăng giá). Bạn thậm chí có thể lưu trữ lý do cho sự thay đổi giá cuối cùng trên bảng ProductPricing. –