39

डेटाबेस में अंतरराष्ट्रीय पते को स्टोर करने का तरीका "सर्वोत्तम" तरीका क्या है? एक स्कीमा के रूप में उत्तर दें और आपने जिस तरीके से सामान्य किया है (या नहीं) के कारणों का स्पष्टीकरण। यह भी समझाएं कि आपने प्रत्येक फ़ील्ड के प्रकार और लंबाई को क्यों चुना है।डेटाबेस में अंतरराष्ट्रीय पते को स्टोर करने का "सबसे अच्छा" तरीका क्या है?

नोट: आप तय करते हैं कि आप कौन से फ़ील्ड आवश्यक हैं।

+0

मुझे पिछले साल इस बारे में बताया गया था! [डेटाबेस में पते] (http://mojoai.blogspot.com/2010/12/addresses-in-databases.html) –

+0

पोस्टकोड जटिल हो सकते हैं - उदाहरण के लिए, आयरलैंड गणराज्य में कोई सामान्य डाक कोड नहीं है, हालांकि डबलिन के लिए पोस्टकोड मौजूद हैं (6W के अपवाद के साथ सभी 1-24 अंक)। – Geoglyph

+1

के बाद चर्चा में मदद मिल सकती .. http://stackoverflow.com/questions/1159756/how-should-international-geographical-addresses-be-stored-in-a-relational-databa – chandraP

उत्तर

24

सादा मुक्त टेक्स्ट टेक्स्ट।

दुनिया के सभी पोस्ट/ज़िप कोड मान्य करना बहुत कठिन है; देशों की एक निश्चित सूची बहुत राजनीतिक रूप से संवेदनशील है; अनिवार्य राज्य/क्षेत्र/अन्य प्रशासनिक उपविभाग सिर्फ सादा अनुचित है (अक्सर मुझे पूछा जाता है कि मैं कौन सी काउंटी में रहता हूं - जब मैं नहीं करता, क्योंकि ग्रेटर लंदन बिल्कुल काउंटी नहीं है)।

अधिक बिंदु पर, यह केवल अनावश्यक है। आपका आवेदन किसी भी गंभीर तरीके से मॉडलिंग पते होने की अत्यधिक संभावना नहीं है। यदि आप डाक पता चाहते हैं, डाक पते के लिए पूछें। ज्यादातर लोग डाक पते के अलावा किसी अन्य चीज़ में इतने बेवकूफ नहीं होते हैं, और यदि वे करते हैं, तो वे अपने नए खरीदे गए आइटम अलविदा को चूम सकते हैं।

इसका अपवाद यह है कि यदि आप ऐसा कुछ कर रहे हैं जो किसी भी देश में स्वाभाविक रूप से बाधित है। इस स्थिति में, आपको {डाक कोड, घर संख्या} जोड़ी कहना चाहिए, जो डाक पते की पहचान करने के लिए पर्याप्त है। मुझे कल्पना है कि आप अमेरिका में विस्तारित ज़िप कोड के साथ समान चीजें प्राप्त कर सकते हैं।

+0

ग्रेटर लंदन एक काउंटी नहीं हो सकता है, लेकिन जब तक कि आप लंदन शहर में ही नहीं रहते हैं, तो आप शायद पाएंगे कि आप वास्तव में सरे, केंट, एसेक्स या इस तरह की तरह रहते हैं। – belugabob

+3

विभिन्न प्रशासनिक उपविभागों में डालकर क्षेत्र द्वारा फ़िल्टरिंग के लिए आसान है। आप कैसे जान रहे हैं कि दुनिया/देश का कौन सा हिस्सा आप सबसे ज्यादा उत्पाद बेचते हैं? –

+1

सबसे अच्छा, देश को चुनिंदा बनाएं। देश केवल बार ही बनाए जाते हैं। – DrPizza

-3

आपको डेटा का उपयोग करने की योजना बनाने के बारे में कुछ और जानकारी प्रदान करने की आवश्यकता है। उदाहरण के लिए, शहर, राज्य, देश जैसे फ़ील्ड या तो एक ही तालिका में टेक्स्ट हो सकते हैं, या विदेशी कोड के साथ एक अलग तालिका से जुड़े कोड हो सकते हैं।

सरल

Address_Line_01 (आवश्यक, गैर खाली) होगा Address_Line_02 Address_Line_03 चिह्न सिटी (आवश्यक) पिन (आवश्यक) Province_District राज्य (आवश्यक) देश (आवश्यक)

उपरोक्त सभी उपयुक्त फ़ील्ड लंबाई के साथ टेक्स्ट/यूनिकोड हो सकते हैं।

लागू होने पर फ़ोन नंबर।

+1

केवल एक देशों के गुच्छा राज्य है –

9

अतीत में मैंने उन फॉर्मों का मॉडल किया है जिन्हें उनकी वेबसाइटों पर अप/फेडेक्स शिपिंग पता फ़ॉर्म के बाद अंतरराष्ट्रीय होने की आवश्यकता है (मुझे लगा कि अगर वे एक अंतरराष्ट्रीय आदेश को संभालने के बारे में नहीं जानते हैं तो हम सभी को छेड़छाड़ की जाती है)। वे फ़ील्ड जिनका उपयोग आपके स्कीमा को सेट करने के लिए संदर्भ के रूप में किया जा सकता है।

5

सामान्य रूप से, आपको यह समझने की आवश्यकता है कि आप एक पता क्यों चाहते हैं। क्या यह शिपिंग/मेलिंग के लिए है? फिर वास्तव में केवल एक आवश्यकता है, देश अलग है। अन्य लाइनें उपयोगकर्ता द्वारा भरे जाने के लिए फ्रीफॉर्म हैं। इसका कारण मेल के लिए सामान्य अग्रेषण रणनीति है: किसी विदेशी देश के लिए आने वाले मेल को अन्य पता पंक्तियों को देखे बिना अग्रेषित किया जाता है। इसलिए, विस्तृत जानकारी केवल देश में स्थित मेल सॉर्टर द्वारा पार्स की जाती है। रिसीवर की तरह, वे राष्ट्रीय सम्मेलनों से परिचित होंगे।

(यूपीएस कुछ छोटे यूरोपीय देशों को एक साथ जोड़ सकता है, ई .. सभी निम्न देश शायद बेल्जियम से परोसे जाते हैं - विचार अभी भी है।)

+0

क्या आप "आने वाले" के बजाय "आउटगोइंग" का मौका देते थे? – rinogo

2

मुझे लगता है कि देश/शहर और पता टेक्स्ट जोड़ना ठीक होगा। रिपोर्टिंग के लिए देश और शहर अलग होना चाहिए। प्रबंधक हमेशा इस तरह की रिपोर्ट के लिए पूछें जिन्हें आप उम्मीद नहीं करते हैं और मैं एक बड़े डेटाबेस के माध्यम से एक LIKE क्वेरी चलाने पसंद नहीं करता।

2

फेसबुक को अनावश्यक सम्मान नहीं देना। हालांकि, डेटाबेस की समग्र संरचना को हर दिन लॉन्च करने वाले कई वेब अनुप्रयोगों में अनदेखा किया जाता है। जाहिर है, मुझे नहीं लगता कि एक आदर्श समाधान है जो बिना किसी कड़ी मेहनत के पते संरचना के साथ सभी संभावित चर शामिल करता है। उस ने कहा, स्वत: पूर्ण फेसबुक के साथ संयुक्त स्थान स्थान डेटा लेने और उनकी अनावश्यक प्रविष्टियों को समाप्त करने का प्रबंधन करता है। वे अपने डेटाबेस को अच्छी तरह से कम लागत में कम से कम जानकारी प्रदान करने के लिए पर्याप्त रूप से पर्याप्त रूप से व्यवस्थित करके ऐसा करते हैं, वास्तविक समय में क्लाइंट को कम त्रुटि का तरीका उन्हें मौजूदा सूची से सही स्थान चुनने की अनुमति देता है।

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

संबंधित मुद्दे

 संबंधित मुद्दे