व्यक्तिगत पतों में सड़क के पते को विभाजित करने से क्या समस्याएं हल होती हैं?


24

हमारे पास एक टीम है जो सॉफ्टवेयर डेवलपर्स के लिए तालिकाओं और संबंधों को डिजाइन करती है। हमारे संगठन में, वे 3NF के सामान्यीकरण को लागू करने के बारे में बहुत सख्त हैं - जो कि ईमानदार होना है, मैं हमारे संगठन के आकार को देखते हुए सहमत हूं और समय के साथ जरूरतों या हमारे ग्राहकों को कैसे बदलते हैं। केवल एक क्षेत्र है मैं उनके डिजाइन निर्णय के पीछे के कारणों के बारे में स्पष्ट नहीं हूं: पते।

हालांकि यह ज्यादातर संयुक्त राज्य अमेरिका के पते पर केंद्रित है, मुझे लगता है कि यह किसी भी देश पर लागू हो सकता है जो ऐसा करता है। एक पते के प्रत्येक टुकड़े को पता तालिका में अपना कॉलम मिलता है। उदाहरण के लिए, इस अमेरिकी पते पर जाएं:

Attn: Jane Doe
485 1/2 N Smith St SW, APT 300B
Chicago, IL 11111-2222

इसे डेटाबेस में इस तरह विभाजित किया जाएगा:

  • गली नंबर: 485
  • स्ट्रीट अंश: 1/2
  • सड़क पूर्व-दिशात्मक: एन (उत्तर)
  • स्ट्रीट नाम: स्मिथ
  • सड़क का प्रकार: ST (सड़क)
  • स्ट्रीट पोस्ट-दिशात्मक: एसडब्ल्यू (दक्षिण-पश्चिम)
  • शहर: शिकागो
  • राज्य: IL (इलिनोइस)
  • पिन कोड: 11111
  • ज़िप 4 कोड: 2222
  • देश (संयुक्त राज्य अमेरिका माना जाता है)
  • ध्यान दें: जेन डो
  • PO बॉक्स: NULL
  • Dwelling प्रकार: APT (अपार्टमेंट)
  • रहने की संख्या: 300B

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

पहले मुझे लगा कि यह WAY ओवरबोर्ड था। ऑनलाइन बार-बार शोध करने से पता पंक्ति 1, 2, 3 और संभवतः 4 का उपयोग होता है, फिर शहर, क्षेत्र और पोस्टल कोड का विभाजन होता है। हमारे पास हमारे नए एप्लिकेशन के लिए एक उपयोग मामला है जहां यह ग्रैन्युलैरिटी फायदेमंद है। हमें यह सत्यापित करना होगा कि उपयोगकर्ता डुप्लिकेट व्यवसाय नहीं बना रहा है, और पते की जांच करना मान्यताओं में से एक है। हम इसे पता पंक्ति 1 और 2 के साथ काम करने के लिए प्राप्त कर सकते हैं, लेकिन यह अधिक कठिन होगा।

हमारे विशिष्ट अनुप्रयोग के लिए, हमें व्यवसायों और लोगों (भौतिक, मेलिंग, शिपिंग, आदि) के लिए कई प्रकार के पते संग्रहीत करने की आवश्यकता है। हमें प्रिंट करने योग्य फ़ॉर्म पत्र उत्पन्न करने की आवश्यकता हो सकती है, लेकिन उस आवश्यकता पर अब तक चर्चा नहीं की गई है।

हमारे संगठन में कुछ अन्य चीजों का समर्थन करने की आवश्यकता है:

  • लेखा परीक्षा (पूर्ण इतिहास तालिका के साथ)
  • मुद्रण मेलिंग लेबल
  • मुद्रित रूप उत्पन्न करना
  • रिपोर्टिंग (राष्ट्रीय और क्षेत्रीय सरकारों के लिए)

जबकि हमारा अनुप्रयोग वह सब कुछ नहीं कर रहा है जो हर दूसरा अनुप्रयोग कर रहा है, कई घटकों में पते को विभाजित करना एक उद्यम मानक है जहां मैं काम करता हूं। भले ही हमारा आवेदन इससे लाभान्वित हो, हम ऐसा करने के लिए मजबूर हैं।

सेमी संबंधित स्टैकऑवरफ्लो प्रश्न: एक अच्छा एड्रेस पार्सर कहां है जो बंद था, लेकिन यह बताता है कि पार्सिंग एड्रेस कितना मुश्किल हो सकता है।

