6NF सिद्धांतों के लिए सामान्यीकृत डेटाबेस का उपयोग करते समय, आप ऐतिहासिक विशेषता डेटा कैसे संग्रहीत करेंगे?6 एनएफ और ऐतिहासिक विशेषता डेटा
Let उदाहरण के लिए कहते हैं कि हम @PerformanceDBA से लेकिन निम्नलिखित अतिरिक्त आवश्यकता के साथ this example ले:
हम अपने सभी उत्पादों के लिए ऐतिहासिक डाटा स्टोर करने की जरूरत है, हम सिर्फ एक तारीख दर्ज करें और प्राप्त करने में सक्षम होना चाहिए उस विशेष समय पर उत्पाद के गुणों का एक स्नैपशॉट।
एक और अधिक व्यावहारिक उदाहरण:
डिस्क और CPU के उदाहरण से मान लीजिए ऊपर आभासी रहे हैं और एक उपयोगकर्ता होगा पर डिस्क क्षमता बदल सकते हैं। हम डेटाबेस को कैसे बदल सकते हैं ताकि हम 5NF दृश्य को पर्याप्त तेज़ी से रखते हुए किसी भी समय किसी दिए गए डिस्क के गुणों को पुनर्प्राप्त कर सकें (बेशक इसकी सृजन तिथि के बाद)।
बातें मैं विचार कर रहा हूँ
- एक टाइमस्टैम्प स्तंभ 'CHANGEDATE' प्रत्येक विशेषता मेज पर (यह एक सबक्वेरी के साथ एक सुंदर जटिल क्वेरी में परिणाम और प्रत्येक विशेषता तालिका के लिए शामिल हो जाएगा जोड़ें)
- प्रत्येक विशेषता तालिका के लिए एक अलग * इतिहास तालिका बनाएं (परिणामस्वरूप बड़ी मात्रा में तालिका हो सकती है क्योंकि हमारे पास 20 उत्पाद प्रकार) में फैले 70 गुण हैं)
- इसके अतिरिक्त: 5NF दृश्य
किसी भी मदद की सराहना की तेजी लाने के लिए प्रत्येक विशेषता मेज पर एक अनुक्रमित 'वर्तमान' कॉलम जोड़ने!
संपादित करें: मैं अस्थायी डेटाबेस की अवधारणा से पता है, अभी तक समस्या यह है कि डेटाबेस इंजन के लिए मैं के साथ (PostgreSQL) काम कर रहा हूँ लौकिक विस्तार पूरी तरह से अभी तक लागू नहीं किया गया है। अस्थायी डेटाबेस के बिना इसे कैसे प्राप्त किया जाए इस पर कोई सलाह है?
बस आपको चेतावनी देने के लिए- मैं इतिहास सारणी नहीं रखने की सड़क पर चला गया, और मेरी "संस्थाओं" की प्रत्येक पंक्ति पर "से" और "टू" तिथि का उपयोग कर रहा था। यह मेरी सबसे बड़ी गलती थी और इसने परियोजना को एक दुःस्वप्न में बदल दिया। यह आपके द्वारा उल्लेख किए गए व्यक्ति का प्रदर्शन लेता है, PerformanceDBA, मुझे ट्रूली समझने के लिए कि वास्तव में डेटाबेस क्या है (यानी वस्तुओं के लिए केवल एक बाल्टी नहीं)। मैंने बाद में एक और पारंपरिक दृष्टिकोण (इतिहास सारणी/विचार) का उपयोग करके परियोजना को फिर से लिखा है, और यह हर तरह से बेहतर है। ठीक है, अधिक तर्क नहीं है लेकिन विवरण में जाने के लिए बड़ी मात्रा में दस्तावेज होंगे। – Mark
यह वह पोस्ट है जिसने मुझे सामान्य रूप से डेटाबेस को देखने के लिए शुरू किया है (सॉफ़्टवेयर इंजीनियरों के दृष्टिकोण से, डीबीए के दृष्टिकोण से): - http://stackoverflow.com/questions/4491173/historical- ऑडिटेबल-डेटाबेस - मैं यह नहीं कह रहा हूं कि सुझाव दिया गया है कि क्या किया गया है ("से" और "से" और इतिहास इतिहास नहीं), लेकिन मेरे लिए यह एक बड़ी गड़बड़ी पैदा कर रहा है, और मैं कभी नीचे नहीं जाऊंगा सड़क फिर से – Mark