आप उस वास्तविक डेटा से बड़ा फ़ील्ड आकार क्यों घोषित करेंगे, जिसे आप इसमें संग्रहीत करने की अपेक्षा कर रहे हैं?
यदि आपके आवेदन का प्रारंभिक संस्करण अमेरिका और कनाडाई पते (जो मैं इस तथ्य से अवगत कर रहा हूं कि आप अपने प्रश्न में उन आकारों को कहते हैं) का समर्थन करने जा रहे हैं, तो मैं क्षेत्र को VARCHAR2 (9) (या VARCHAR2 () के रूप में घोषित करूंगा। 10) अगर आप जिप + 4 फील्ड में हाइफ़न स्टोर करने का इरादा रखते हैं)। यहां तक कि अन्य देशों के डाक कोडों को देखकर भी, VARCHAR2 (9) या VARCHAR2 (10) अन्य सभी देशों के लिए पर्याप्त होगा।
रेखा के नीचे, आप हमेशा स्तंभ को बदल सकते हैं ताकि लंबाई बढ़ जाए। लेकिन आम तौर पर किसी को रोकना मुश्किल होता है, कहीं "रचनात्मक" तय करने से और 50 पात्रों को एक कारण या किसी अन्य के लिए VARCHAR2 (50) क्षेत्र में सामान करना (क्योंकि वे शिपिंग लेबल पर दूसरी पंक्ति चाहते हैं)। आपको सीमा मामलों के परीक्षण के साथ भी निपटना होगा (क्या प्रत्येक एप्लिकेशन जो एक ज़िप हैंडल 50 वर्णों को प्रदर्शित करता है?)। और इस तथ्य के साथ कि जब ग्राहक डेटाबेस से डेटा प्राप्त कर रहे हैं, तो वे आम तौर पर प्राप्त किए गए डेटा के अधिकतम आकार के आधार पर मेमोरी आवंटित कर रहे हैं, किसी दिए गए पंक्ति की वास्तविक लंबाई नहीं। संभवतः इस विशिष्ट मामले में बहुत बड़ी बात नहीं है, लेकिन कुछ स्थितियों के लिए 40 बाइट प्रति पंक्ति रैम का एक अच्छा हिस्सा हो सकता है।
एक तरफ के रूप में, आप कोडिंग (कम से कम अमेरिका के पते के लिए) कोड और अलग से +4 विस्तार पर विचार कर सकते हैं। यह आमतौर पर भौगोलिक क्षेत्र द्वारा रिपोर्ट उत्पन्न करने में सक्षम होने के लिए उपयोगी है, और आप अक्सर +4 एक्सटेंशन द्वारा इसे तोड़ने के बजाय एक ज़िप कोड में सब कुछ एक साथ रखना चाह सकते हैं। उस समय, ज़िप कोड के लिए पहले 5 वर्णों को SUBSTR करने की कोशिश न करना उपयोगी होता है।