मेरे लिए उनके डिजाइन निर्णय को बेहतर ढंग से समझने के लिए, और विचार पर हमारे ग्राहक को बेचने के लिए ...

सड़क के पते को अलग-अलग स्तंभों में विभाजित करके क्या समस्याएं हल की जाती हैं?

बोनस किसी को भी, जिसने इस तरह की प्रणाली लागू की है, क्योंकि वे समस्याओं में भाग गए।


1
और ध्यान रखें कि कुछ पते अभी भी आपके टेम्पलेट में फिट नहीं होंगे - मैंने विकासशील देशों के "सीमेंट कारखाने से नीचे सड़क" की तर्ज पर कुछ वास्तविक सड़क पते देखे हैं।
शाम 28:16

1
@duskwuff: मैं उन्हें उनके पास लाया और इसीलिए उन्होंने "अंतर्राष्ट्रीय पता फ़ील्ड" - लाइन_1, लाइन_2, लाइन_3 को जोड़ा। वे वास्तव में केवल अमेरिकी पतों को अलग करना चाहते हैं। और निष्पक्ष होने के लिए,> इन अनुप्रयोगों में 90% पते यूएस पते हैं। लेकिन मैं पूरी तरह से समझता हूं कि आप कहां से आ रहे हैं
ग्रेग बर्गार्ड्ट

जवाबों:


10

बंटवारे से हल हो सकने वाली समस्याओं में शामिल हैं

सत्यापन नाम के किसी एक हिस्से की तुलना एक मास्टर सूची से की जा सकती है। जो मेल नहीं खाते हैं उन्हें अस्वीकार किया जा सकता है। पोस्टकोड / ज़िपकोड एक स्पष्ट उदाहरण है। ये एक स्वतंत्र प्राधिकरण द्वारा जारी और रखरखाव किए जाते हैं। एकमात्र वैध वे हैं जो उस प्राधिकरण द्वारा जारी किए गए हैं।

छंटाई और चयन मैंने ऐसे मामलों को देखा है जहां डाक शुल्क कम कर दिया जाता है यदि मेल को कुछ हद तक पहले से आयोजित डिलीवरी सेवा को सौंप दिया जाता है। संबंधित कॉलम होने से मूर्त व्यावसायिक मूल्य पैदा होता है।

विश्लेषण यह जानना उपयोगी हो सकता है कि आपके आदेश भौगोलिक रूप से श्रेणीबद्ध तरीके से कहां जा रहे हैं। इससे बिक्री पहल, उत्पाद विकास या कमीशन भुगतान आदि हो सकते हैं।

कोड डुप्लीकेशन एक संगठन में सभी अनुप्रयोगों को एक ही डेटा मॉडल (जो कि सबसे जटिल उपभोक्ता है) को अपनाकर, एक एकल कोड आधार को उद्यम-व्यापी अपनाया जा सकता है और निरंतर बनाए रखा जा सकता है। अंतहीन डुप्लिकेट बाल विभाजन से बचा जा सकता है, या कम से कम प्रोपेलरहेड को सौंप दिया जा सकता है। संगठन के विभिन्न हिस्सों द्वारा आयोजित पते लगातार अपडेट किए जा सकते हैं। ग्राहक सेवा और संतुष्टि को बढ़ाया जा सकता है। विकास का प्रयास एक प्रणाली के अद्वितीय, उच्च मूल्य भागों पर ध्यान केंद्रित कर सकता है।

कानूनी मुद्दे कानून और कर क्षेत्राधिकार से भिन्न होते हैं। अलग-अलग पते के मानों को अलग-अलग करके अनुपालन आवश्यकताओं के अनुपालन के लिए ट्रांजेक्शनल डेटा को पार करना आसान है।

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

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

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

अंत में, मैं मानव कारक को खारिज नहीं करूंगा। डेटा मॉडल डेटा मॉडेलर्स द्वारा निर्मित होता है। यह वही है जो वे करते हैं। यही उनका पेशा है। वे आपको यह बताने के लिए नहीं जा रहे हैं कि वे इसे केवल बीओएलबी में डंप करेंगे, क्या वे हैं?


3
मुझे लगता है कि यह एक बहुत ही कम जवाब है। अधिकांश उत्तर कई समस्याओं को संबोधित करते हैं जो पतों में बंटवारे के पते से उत्पन्न हो सकते हैं, लेकिन मुझे लगता है कि यह उत्तर संक्षेप में सबसे अच्छा काम करता है कि क्या समस्याएं हल हुई हैं। मैं एक समान प्रश्न पोस्ट कर सकता हूं जो समस्याओं के बारे में है। हर समाधान के लाभ और कमियां हैं। आपका उत्तर लाभों को सर्वोत्तम रूप से संबोधित करता है।
ग्रेग बरगार्ड

