मैं एक ऑनलाइन कैटलॉग प्रबंधित करता हूं। वर्तमान में घर के कर्मियों ने इसे मैन्युअल रूप से अपडेट किया है, और उनके परिवर्तन तुरंत दिखाई दे रहे हैं। अब हम एक सत्यापन कदम जोड़ना चाहते हैं: टॉम एक बदलाव करता है, जैरी इसे मंजूरी देता है।अपडेट-समीक्षा-प्रकाशित वर्कफ़्लो प्रबंधित करने का सबसे अच्छा तरीका?
मुझे दो पथ दिखाई देते हैं, लेकिन न ही सुरुचिपूर्ण लगता है।
- पूरे डेटाबेस की दूसरी, 'कार्यशील प्रति' रखें।
- उसी डेटाबेस के अंदर 'गंदे' टेबल का दूसरा सेट रखें।
इन दोनों को केवल हाउसकीपिंग के लिए बहुत सारे कोड की आवश्यकता होती है, साथ ही जब भी तालिका की संरचना बदलती है तो काम को दोगुना कर देता है।
क्या कोई बेहतर तरीका है? यदि यह महत्वपूर्ण है, तो डीबीएमएस एसक्यूएल सर्वर है, वेब ऐप एएसपीनेट है।
संपादित जोड़ने के लिए:
दो परिवर्तन मैं ऊपर उल्लिखित मौजूदा कोड के साथ दोनों पार्श्व-संगत कर रहे हैं। मुझे पता है कि मुझे कुछ बदलाव करना होगा, लेकिन मैं प्रत्येक क्वेरी को बदल नहीं सकता।
मुझे लगता है कि मेरी मुख्य बाधाएं पंक्तियों को क्लोन करने और उन्हें 'लंबित' चिह्नित करने पर रोक लगाती हैं।
मान लें कि प्रदायक के 99 के साथ प्रदायक के दो उत्पाद हैं। (उत्पाद केवल एक सप्लायर आईडी से संबंधित हो सकते हैं।) प्रदायक का फोन नंबर बदल गया है, इसलिए मैंने प्रदायक रिकॉर्ड क्लोन किया है, फोन नंबर बदल दिया है, और इसे 'लंबित' चिह्नित किया है। लेकिन नए रिकॉर्ड में 99 की आईडी नहीं हो सकती है, इसलिए अब इसे अपने उत्पादों या यहां तक कि रिकॉर्ड को बदलने के इरादे से जोड़ने का कोई तरीका नहीं है।
मुझे लगता है कि मैं एक अनजान पहचानकर्ता, सप्लायरस्यूडॉइड जोड़ सकता हूं, लेकिन यह उपर्युक्त विचारों के रूप में जटिल और त्रुटि-प्रवण जैसा लगता है।
और डेटाबेस डिज़ाइन के बारे में बात करते समय हमेशा याद रखें: * इसे तब तक सामान्य करें जब तक यह दर्द न हो जाए, जब तक यह काम न करे *। – voyager
ऊपर, मेरे संपादन देखें। इसके लायक होने के लिए, डेटाबेस पूरी तरह से सामान्यीकृत है और मुझे नहीं लगता कि कैसे denormalizing मेरी मदद करेगा; लेकिन मैं सीखने के लिए तैयार हूँ। – egrunin
@ एग्रीनिन: यह सिर्फ एक पुरानी कहावत है। टेबल/डेटाबेस की प्रतिलिपि बनाकर आप नरक के रूप में denormalizing कर रहे हैं जो आम तौर पर एक अच्छा विचार नहीं है। प्रदर्शन में सुधार के लिए आम तौर पर denormalizing किया जाता है, लेकिन कम से कम किया जाना चाहिए। – voyager