Tôi đang thiết kế lược đồ thương mại điện tử đầu tiên của tôi. Tôi đã đọc xung quanh chủ đề này một chút và hơi bối rối về mối quan hệ giữa một order_line_item
và mộtproduct
A product
có thể được mua. Nó có nhiều chi tiết khác nhau, nhưng quan trọng nhất là unit_price
.
An order_line_item
có khóa ngoại đối với sản phẩm product_id
đã mua, quantity
đã mua và unit_price
tại thời điểm khách hàng mua sản phẩm.
Hầu hết những gì tôi đã đọc nói rằng unit_price
trên order_line_item
nên được thêm một cách rõ ràng (tức là không được tham chiếu qua product_id
). Có ý nghĩa, vì các cửa hàng có thể thay đổi giá trong tương lai sẽ làm rối tung các báo cáo đơn hàng, theo dõi, tính toàn vẹn, vv
Điều tôi không hiểu, là tại sao trực tiếp lưu unit_price
giá trị vào order_line_item
?
Nó sẽ không tốt hơn để tạo một bảng kiểm toán / lịch sử ghi lại unit_price
sự thay đổi của một product
?
Khi một order_line_item
được tạo, khóa ngoại của product_audit
bảng được thêm vào và giá có thể được lấy (bằng cách tham chiếu) từ đó.
Dường như với tôi có rất nhiều điều tích cực khi sử dụng phương pháp này (ít trùng lặp dữ liệu, lịch sử thay đổi giá, v.v.), vậy tại sao nó không được sử dụng thường xuyên hơn? Tôi chưa bắt gặp một ví dụ về lược đồ thương mại điện tử sử dụng phương pháp này, tôi có thiếu điều gì không?
UDPATE: Có vẻ như câu hỏi của tôi liên quan đến Kích thước thay đổi chậm . Mặc dù vậy, tôi vẫn bối rối vì Thay đổi kích thước chậm liên quan đến kho dữ liệu và OLAP. Vì vậy, các loại Kích thước thay đổi chậm có thể được áp dụng cho cơ sở dữ liệu quy trình giao dịch kinh doanh chính của tôi (OLTP) không? Tôi tự hỏi nếu tôi trộn nhiều khái niệm lên, sẽ đánh giá rất cao một số hướng dẫn.