17

मैंने एक प्रकाशन कंपनी के लिए सॉफ्टवेयर विकसित करने में 7 साल बिताए और सबसे कठिन समस्याओं में से एक हमने सदस्यता सूचियों में सड़क के पते पार्स किए। यह अलग क्षेत्रों में पतों को विभाजित करने के लिए उपयोगी है, लेकिन आप कभी नहीं, कर सकते हैं कभी पता स्वरूप और घटकों मानव मस्तिष्क वसीयत कर सकते हैं के हर संभव रोग विपथन के लिए डिजाइन।

हर इलाके में इसकी बोली हो सकती है, और यह सिर्फ अमेरिका में है। अन्य देशों में फेंक और चीजें किसी भी दृष्टिकोण के लिए बहुत जल्दी असहनीय हो जाती हैं जो हर पते को पार्स करना चाहता है। सिर्फ दो उदाहरण:

स्पेन में, सड़क का नाम हमेशा गली के नाम और अल्पविराम के बाद आता है, और कई पतों में एक मंजिल संख्या क्रमिक होती है, जैसे कि 1 ° या 3 number, साथ में "बाएं" के लिए संक्षिप्त विवरण ("इज़्दा" जिसका अर्थ है बाएं हाथ के दरवाजे के बाद) आप सीढ़ियों से उठते हैं), "सही" ("डचा") या अन्य संभावनाएं। अब अलग-अलग देशों की संख्या और पते के लिए अलग-अलग ऐतिहासिक रीति-रिवाजों वाले क्षेत्रों से गुणा करें ... (जापान? ग्रामीण? कोरिया? चीन?)

पोर्टलैंड में, OR, NS और EW कुल्हाड़ी हैं जो शहर को NW, NE, SW और SE क्वाड्रेंट (साथ ही एक N "क्वाड्रंट" में विभाजित करते हैं, लेकिन मैं पचाता हूं)। इस धुरी से NS गलियों को पूर्व और पश्चिम की ओर क्रमांकित किया जाता है, और EW सड़कों पर पतों को NS सड़क संख्या से "सौ ब्लॉक" कहा जाता है (यानी 11 वीं और 12 वीं राशियों के बीच EW सड़क पर एक घर का नंबर होगा) 1123 की तरह)। अमेरिका के पते के लिए सुंदर मानक सामान।

हर बार जब आप 0205 SW नेब्रास्का सेंट जैसे पोर्टलैंड के पते पर चलते हैं । एक अग्रणी शून्य? WTF? integerघर "संख्या" के लिए मेरा कॉलम जाता है ।

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

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

अमेरिकी पते के लिए, यूएसपीएस ने पहले से ही पता मानकीकरण में क्या किया है, इस पर एक नज़र डालें, और house_numberकॉलम को बनाने के लिए याद रखें varchar। जब आप यह पता लगाते हैं कि आप 1634 एन फोर्ट लेन एवेन्यू को पार्स करने जा रहे हैं ।

बाकी दुनिया के लिए, मैं संभवतः अतिरिक्त क्षेत्रों को सार करने की कोशिश करूँगा जो कि 80-90% को कवर करने की संभावना है, जो आने की संभावना है, और निर्बाध फ़ील्ड का एक सेट प्रदान करें जो आवश्यक होने पर बाकी सब कुछ संभाल सकें। यानी यदि आपका पार्सर एक पते को संभालने में विफल रहता है, तो इसे अनपार्स्स और झंडे के रूप में सहेजें। यदि आप किसी पते को पार्स करने का प्रबंधन करते हैं, तो सुनिश्चित करें कि आपको वह क्रम याद है जिसमें आपको विभिन्न क्षेत्र मिले हैं, ताकि आप उसे कुछ सुगम बनाने के लिए आश्वस्त कर सकें।

मैं यह कहने जा रहा था कि सबसे महत्वपूर्ण क्षेत्र पोस्ट कोड होने जा रहा है, लेकिन यहां तक ​​कि कई स्थानों पर दिया नहीं जा रहा है ।

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


