मुझे एक ज़िप कोड को एक संख्या के रूप में संग्रहीत करने में कोई समस्या नहीं है, भले ही आप उस पर गणित संचालन करने की अपेक्षा न करें।
हमारे कॉर्पोरेट डेटा गोदाम में, हम कई विरासत प्रणालियों से डेटा प्राप्तकर्ता हैं। नतीजतन, हम बहुत सारे कचरा डेटा का उपयोग किया जा रहा है।
हमारे मामले को ले जाएं जहां हमारे पास एक भौगोलिक पहचानकर्ता है जो एक शून्य भरा 4-अंकीय "संख्यात्मक" मान है। इस क्षेत्र को अक्सर तालिकाओं में शामिल होने के लिए प्रयोग किया जाता है।
मैं दो तरीकों में से एक ले जाएगा: 1) लंबाई 4 के एक क्षेत्र के रूप में चार स्तंभ घोषित करने और जोड़ने की कोई समस्या की तरह '[09] [09] [09] [09]' 2) के रूप में यह परिभाषित एक संख्यात्मक लंबाई 4 और, यदि उपयोगकर्ता इसे चाहते हैं, तो केवल प्रदर्शित होने पर मान को प्रारूपित करें।
दृष्टिकोण संख्यात्मक 1 आपको लगातार स्वरूपण की परेशानी बचाता है, जो कोई बड़ा सौदा नहीं है, लेकिन यदि आप प्रायः फ़िल्टरिंग और यहां तक कि अनुक्रमणित/कॉलम पर शामिल होते हैं, तो मैं यह कहने पर विचार करता हूं कि हम विकल्प # 2 के साथ बंद हैं ।
एक तीसरा कारण यह है कि मेरा अनुभव यह है कि जब डेटाबेस में बाधाओं को जोड़ने की बात आती है तो वे केवल सादे आलसी होते हैं या वे अज्ञानी हैं। मुझे लगता है कि यह व्यक्तिगत रूप से अधिक आलस्य है। मुझे लगता है कि मौजूद बाधाओं को ज्यादातर एप्लिकेशन में संपादन के रूप में लागू किया जाता है जो मूल रूप से डेटा को कैप्चर करता है और ये संपादन समान रूप से लागू नहीं होते हैं।
नतीजतन, हमारे डेटा वेयरहाउस शून्य के साथ असंगत पूर्व-भरने या मूल्य के औचित्य सहित सभी प्रकार के विविधताओं को प्राप्त करने के समाप्त होता है।
जब आप किसी इंटेग्रर के रूप में कुछ परिभाषित करते हैं, तो आप स्वचालित रूप से अधिक कुशल संग्रहण प्राप्त करते हैं, esp। कॉलम पर अनुक्रमण करते समय, और संपादित करें और जो सभी समझते हैं और विभिन्न क्षमताओं के डेटाबेस डिजाइनरों द्वारा विरासत प्रणाली में निरंतर लागू होने की अधिक संभावना है।
मुझे इंडेक्स में फ़ील्ड का उपयोग करने के अपवाद के साथ विकल्प # 1 के साथ कोई समस्या नहीं है और एक बार जब आप एक फ़ील्ड को अपहा अंक के रूप में स्वीकार करते हैं, तो इस दृष्टिकोण पर मेरी चिंता है, लोग इसमें अधिक जंक फेंकते हैं।
उदाहरण के लिए, हमारे पीपुल्सॉफ्ट कर्मचारी पहचानकर्ता को लें। किसी ने कर्मचारी को ठेकेदार होने के लिए नामित करने के लिए कर्मचारी 6-चार शून्य भरे "नंबर" के सामने "एक्स" जोड़ने का निर्णय लिया। यह मेरे व्यक्तिगत अभ्यास का उल्लंघन करता है न कि सूचना के अलग-अलग टुकड़ों को एक ही क्षेत्र में जोड़ना। इससे विभिन्न प्रणालियों में असंगतता की सभी प्रकार की समस्याएं हुईं। यदि यह क्षेत्र एक संख्यात्मक था, तो कोई भी ऐसा करने की कोशिश नहीं करता।
टिप्पणियां?
और हाँ। मैंने वास्तविक प्रश्न –