अवलोकनकिसी भी SQL डेटाबेस में पता स्थान कैसे डिज़ाइन किया जाए?
मैं रिपोर्टिंग और कैलिफोर्निया के लिए मानचित्रण आवेदन कुछ आपातकालीन सेवाएं पर काम कर रहा हूँ (अजीब की तरह, वहाँ आग पर विचार, अभी ...)। हमें आंतरिक सरकारी इकाई के लिए जनसांख्यिकीय और आपातकालीन डेटा मानचित्रण करने की आवश्यकता है।
हमारे पास कैलिफ़ोर्निया में सड़कों, शहरों और पड़ोसों के सभी हैं। प्रत्येक पड़ोस में यह भी प्रासंगिक आकारफाइल है (लम्बे लंबे समय तक इसकी सीमाओं को परिभाषित करता है)। यह हमें यूएस जनगणना बोर्ड (सभी सार्वजनिक डोमेन सामग्री) वेबसाइट द्वारा दिया गया था।
समस्या
मुझे यकीन है कि कैसे सबसे अच्छा डीबी टेबल डिजाइन करने के लिए नहीं कर रहा हूँ। हमें बताया नहीं गया है कि हमें किस प्रकार का डीबी उपयोग करने की ज़रूरत है .. इसलिए अगर हम मदद करते हैं तो हम सुझावों के लिए खुले हैं। हमारे पास एमएस एसक्यूएल 2005 और 2008 (और '08 में स्थानिक सामान) के साथ अनुभव है।
हमारे पास निम्न कानूनी डेटा हो सकता है।
- सड़क, शहर, राज्य
- शहर, राज्य
- पड़ोस, राज्य
- राज्य
कारण है कि राज्य एक कानूनी स्थान है, क्योंकि हमें बताया करते हैं कि इसमें हो सकता है अन्य राज्यों को बेचा गया, इसलिए हमें इसके लिए योजना बनाने की जरूरत है।
तो, मूल रूप से, मैं इस बारे में सोचा ...
- LocationId पूर्णांक पी पहचान
- स्ट्रीट NVARCHAR (100)
- पड़ोस NVARCHAR (100)
- शहर NVARCHAR (100)
- राज्य NVARCHAR (100)
- अक्षांश VARCHAR (15)
- रेखांश VARCHAR (15)
- शेपफ़ाइल
उन में से कोई भी व्यर्थ कर रहे हैं, btw। लेकिन थोड़ी देर के बाद, मैंने सोचा कि खेतों में इतने सारे 'कैलिफ़ोर्निया' टेक्स्ट या 'सैन डिएगो' टेक्स्ट होने का कचरा था। इसलिए मैंने नेबरहुड, सिटी और स्टेट फ़ील्ड को अपनी नई टेबल (उदाहरण के लिए लुकअप) के लिए एक विदेशी कुंजी बनाकर तालिका को और अधिक सामान्यीकृत करने के लिए बदल दिया .. और वे दो फ़ील्ड अब पूर्ण हैं।
तो .. यह सब ठीक काम करता है। सिवाय इसके कि जब मैं उन पर कुछ एसक्यूएल स्टेटमेंट्स कोशिश करता हूं और करता हूं। कुल एफके के कारण, यह इन सभी बाहरी प्रश्नों को बनाने के लिए एक दुःस्वप्न है :(
मुख्य तालिका, उप-लुकअप टेबल (उदाहरण के लिए पड़ोस, शहर और राज्य) आईडी के माध्यम से जुड़े हुए हैं और फिर सभी को रखने के बारे में क्या है यह एक दृश्य में है? याद रखें, पड़ोस और सीटीआईडीआईडी पर्याप्त होगा .. ???
मैं सिर्फ इस पर लोगों के विचार देखना चाहता हूं और कारण उन्होंने अपने सुझाव दिए हैं।मैं वास्तव में चिंतित और उलझन में हूं लेकिन सीखने के लिए उत्सुक हूं।
कृपया मदद करें!
संपादित करें 1: मुझे एक RDBMS डेटाबेस से चिपकने की आवश्यकता है।
संपादित करें 2: मैं एक तालिका (डी-सामान्यीकृत) जाने के बारे में सोच रहा हूं ताकि बाधाओं के साथ unqiue या बहु सारणी को मुख्य तालिका (उदा। स्थान (मुख्य तालिका) , पड़ोस, शहर, राज्य ... सामान्यीकृत डीबी स्कीमा)।
संपादित करें 3: नमूना में जोड़ा गया शहर, दूसरी सूची।
संपादित करें 4: जोड़ा गया प्रश्न प्रश्न।
जब आप विदेशी कुंजी बन गए तो आपने शहर और राज्य को निरर्थक क्यों बदल दिया? – Oddthinking
और आपने दूसरी सूची में शहर क्यों छोड़ा ... किस प्रकार के साथ? –
@ ओडिथिंकिंग: मुझे नहीं लगता - यह हमेशा था। मुख्य रूप से क्योंकि यदि मेरे पास पड़ोस है, तो इसमें कोई शहर नहीं है; अगर मेरे पास एक राज्य है, तो इसमें कोई अन्य चीज नहीं है, आदि (हेरकाही)। राज्य शून्य नहीं होना चाहिए, वह एक बू-बू था। @ जोन: गलती। फिक्स्ड: पी चीयर्स! –