गली नंबर में अग्रणी शून्य के लिए दिलचस्प अनुवर्ती: HTML नंबर INPUT तत्व अग्रणी शून्य को सर्वर पर वापस भेज देगा <input type="number">:। मुझे डर था कि यह (किसी भी तरह फ़ायरफ़ॉक्स में कम से कम ऐसा नहीं होगा)।
ग्रेग बरगार्ड

तो यह सब में विभाजित करने के लिए उपयोगी क्यों है? पते के लिए सिर्फ 3 स्ट्रिंग "लाइनें" प्रदान करने के बारे में क्या?
usr

और इसमें 137 एसई चेस्टनट एवेन्यू एसडब्ल्यू पैटर्न भी है, जो आम तौर पर IN से WI है।
रोस प्रेसर

@usr हर पता तीन लाइनों में फिट नहीं होता है - बस varcharपहले से ही एक और एक फ्री-फॉर्म मल्टी-लाइन टेक्स्ट फ़ील्ड का उपयोग करें!
user253751

मैंने खुद को दो उदाहरणों तक सीमित रखा, लेकिन बहुत अधिक हैं। 22 एसेक्स हाउस, पोर्टमैन स्क्वायर, लंदन NW1 । "22" एक अपार्टमेंट नंबर है।
जिम गैरिसन

8

सभी डिजाइन प्रश्नों की तरह, एक बेहद योग्य "यह निर्भर करता है" है। यह आपकी डेटा स्टोरी पर निर्भर करता है - डेटा कैसे एकत्र किया जाता है, इसका उपयोग कैसे किया जाता है, इसे कैसे अपडेट किया जाता है, आदि। मेरी सभी टिप्पणियों को चर्चा के बिंदुओं के रूप में लिया जाना चाहिए, न कि कैसे-कैसे उत्तरों के लिए।

ऐसा लगता है * आप अपने लिए एक बनाने की कोशिश करने की तुलना में एक पते सत्यापन सेवा का उपयोग करने से अधिक लाभ उठा सकते हैं। जबकि वे महंगे हैं, ऐसी कई सेवाएं महत्वपूर्ण डाक छूट के साथ आती हैं।

बेशक, कुछ डेटा कहानियों के लिए यहां एक समझौता है। आप पार्स किए गए पते के टुकड़ों को जारी रख सकते हैं और संयुक्त पते के लिए एक गणना कॉलम (कॉलम का सेट, संभावना) बना सकते हैं। यह एक कार्यान्वयन उत्तर है, जिसमें सभी सामान्य कैविटीज़ निहित हैं।

मैंने पार्स आउट एड्रेस डिज़ाइन लागू किया है। डेटा क्वालिटी और डेटा प्रोसेसिंग जरूरतों के लिए हमें इसकी पूरी आवश्यकता थी। लेकिन यह एक ऐसा व्यवसाय था जिसमें भौतिक पते, डाक पते, आभासी पते आदि थे।

दूसरा मुद्दा जो सामने आ सकता है वह यह है कि विभिन्न डाक सेवाओं के लिए अलग-अलग प्रारूप / आदेश / आदि में प्रस्तुत की जाने वाली एक ही जानकारी की आवश्यकता होती है। इसलिए मॉडल किए गए पुर्जे एक ही जानकारी को विभिन्न स्वरूपों और लेआउट में प्रस्तुत करने का समर्थन करते हैं।

अंत में, आपको अंतर्राष्ट्रीय डेटा का समर्थन करने के लिए अंतर्राष्ट्रीय व्यावसायिक संचालन करने की आवश्यकता नहीं है। यहां तक ​​कि यूएस-आधारित व्यवसायों को अंतर्राष्ट्रीय पतों का समर्थन करने की आवश्यकता है। यह मान लेना एक बहुत बड़ी डेटा गलती है कि आपके पास ऐसा कभी नहीं होगा। ग्राहक चलते हैं, विक्रेता मुख्यालय बदलते हैं, विक्रेता की संपर्क जानकारी अंतर्राष्ट्रीय हो सकती है भले ही उनके पास यूएस मुख्यालय हो। यहां तक ​​कि अगर आपके वर्तमान सिस्टम ने वह गलती की है, तो आप इसे आगे नहीं ले जाना चाहते हैं।

मैं ग्राहम रिहंद द्वारा लेखन और ब्लॉगिंग की अत्यधिक अनुशंसा करता हूं। वह सभी प्रकार के पते और उनसे जुड़े ट्रेड-ऑफ के बारे में डेटा क्षेत्र का विशेषज्ञ है।


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


