2009-02-05 71 views
5

मैं एसक्यूएल और रिलेशनल डेटाबेस के लिए नया हूं और मेरे पास जो भी कल्पना होगी वह एक आम समस्या है।ज़िप कोड से शहर/राज्य और डेटाबेस में इसके विपरीत?

मैं एक वेबसाइट बना रहा हूं और जब प्रत्येक उपयोगकर्ता एक पोस्ट सबमिट करता है तो उन्हें या तो ज़िप कोड या शहर/राज्य में स्थान प्रदान करना होता है।

इसे संभालने के लिए सबसे अच्छा अभ्यास क्या है? क्या मैं बस एक ज़िप कोड और शहर और राज्य तालिका बना रहा हूं और उनके खिलाफ पूछताछ करता हूं या क्या इसे हल करने के लिए तैयार समाधान तैयार हैं?

यदि मैं कोई फर्क पड़ता हूं तो मैं SQL Server 2005 का उपयोग कर रहा हूं।

मुझे किसी शहर/राज्य को दिए गए ज़िप कोड को पुनर्प्राप्त करने में सक्षम होना चाहिए या मुझे ज़िप कोड दिए गए शहर के राज्य को थूकने में सक्षम होना चाहिए।

उत्तर

9

आपके पास कुछ विकल्प हैं। आप किसी ऐसे व्यक्ति से bulk zip-code library खरीद सकते हैं जो राज्य द्वारा ज़िप कोड, शहरों, काउंटी इत्यादि सूचीबद्ध करेगा, या आप किसी को access a web service पर भुगतान कर सकते हैं जो एक ही कार्य को अधिक बारीक स्तर पर कर देगा।

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

उपयोगकर्ता इनपुट की कमजोरियों से निपटने तक, आप address validation web service की सहायता को शामिल करने पर विचार कर सकते हैं, हालांकि उनमें से अधिकतर को सत्यापित करने के लिए एक पूर्ण शिपिंग पता की आवश्यकता होती है।

संपादित करें: ऐसा लगता है कि SourceForge project offering free zip-code data है, जिसमें लेट/लॉन डेटा आदि शामिल हैं। सुनिश्चित नहीं है कि यह कितना सही या चालू है।

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

+0

यह इस तरह से काम नहीं करेगा, दुर्भाग्य है। – alphadogg

+0

मन विस्तृत करना? –

+0

मैंने वोट नहीं दिया, लेकिन इस सवाल का अपना जवाब देखें। जब तक ओपी में उपयोगकर्ता शामिल न हो, तब तक ज़िप या इसके विपरीत शहर से बाहर निकलने वाले मुद्दे हो सकते हैं। अन्यथा, आपने मूल रूप से कहा कि मैंने क्या कहा ... – alphadogg

0

मेरी समझ यह है कि USPS web API उपयोग करने के लिए स्वतंत्र है, लेकिन उस अनुमति की आवश्यकता है जो प्रोग्राम की प्रकृति और इसका उपयोग करने के कारण की वजह से कई कारकों पर निर्भर करता है।

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

+0

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

3

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

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

1

आप जो भी बना रहे हैं उसके विवरण के आधार पर, येलप में एक निःशुल्क neighborhoods API है जो आपको जो चाहिए उसे प्राप्त करने में सक्षम हो सकता है। यह सुनिश्चित करने के लिए कि आप अनुपालन में रहें, उनकी उपयोग की शर्तों और सामानों की जांच करना सुनिश्चित करें।

मुझे पता है कि यह एक डीबी केंद्रित उत्तर नहीं है, लेकिन आप जो कर रहे हैं वह डेटाबेस में सबसे अच्छा नहीं हो सकता है।

0

सुनिश्चित नहीं है कि मैं प्रश्न समझता हूं। क्या आपको दोनों को अनुमति देने की ज़रूरत है और बाद में, दोनों को वापस कर दें?

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

+0

कोई उपयोगकर्ता या तो प्रदान कर सकता है, और मुझे दोनों की आवश्यकता है। – mmcdole

+0

ठीक है, तो कई मामलों में आप उपयुक्त लापता जानकारी की गणना करने में सक्षम नहीं होंगे जबतक कि आप सड़क शामिल न करें। – alphadogg

