अपनी पिछली पोस्ट में, मैंने यह सुनिश्चित करने के बारे में लिखा था कि आपका डेटा मॉडल वैश्विक सूचनाओं को ठीक से संभालता है:संख्याएं, मुद्राएं, फोन नंबर, पते, तिथियां और समय क्षेत्र, अन्य बातों के अलावा। हालांकि, मैंने महसूस किया है कि कई उदाहरण डेटा मॉडल में बिल्कुल "आत्म-केंद्रित" या "अमेरो-केंद्रित" दृष्टिकोण है जिसके खिलाफ मैंने चेतावनी दी थी।
विदेश में रहने वाले एक अमेरिकी के रूप में (अब लगभग 30 वर्षों के लिए), मैं अक्सर पाता हूं कि लोग जो जानते हैं उसकी सार्वभौमिकता के बारे में बहुत सी धारणाएं बनाते हैं। उदाहरण के लिए, कुछ अमेरिकी मानते हैं कि अन्य लोग अपने देश की ज़िप कोड प्रणाली और इसके पूरक ज़िप + 4 संस्करण को स्वचालित रूप से समझते हैं। मेरे अनुभव में, अधिकांश दुनिया को पता नहीं है कि ZIP+4 क्या है।
इसलिए मैंने सोचा कि मॉडलिंग पतों के लिए अधिक वैश्विक दृष्टिकोण के बारे में लिखना अच्छा होगा।
दुनिया भर में जाने जाने वाले पते
आइए दुनिया भर में कुछ प्रसिद्ध और कुछ कम जाने-पहचाने पतों को लें और एक डेटा मॉडल बनाएं जो उनके भंडारण का समर्थन करता हो।
मैं संयुक्त राज्य अमेरिका के राष्ट्रपति:व्हाइट हाउस के संबोधन से शुरू करूंगा।
व्हाइट हाउस
1600 पेंसिल्वेनिया एवेन्यू एनडब्ल्यू
वाशिंगटन, डीसी 20500
अब, 1600 वह है जिसे आम तौर पर गली नंबर या घर का नंबर कहा जाता है। वह सड़क पर घर (भवन) की संख्या है। पेंसिल्वेनिया एवेन्यू सड़क का नाम है। "NW" नॉर्थवेस्ट का संक्षिप्त नाम है और वाशिंगटन के उस हिस्से को संदर्भित करता है जहां यह विशेष पता स्थित है। दिलचस्प बात यह है कि 1600 पेंसिल्वेनिया एवेन्यू एसई पूरी तरह से एक अलग पता है; यह एक अपार्टमेंट इमारत है।
वाशिंगटन, तब, शहर का नाम है। और DC, या डिस्ट्रिक्ट ऑफ़ कोलंबिया, "स्टेट" है; हालांकि, डीसी अमेरिकी राज्यों में विशेष है। वाशिंगटन डी.सी. संयुक्त राज्य अमेरिका की राजधानी है, लेकिन इसे ठीक से एक राज्य नहीं कहा जाता है, और इसे 50 अमेरिकी राज्यों में से एक के रूप में नहीं गिना जाता है। (वाशिंगटन राज्य है, लेकिन यह डीसी से बिल्कुल विपरीत तट पर स्थित है। आप इसे स्टारबक्स, बोइंग और अन्य प्रसिद्ध कंपनियों के घर के रूप में जान सकते हैं।) हमारा कहना है कि अमेरिकी डाक प्रणाली में, "डीसी" कार्य करता है किसी भी अन्य राज्य के संक्षिप्त नाम के रूप में।
अब, वह संख्या:20500। अधिकांश देशों में, इसे पोस्ट कोड या पोस्टल कोड के रूप में संदर्भित किया जाएगा; अमेरिकी इसे ज़िप कोड कहते हैं। 1963 में यूएस में ज़िप (जोन इम्प्रूवमेंट प्लान) कोड पेश किए गए थे। हम देखते हैं कि व्हाइट हाउस के लिए, ज़िप कोड 20500 है।
1983 में, यूएस पोस्टल सर्विस अधिक सटीक होना चाहती थी इसलिए उन्होंने एक विस्तारित ज़िप + 4 कोड बनाया। इस ज़िप+4 में ज़िप कोड के पाँच अंक, एक हाइफ़न और चार अतिरिक्त अंक शामिल हैं जो ज़िप कोड के भीतर एक विशिष्ट स्थान की ओर इशारा करते हैं। अमेरिकी राष्ट्रपति का ज़िप+4 20500-0001 है। प्रथम महिला (राष्ट्रपति की पत्नी) का ज़िप+4 20500-0002 है। और व्हाइट हाउस का ज़िप+4 20500-0003 है।
जबकि ZIP+4 काफी सटीक हो सकता है, आपको शायद ही कभी ऐसा ZIP+4 मिलेगा जो किसी एक व्यक्ति के लिए उपयोग किया जाता है। वे अक्सर एक पोस्ट ऑफिस बॉक्स (एक बड़ी कंपनी के लिए), पोस्ट ऑफिस बॉक्स की एक श्रृंखला, या एक शहर के भीतर एक पड़ोस का उल्लेख करते हैं।
बेवर्ली हिल्स 90210
आपकी उम्र के आधार पर, आप यूएस टीवी श्रृंखला 90210 . के बारे में जान सकते हैं या बेवर्ली हिल्स 90210 . यह लोकप्रिय टीन सोप ओपेरा काम पर अमेरिकी डाक प्रणाली का एक और अच्छा उदाहरण है। कुछ लोग सोचते हैं कि यह किसी मोहल्ले, गली या यहां तक कि किसी विशेष घर का सटीक पता है।
सबसे पहले, कुछ पृष्ठभूमि से शुरू करते हैं। बेवर्ली हिल्स कैलिफोर्निया के लॉस एंजिल्स काउंटी का एक शहर है। यह कई हॉलीवुड सितारों और महंगी शॉपिंग स्ट्रीट रोडियो ड्राइव (1990 की फिल्म प्रिटी वुमन में प्रसिद्ध हुई) का घर है। )
https://goo.gl/maps/gqdvgRMNn472
बेवर्ली हिल्स में एक ज़िप कोड 90210 है, लेकिन बेवर्ली हिल्स शहर अन्य ज़िप कोड (90209, 90211, 90212 और 90213) का भी उपयोग करता है। 90210 कोड बेवर्ली हिल्स के पॉशर पड़ोस में से एक को संदर्भित करता है, और इसलिए लॉस एंजिल्स के एक अपस्केल हिस्से में एक विशेष पड़ोस के लिए।
लेकिन 90210 ज़िप कोड बेवर्ली हिल्स से आगे तक फैला हुआ है। इसमें आसपास के कुछ हॉलीवुड हिल्स भी शामिल हैं। आप उन पहाड़ियों को जानते हैं जहां "हॉलीवुड" चिन्ह स्थित है? वह 90210 ज़िप कोड में है।
https://goo.gl/maps/Fa2t8SQaGj222
इस ज़िप का शेष भाग, उत्तर में मुल्होलैंड ड्राइव (डेविड लिंच की 2001 की मनोवैज्ञानिक थ्रिलर में अमर) तक फैला हुआ है, लॉस एंजिल्स की पहाड़ियों के हिस्से के रूप में छोड़ दिया गया था, जहां यह दशकों तक गुमनाम रहा।
बकिंघम पैलेस
बकिंघम पैलेस का एक सरल पता है, इसलिए यदि आप महारानी एलिजाबेथ को लिखना चाहते हैं, तो बस एक नोट भेजें:
बकिंघम पैलेस
लंदन SW1A 1AA, यूनाइटेड किंगडम
इस पते में, हमें एक विषम प्रकार का पोस्टल कोड मिलता है। यूके में (साथ ही वे देश जो ब्रिटिश कॉमनवेल्थ और अधिकांश पूर्व ब्रिटिश उपनिवेश बनाते हैं), पोस्टल कोड अल्फ़ान्यूमेरिक है। इसकी तुलना यू.एस. के ज़िप कोड सहित अन्य कई देशों में पाए जाने वाले सभी-संख्यात्मक पोस्टल कोड से करें
यूके में, पोस्ट कोड में आमतौर पर एक या दो अक्षर का "सिटी कोड" होता है जिसका नाम स्थानीय शहर या लंदन के एक क्षेत्र के लिए रखा जाता है। हमारे उदाहरण में, यह "दप" है, जो लंदन के दक्षिण-पश्चिमी भाग को संदर्भित करता है। इसके बाद एक या दो अंक होते हैं जो उस क्षेत्र के एक जिले को दर्शाते हैं - "1A"। फिर एक मनमाना कोड होता है जिसमें एक संख्या और दो अक्षर होते हैं, जो इस मामले में "1AA" है।
नंबर 10
आप ब्रिटिश प्रधान मंत्री को "नंबर 10" के नाम से जाने जाने वाले पते पर पा सकते हैं, जिसका नाम भवन की गली संख्या से लिया गया है:
10 डाउनिंग सेंट
लंदन SW1A 2AA, यूनाइटेड किंगडम
बकिंघम पैलेस की तरह, "नंबर 10" लंदन के दक्षिण-पश्चिमी भाग में स्थित है। यूके के कुछ शहरों में पोस्ट कोड आपको यह पहचानने में भी मदद कर सकते हैं कि कोई पता शहर के किस हिस्से में स्थित है।
एलीसी पैलेस
दूसरी ओर, आप आम तौर पर इस पते पर फ्रांसीसी राष्ट्रपति को ढूंढ सकते हैं:
55 रुए डू फॉबॉर्ग सेंट-होनोरे 75008
पेरिस, फ़्रांस
यह उदाहरण एक परिचित पैटर्न का अनुसरण करता है:सड़क संख्या (55) और सड़क का नाम (Rue du Faubourg Saint-Honoré) पहले आते हैं।
इसके बाद, हमें 5 अंकों का पोस्टल कोड मिलता है। फ्रेंच पोस्ट कोड में, पहले दो अंक इंगित करते हैं कि "डिपार्टमेंट" (क्षेत्र) पता किस स्थान पर स्थित है। पेरिस के पोस्टल कोड के लिए, अंतिम तीन अंक पते के "arrondissement" (पड़ोस) को दर्शाते हैं। तो, इस उदाहरण में, डाक कोड पते के पड़ोस को इंगित करता है।
कम प्रसिद्ध (लेकिन जटिल) पते
भारत
पर्याप्त सरल पते। कुछ देशों में, स्ट्रीट नंबरों का उपयोग करना दुर्लभ है। इसके बजाय, पते यह निर्दिष्ट कर सकते हैं कि कोई स्थान किसी प्रसिद्ध साइट के बगल में है। या वे केवल उस भवन का नाम और उसके आस-पड़ोस का नाम बता सकते हैं जिसमें वह स्थित है।
यहाँ महाराष्ट्र राज्य में भारतीय शहर पुणे में एक हयात होटल का पता है।
हयात पुणे
आगा खान पैलेस, नगर रोड, कल्याणी नगर के निकट
पुणे, भारत, 411006
यहां हमें एक और पोस्टल कोड मिलता है, लेकिन इस मामले में यह न तो 4 अंक है, न ही 5 अंक, न ही 5+4 अंक, न ही अंकों और अक्षरों का मिश्रण। यह 6 अंक है। भारतीय डाक कोड एक क्षेत्र कोड से शुरू होता है, फिर एक उप-क्षेत्र कोड और एक कोड जो सॉर्टिंग जिले का प्रतिनिधित्व करता है। यदि आप इस स्थान को व्यक्तिगत रूप से खोजने का प्रयास कर रहे हैं तो यह बहुत उपयोगी जानकारी नहीं है!
इस मामले में, उस राज्य का कोई उल्लेख नहीं है जिसमें पुणे स्थित है। हालांकि, जब कई शहरों का एक ही नाम होता है लेकिन वे अलग-अलग भारतीय राज्यों में स्थित होते हैं, तो पते में एक राज्य शामिल किया जा सकता है।
हमें एक सड़क का नाम (नगर रोड) और पड़ोस (कल्याणी नगर) का संकेत मिलता है, लेकिन कोई वास्तविक सड़क संख्या नहीं है। आप इस स्थान की तलाश में नगर रोड पर ऊपर और नीचे चल सकते हैं। इस प्रकार हम पाते हैं कि स्थान एक प्रसिद्ध स्थल - आगा खान पैलेस के निकट होने के रूप में निर्दिष्ट है।
जापान
मैं एक और हयात होटल से एक उदाहरण लेता हूं, जिसे आपने "लॉस्ट इन ट्रांसलेशन" फिल्म में देखा होगा:
पार्क हयात टोक्यो
3-7-1-2 निशि शिंजुकु, शिंजुकु-कू
टोक्यो, जापान, 163-1055
स्पष्ट रूप से बताने के लिए, मैं यहां जापानी वर्णों के बजाय पश्चिमी स्वरूपण और एक अंग्रेजी अनुवाद का उपयोग कर रहा हूं।
फिर से, आप इस पते में पड़ोस, शहर और डाक कोड के तत्व पा सकते हैं। "निशि-शिंजुकु" (西新宿 ) टोक्यो के शिंजुकु पड़ोस में गगनचुंबी इमारत व्यापार जिला है।
अब, यह होटल किस गली में स्थित है? पते से, आपको कोई सुराग नहीं है। सड़कों के नामों का शायद ही कभी उपयोग किया जाता है, और अधिकांश जापानी सड़कों के नाम तक नहीं होते (कुछ शहरों को छोड़कर, जैसे कि क्योटो)।
और 3-7-1-2 चिह्नित इमारतों की तलाश में सड़क पर चलने की कोशिश न करें। ये संख्या जिलों, वर्गों, उप-वर्गों और विशिष्ट शहर ब्लॉकों (इस मामले में, टोक्यो के भीतर) को संदर्भित करती है।
जापानी पता प्रणाली, जब पश्चिमी शैली में लिखी जाती है, सबसे छोटी इकाई (आमतौर पर एक घर का नंबर) से शुरू होती है और सबसे बड़ी होती है। आप अक्सर पते में "चोम" पाएंगे, जो एक शहर का जिला है (丁目 chōme)।
सेल्फ-सेंट्रिक एड्रेस मॉडलिंग क्यों?
पता मॉडलिंग के साथ एक समस्या तब होती है जब कोई लेखक एक ऐसा मॉडल बनाता है जो केवल उसके स्थानीय पते का ठीक से समर्थन करता है। मैंने इसे अपनी अन्य पोस्ट में समझाया है, इसलिए मैं मुख्य समस्याओं को संक्षेप में बताऊंगा:
- स्थानीय दर्शकों के लिए डिज़ाइन किया गया डेटा मॉडल अक्सर किसी दूसरे देश की जानकारी स्वीकार नहीं कर सकता है। उदाहरण के लिए, अगर यूके के किसी व्यक्ति ने अपने आठ अंकों वाले अल्फ़ान्यूमेरिक पोस्ट कोड को पांच अंकों वाली, केवल-संख्यात्मक अमेरिकी ज़िप फ़ील्ड में दर्ज करने का प्रयास किया, तो यह काम नहीं करेगा।
- अंतर्राष्ट्रीय दर्शक उन शब्दों, प्रारूपों और लेआउट को समझ या उपयोग नहीं कर सकते हैं जो एक स्थानीय दर्शक करता है।
तो ऐसा क्यों होता है? दूरदर्शिता की कमी है, लेकिन इसका संबंध प्रशिक्षण से भी है। यदि डेटा मॉडलर को विश्व स्तर पर सोचना नहीं सिखाया जाता है, तो वे लगभग हमेशा स्थानीय रूप से सोचने वाले होते हैं। बात को विस्तार से बताने के लिए नहीं - फिर से, मैंने ऊपर संदर्भित पोस्ट में इसका उल्लेख किया है - लेकिन कई डेटाबेस मॉडलिंग पाठ्यपुस्तकों में अमेरो-केंद्रित दृष्टिकोण पर ध्यान केंद्रित करना आम बात है।
सौभाग्य से, बहु-राष्ट्रीय पतों के लिए डेटा मॉडलिंग के संदर्भ में विश्व स्तर पर सोचना कोई कठिन कौशल नहीं है। इसका संबंध पूर्वविवेक और लचीलेपन से है।
समाधान:वैश्विक पता मॉडलिंग
मैंने वैश्विक पतों को संग्रहीत करने के लिए एक डेटा मॉडल बनाया है।
दो सामान्य पता पंक्ति फ़ील्ड हैं (AddressLine1
और AddressLine2
Address
टेबल) जो लगभग किसी भी पते को स्टोर करेगा। यह काम करना चाहिए चाहे हम "10 डाउनिंग सेंट", "आगा खान पैलेस के नजदीक", या "3-7-1-2 निशि शिंजुकु" स्टोर कर रहे हों। जोखिम यह है कि कुछ पतों के लिए 70 वर्णों के दो क्षेत्र बहुत छोटे हो सकते हैं। फिर भी, लगभग हर स्थिति के लिए 140 वर्ण पर्याप्त होने चाहिए।
मैंने दो पता पंक्ति क्षेत्रों के सामान्य सम्मेलन का उपयोग किया है ताकि मैं AddressLine1
. बना सकूं अनिवार्य (अशक्त नहीं) और AddressLine2
वैकल्पिक (शून्य)। तो इस मॉडल के लिए आवश्यक है कि कुछ पते की जानकारी दी गई है, लेकिन यह बहुत छोटे और बहुत लंबे, विस्तृत पते दोनों के लिए अनुमति देता है।
इसके बाद, पोस्टल/ज़िप कोड को देखें। PostCode
फ़ील्ड लचीला है और इसमें संग्रहीत की जा सकने वाली जानकारी पर कोई प्रतिबंध नहीं है। यह अमेरिकी ज़िप कोड, अमेरिकी ज़िप+4, 4-अंकीय पोस्टल कोड, 5-अंकीय पोस्टल कोड, ब्रिटिश पोस्ट कोड (अक्षरों और अंकों के साथ) और कई अन्य प्रकार के पोस्ट कोड का समर्थन करेगा।
Region
फ़ील्ड एक देश के भीतर क्षेत्रों को संग्रहीत करता है (अर्थात, राज्य, प्रांत, विभाग, आदि) लेकिन यह क्षेत्र शून्य है। बेशक, एक वैश्विक पता मॉडल के लिए आवश्यक है कि देश को 2-वर्ण वाले ISO देश कोड (Country
) के माध्यम से निर्दिष्ट किया जाए। Address
टेबल)।
अब, कृपया मॉडल खोलें और इसे एक ट्वीक दें। इसलिए हमने पहले स्थान पर मॉडल बनाया। शायद आप मॉडल को बेहतर बनाने के तरीके देख सकते हैं। या हो सकता है कि आपको इसे अपनी विशिष्ट आवश्यकताओं के अनुकूल बनाने की आवश्यकता हो। कृपया बेझिझक इसके साथ खेलें और इसे अपना बनाएं।
आपका पता क्या है? क्या यह इस Address
टेबल डिजाइन? अगर नहीं तो हमें बताएं! यह जानना दिलचस्प होगा कि आपके पते का समर्थन करने के लिए क्या बढ़ाया जाना चाहिए।