"आपको अंतर्राष्ट्रीय डेटा का समर्थन करने के लिए अंतर्राष्ट्रीय व्यापार संचालन की आवश्यकता नहीं है" - बहुत सही। और उसके शीर्ष पर हम शारीरिक रूप से दूसरे देश की सीमा के पास स्थित हैं। मॉडलिंग टीम ने अंतरराष्ट्रीय पतों के लिए एक समाधान दिया, जो डेटाबेस में लाइन 1, लाइन 2 और लाइन 3 फ़ील्ड प्रदान करना है।
ग्रेग बर्गार्ड्ट

यद्यपि आपने कहा था कि "यह एक स्थूल सामान्यीकरण है" हमारे पास उद्यम के लिए जो पते हैं, उनके लिए एक-पक्ष-फिट-सभी समाधान आपके उत्तर को और अधिक लागू करता है।
ग्रेग बरगद्ट

5

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

क्या है एक पते, वैसे भी? आप एक अच्छा मामला बना सकते हैं कि यह एक स्थान पहचानकर्ता है, लेकिन आप समान रूप से अच्छा मामला बना सकते हैं कि यह वितरण निर्देश है - "सीमेंट कारखाने से नीचे सड़क"। ऑस्ट्रेलिया में, लोगों को लगता है कि पोस्ट कोड स्थान पहचानकर्ता हैं, लेकिन वे नहीं हैं, वे कोड - डिलीवरी निर्देश राउटिंग कर रहे हैं। 4702 रॉकहैम्प्टन मेल सेंटर है, जो एक प्रमुख वितरण नोड है जो एक खनन शहर 300 किमी अंतर्देशीय समुद्र से एमराल्ड तक फैला हुआ है।

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

यदि आप वितरण निर्देश चाहते हैं, तो आप अभी भी अप्रकाशित स्ट्रिंग रखने की सलाह देते हैं क्योंकि इसमें कुछ भी हो सकता है ।

ध्यान दें कि दोनों ही मामलों में मैंने अनारक्षित स्ट्रिंग रखने की सिफारिश की है। ऐसा इसलिए है क्योंकि

  • यह अपने आप में उपयोगी है
  • एक दिन आपको पता चल जाएगा कि इसे कैसे पार्स करना है
  • कुछ दिनों के बाद, आप यह पता लगाएंगे कि इसे सही तरीके से पार्स कैसे किया जाए
  • यह कभी खत्म नहीं होता

संभवतः एक पता हमेशा डिलीवरी निर्देश होता है, जिसमें कम से कम एक स्थान पहचानकर्ता होता है। "123 मेन सेंट, एमरल्ड 4702" को संबोधित एक पत्र में तीन स्थानों को शामिल किया गया है: रॉकहैम्प्टन, एमराल्ड के उत्तर भाग में आरएमसी और एक सड़क का पता। रॉकहैम्प्टन डाकघर बस आरएमसी को भेजेगा। आरएमसी इसे एमरल्ड पोस्ट ऑफिस भेजेगा, और एमरल्ड पोस्ट ऑफिस को उम्मीद है कि 123 मेन स्ट्रीट कहां मिलेगी।


"पता क्या है, वैसे भी? ... आप एक समान रूप से अच्छा मामला बना सकते हैं कि यह वितरण निर्देश है" - बहुत अच्छा बिंदु। मुझे लगता है कि एक पते के "स्थान" पहलू और "डिलीवरी निर्देश" पहलू को इस मामले में डेटाबेस में अलग-अलग फ़ील्ड होना चाहिए।
ग्रेग बरगार्ड

3

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


3

पोस्टकोड / ज़िप कोड को अलग करना, भवन का नाम, सड़क का नाम समझ में आ सकता है। लेकिन तब जब आप "टाउन", "क्षेत्र" आदि को जोड़ना शुरू करते हैं, तो यह संदिग्ध हो जाता है, बस लाइन 1, लाइन 2 आदि की तुलना में। मुद्दा यह है कि मैं और मेरी पत्नी उस शहर के नाम पर सहमत नहीं हो सकते हैं जिसमें हम रहते हैं! क्या "गाँव" नाम को शहर के मैदान में रखा जाना है, या क्या यह सड़क के नाम के नीचे की रेखा में जाता है, स्थानीय शहर को शहर के खेतों में डाल दिया जाता है? (कुछ लोग नाराज हो जाते हैं यदि आप कॉल करते हैं जहां वे एक शहर के बजाय एक गाँव में रहते हैं, तो उसी स्थान पर रहने वाले अन्य लोग नाराज़ हो जाते हैं यदि आप इसे गाँव के बजाय एक शहर कहते हैं!]

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


