Im मेरा पहला ईकामर्स स्कीमा डिजाइन करना। मैं थोड़ी देर के लिए विषय के आसपास पढ़ रहा हूं, और ए order_line_itemऔर ए के बीच के संबंध के बारे में थोड़ा भ्रमित हूंproduct
A productखरीदा जा सकता है। इसमें विभिन्न विवरण हैं, लेकिन सबसे महत्वपूर्ण है unit_price।
एक order_line_itemके लिए एक विदेशी कुंजी है product_idखरीदा है, quantityखरीदा है और unit_priceकुछ ही समय में बिंदु पर ग्राहक उत्पाद खरीदा।
मैंने जो पढ़ा है, उनमें से अधिकांश का कहना है कि unit_priceपर order_line_itemस्पष्ट रूप से जोड़ा जाना चाहिए (यानी के माध्यम से संदर्भित नहीं product_id)। समझ में आता है, क्योंकि स्टोर भविष्य में कीमत बदल सकता है जो ऑर्डर रिपोर्ट, ट्रैकिंग, अखंडता आदि को गड़बड़ कर देगा।
जो बात मुझे समझ में नहीं आ रही है, वह यह है कि सीधे unit_priceमूल्य को क्यों बचाया जाए order_line_item?
क्या ऑडिट / हिस्ट्री टेबल बनाना बेहतर नहीं होगा जो दस्तावेजों के unit_priceबदलाव को दर्शाता है product?
जब एक order_line_itemबनाया जाता है, तो product_auditतालिका की विदेशी कुंजी जोड़ दी जाती है और वहां से मूल्य (संदर्भ द्वारा) प्राप्त किया जा सकता है।
मुझे लगता है कि इस दृष्टिकोण का उपयोग करने के लिए बहुत कुछ सकारात्मक हो सकता है (डेटा का कम दोहराव, मूल्य परिवर्तन इतिहास आदि), इसलिए इसे अधिक बार उपयोग क्यों नहीं किया जाता है? मैं इस दृष्टिकोण का उपयोग करने वाले एक ईकामर्स स्कीमा के उदाहरण में नहीं आया हूं, क्या मुझे कुछ याद आ रहा है?
UDPATE: ऐसा लगता है कि मेरा प्रश्न धीरे-धीरे बदलते आयाम से संबंधित है । मैं अभी भी उलझन में हूँ क्योंकि धीरे-धीरे बदलते आयाम डेटा वेयरहाउस और OLAPs से संबंधित हैं। तो क्या स्लो चेंजिंग डाइमेंशन टाइप्स को मेरे मुख्य बिजनेस ट्रांजेक्शन प्रोसेस डेटाबेस (OLTP) पर लागू किया जा सकता है? मैं सोच रहा था कि मैं बहुत सारी अवधारणाओं को मिला रहा हूं, कुछ मार्गदर्शन की बहुत सराहना करेंगे।