डेटाबेस डिज़ाइन में यह एक आम समस्या है:यह सवाल कि क्या रिकॉर्ड को अलग करना है या "संग्रह" करना है जो अब "सक्रिय" नहीं हैं।
सबसे आम तरीके हैं:
- एक तालिका में सब कुछ, आदेशों को "पूर्ण" के रूप में उपयुक्त के रूप में चिह्नित करें। पेशेवरों:सरलतम समाधान (कोड- और संरचना-वार दोनों), अच्छा लचीलापन (उदाहरण के लिए "पुनरुत्थान" आदेश आसान)। विपक्ष:टेबल्स काफी बड़ी हो सकती हैं, दोनों प्रश्नों के लिए और उदाहरण के लिए एक समस्या। बैकअप।
- पुराने सामान को अलग टेबल में संग्रहित करें। अधिक जटिलता की कीमत पर, पहले दृष्टिकोण से समस्याओं का समाधान करता है।
- मूल्य आधारित विभाजन के साथ तालिका का प्रयोग करें। इसका मतलब तार्किक रूप से (आवेदन के लिए) सब कुछ एक टेबल में है, लेकिन दृश्यों के पीछे डीबीएमएस कुछ कॉलम पर मूल्य (मानों) के आधार पर अलग-अलग क्षेत्रों में सामान डालता है। आप शायद विभाजन के लिए "पूर्ण" कॉलम, या "आदेश पूर्ण होने की तिथि" का उपयोग करेंगे।
अंतिम दृष्टिकोण प्रकार पहले दो के अच्छे हिस्सों को जोड़ता है, लेकिन डीबीएमएस में समर्थन की आवश्यकता होती है और इसे स्थापित करना अधिक जटिल होता है।
नोट:
केवल "संग्रहीत" डेटा संग्रहीत करने वाली तालिकाएँ सामान्यतः "संग्रह तालिकाएँ" कहलाती हैं। कुछ डीबीएमएस इन तालिकाओं के लिए विशेष भंडारण इंजन भी प्रदान करते हैं (उदाहरण के लिए MySQL), जो धीमी परिवर्तन/सम्मिलन की कीमत पर त्वरित पुनर्प्राप्ति और अच्छी भंडारण दक्षता की अनुमति देने के लिए अनुकूलित हैं।