Saya sedang merancang skema eCommerce pertama saya. Saya telah membaca sekitar subjek untuk sementara waktu, dan saya agak bingung tentang hubungan antara a order_line_itemdan aproduct
A productdapat dibeli. Ini memiliki berbagai detail, tetapi yang paling penting adalah unit_price.
Sebuah order_line_itemmemiliki kunci asing untuk product_idpembelian, quantitypembelian dan unit_pricepada saat pelanggan membeli produk.
Sebagian besar dari apa yang saya baca mengatakan bahwa unit_pricepada order_line_itemharus ditambahkan secara eksplisit (yaitu tidak dirujuk melalui product_id). Masuk akal, karena toko dapat mengubah harga di masa depan yang akan mengacaukan laporan pesanan, pelacakan, integritas dll.
Hal yang saya tidak mengerti, mengapa langsung menyimpan unit_pricenilai ke order_line_item?
Bukankah lebih baik membuat tabel audit / sejarah yang mendokumentasikan unit_priceperubahan product?
Ketika suatu order_line_itemdibuat, kunci asing dari product_audittabel ditambahkan dan harga dapat diambil (dengan referensi) dari sana.
Tampaknya bagi saya ada banyak hal positif untuk menggunakan pendekatan ini (lebih sedikit duplikasi data, riwayat perubahan harga, dll), jadi mengapa tidak lebih sering digunakan? Saya belum menemukan contoh skema eCommerce yang menggunakan pendekatan ini, apakah saya kehilangan sesuatu?
UDPATE: Sepertinya pertanyaan saya terkait dengan Perlahan Mengubah Dimensi . Saya masih bingung karena Dimensi Perlahan-lahan Berubah berkaitan dengan data warehouse dan OLAP. Jadi bisakah jenis Slowy Changing Dimension diterapkan ke basis data proses transaksi bisnis utama (OLTP) saya? Saya bertanya-tanya apakah saya sedang mencampur banyak konsep, Akan sangat menghargai panduan.