हमारे पास एक टीम है जो सॉफ्टवेयर डेवलपर्स के लिए तालिकाओं और संबंधों को डिजाइन करती है। हमारे संगठन में, वे 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 के साथ काम करने के लिए प्राप्त कर सकते हैं, लेकिन यह अधिक कठिन होगा।
हमारे विशिष्ट अनुप्रयोग के लिए, हमें व्यवसायों और लोगों (भौतिक, मेलिंग, शिपिंग, आदि) के लिए कई प्रकार के पते संग्रहीत करने की आवश्यकता है। हमें प्रिंट करने योग्य फ़ॉर्म पत्र उत्पन्न करने की आवश्यकता हो सकती है, लेकिन उस आवश्यकता पर अब तक चर्चा नहीं की गई है।
हमारे संगठन में कुछ अन्य चीजों का समर्थन करने की आवश्यकता है:
- लेखा परीक्षा (पूर्ण इतिहास तालिका के साथ)
- मुद्रण मेलिंग लेबल
- मुद्रित रूप उत्पन्न करना
- रिपोर्टिंग (राष्ट्रीय और क्षेत्रीय सरकारों के लिए)
जबकि हमारा अनुप्रयोग वह सब कुछ नहीं कर रहा है जो हर दूसरा अनुप्रयोग कर रहा है, कई घटकों में पते को विभाजित करना एक उद्यम मानक है जहां मैं काम करता हूं। भले ही हमारा आवेदन इससे लाभान्वित हो, हम ऐसा करने के लिए मजबूर हैं।
सेमी संबंधित स्टैकऑवरफ्लो प्रश्न: एक अच्छा एड्रेस पार्सर कहां है जो बंद था, लेकिन यह बताता है कि पार्सिंग एड्रेस कितना मुश्किल हो सकता है।
मेरे लिए उनके डिजाइन निर्णय को बेहतर ढंग से समझने के लिए, और विचार पर हमारे ग्राहक को बेचने के लिए ...
सड़क के पते को अलग-अलग स्तंभों में विभाजित करके क्या समस्याएं हल की जाती हैं?
बोनस किसी को भी, जिसने इस तरह की प्रणाली लागू की है, क्योंकि वे समस्याओं में भाग गए।