+0

उदाहरण के लिए, न्यूयॉर्क शहर में छह ज़िप कोड हैं। यदि आप उनमें से एक लेते हैं, तो 10027 कहें, कि ज़िप कोड दो शहरों में है: "न्यूयॉर्क सिटी" और "मैनहट्टन"। उल्लेख नहीं है कि आप "न्यूयॉर्क शहर" को "एनवाईसी", "एनवाई सिटी", "न्यूयॉर्क", आदि के रूप में आपूर्ति कर सकते हैं ... – alphadogg

0

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

यूएसपीएस वेबसाइट को पिंग करना एक और विकल्प होगा। मेरा मानना ​​है कि उनके पास ज़िप कोड द्वारा एक शहर/राज्य दिखने वाला पृष्ठ है।

-1

मुझे वह हरा मिला। यहाँ एक नि: शुल्क एक (ज़िप किया गया, csv) में बताया गया है:

Hosted At maphacks.com

हेडर ज़िप, शहर, राज्य, अक्षांश, देशांतर, समय क्षेत्र अब कर रहे हैं डीएसटी

, अपने संभावित नुकसान है कि आप नहीं कर रहे हैं अपडेट के लिए भुगतान (जो आपको अंत में काट सकता है, लेकिन वे इसे कुछ हद तक अद्यतन रखने की कोशिश करते हैं)

+0

मुफ्त में देखें। कभी-कभी, वे गायब हो जाते हैं। या, अद्यतन साफ ​​नहीं हैं। मैं एक बार एक बार एक बार फिर से भरोसा किया ... एक बार। यदि आपका डेटाबेस महत्वपूर्ण है, तो उस डेटा के साथ मत खेलो। GIGO। – alphadogg

1

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

बस अपने मौजूदा नाम/पता मेज से शहर/राज्य देखने, बशर्ते:

1

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

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

+0

+1 विचारों को समझना! – Ramesh

-1

मैं इस वेबसाइट में जोड़ना चाहते हैं देखते हैं।

http://www.unitedstateszipcodes.org/zip-code-database/

यदि आप (2014-03-20) के रूप में व्यक्तिगत/शैक्षिक के लिए उपयोग मुक्त करने के लिए डेटा डाउनलोड कर सकते हैं।

+0

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। –

+0

@SimonAdcock आप उन जानकारी को शामिल करना चाहते हैं? ;) – Christoph

+0

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

0

अमेरिका स्टेट्स टेबल्स के लिए, आप क्वेरी निम्न का उपयोग कर यह सोचते हैं आप StateId और States तालिका में StateName है और आप StateId ऑटो वेतन वृद्धि हो सकती है।

इस क्वेरी अमेरिका के 50 राज्यों ...

INSERT INTO States 
     (StateName) 
     VALUES 
('Alabama'), 
('Alaska'), 
('Arizona'), 
('Arkansas'), 
('California'), 
('Colorado'), 
('Connecticut'), 
('Delaware'), 
('District of Columbia'), 
('Florida'), 
('Georgia'), 
('Hawaii'), 
('Idaho'), 
('Illinois'), 
('Indiana'), 
('Iowa'), 
('Kansas'), 
('Kentucky'), 
('Louisiana'), 
('Maine'), 
('Maryland'), 
('Massachusetts'), 
('Michigan'), 
('Minnesota'), 
('Mississippi'), 
('Missouri'), 
('Montana'), 
('Nebraska'), 
('Nevada'), 
('New Hampshire'), 
('New Jersey'), 
('New Mexico'), 
('New York'), 
('North Carolina'), 
('North Dakota'), 
('Ohio'), 
('Oklahoma'), 
('Oregon'), 
('Pennsylvania'), 
('Puerto Rico'), 
('Rhode Island'), 
('South Carolina'), 
('South Dakota'), 
('Tennessee'), 
('Texas'), 
('Utah'), 
('Vermont'), 
('Virginia'), 
('Washington'), 
('West Virginia'), 
('Wisconsin'), 
('Wyoming'); 
संबंधित मुद्दे