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) पर लागू किया जा सकता है? मैं सोच रहा था कि मैं बहुत सारी अवधारणाओं को मिला रहा हूं, कुछ मार्गदर्शन की बहुत सराहना करेंगे।