2
Amazon.uk में मेरे द्वारा देखी गई सबसे अच्छी प्रणाली है, जब मैं पते में टाइप करता हूं, तो वे मुझे मैचों को "स्वीकृत" पते का उपयोग करने का विकल्प देते हैं। हालाँकि अक्सर स्वीकृत पता इमारत में एक अलग कंपनी के लिए होता है, या "मंजिल" आदि को शामिल नहीं करता है, क्योंकि पोस्ट ऑफिस केवल लेटर बॉक्स के बारे में दुलार करता है, न कि जहां इसे लेने के लिए कुछ लेने के लिए।
इयान रिंगरोज 12

2

अन्य उत्तरों में पहले से ही वर्णित समस्याओं के अलावा, कुछ भाषाओं में - विशेष रूप से जर्मनिक - सड़क के नाम यौगिक होते हैं। उदाहरण के लिए, कई जर्मन शहरों / शहरों में "बहनोफॉर्स्टस" होना आम बात है, जो सड़क रेलवे स्टेशन ("बाहनहोफ़" का अर्थ रेलवे / ट्रेन स्टेशन, "स्ट्रैस" का अर्थ सड़क) है। निश्चित रूप से आप इन दो घटकों को अलग कर सकते हैं, लेकिन अब यदि आप उन्हें वापस एक साथ रखना चाहते हैं (प्रोग्रामेटिक रूप से) तो आप तनाव के सवालों के घेरे में आ रहे हैं।

या, "रोमांस" या लैटिनेट भाषाओं में, आपके पास अक्सर फॉर्म का नाम "रुए डे ला पेस" या "बुलेवार्ड डेस चैंप्स-एलेसीस" होता है। अब आपके पास मिश्रण में एक पूर्वसर्ग ("डी") और एक निश्चित लेख ("ले" या "ला") है - और वे संयुक्त हो सकते हैं। क्या वे सड़क के प्रकार या सड़क के नाम का प्रतिनिधित्व करते हैं? (आपको संभवतः उन्हें कहीं स्टोर करने की आवश्यकता है, अन्यथा आप फिर से तनाव में आ रहे हैं।)


मैंने एक बार कुछ इस तरह से मॉडलिंग की थी। लेकिन यह एक बहुत छोटा अनुप्रयोग था, एक मध्यम आकार के विश्वविद्यालय (अमेरिका में) के आवासीय संपत्तियों के रखरखाव कार्यालय के लिए। मैंने निम्नलिखित कारणों से पते बहुत दानेदार बनाये हैं:

  • एक ही नाम वाले क्षेत्र में सड़कें थीं लेकिन एक अलग सड़क "प्रकार" (उदाहरण के लिए "वुड्स एवेन्यू" बनाम "वुड्स कोर्ट")।
  • उपयोगकर्ताओं को रखरखाव के काम का अनुकूलन करने में सक्षम होना चाहिए जैसे कि एक ही ब्लॉक पर दो या अधिक सेवा अनुरोध थे, जिन्हें एक ही समय में संभाला जा सकता था।
  • उपयोगकर्ताओं को एक ही इमारत में विभिन्न इकाइयों (अपार्टमेंट) के बीच मुद्दों को सहसंबंधित करने में सक्षम होना चाहते थे - जैसे कि एक से अधिक अपार्टमेंट में ठंडे तापमान या अपर्याप्त गर्म पानी की सूचना दी गई थी।

... और अन्य कारण जो मुझे अब याद नहीं हैं। (यह 1980 के दशक के अंत में था।)

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


1
आपका 1980 का उदाहरण मेरी बात का एक अद्भुत चित्रण है जिसमें हेरफेर करने के लिए आपको जो भी आयामों की आवश्यकता है, और "... उन्हें संग्रहीत करें या आप तनाव में आ रहे हैं" इसका एक अच्छा उदाहरण है कि स्रोत पाठ को रखना क्यों महत्वपूर्ण है। इसमें अनिवार्य रूप से सभी प्रकार की गैर-कार्यात्मक चीजें शामिल हैं जिन्हें फिर भी संरक्षित किया जाना चाहिए। और अप्रासंगिक लेकिन दिलचस्प चीजों के बारे में बात करते हुए, बुलेवार्ड का अर्थ है "ध्वस्त रक्षात्मक प्राचीर के शीर्ष पर निर्मित सैर"।
पीटर वॉन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.