ग्राहकों और सेवाओं से मेल खाने के लिए एक मॉडल पर विचार करें। ग्राहक कई बार सेवा के उपभोक्ताओं और सेवाओं के उपभोक्ता दोनों हो सकते हैं। ग्राहक व्यक्ति या समूह (कंपनियां) हो सकते हैं, उत्तरार्द्ध में एकाधिक संपर्क हो सकते हैं। संपर्क में कई पते, फोन, ई-मेल हो सकते हैं। इनमें से कुछ रिश्ते एक-से-एक (उदाहरण के लिए, प्रदाता की सेवा) होंगे, लेकिन अधिकांश एक-से-अधिक या कई से अधिक होंगे (एक कंपनी में एकाधिक संपर्कों का एक ही पता होगा)।"मास्टर" सहयोगी तालिका?
इस मॉडल कई साहचर्य टेबल आम तौर पर मौजूद होगा, उदाहरण के लिए, client_contact, contract_addr, contact_phone, contact_email, SERVICE_PROVIDER, service_consumer में, आदि
आप किसी दिए गए सेवा के उपभोक्ताओं के लिए संपर्क जानकारी के लिए एक सरल प्रश्न जारी कहो। डेटा युक्त छः इकाई तालिकाओं के अलावा, जुड़ने में पांच सहयोगी तालिकाओं का संदर्भ दिया जाएगा। इस तरह की पूछताछ के बारे में विशेष रूप से दिलचस्प कुछ भी नहीं - ज़ाहिर है - हम इसे हर दिन करते हैं।
यह मेरे लिए हुआ हालांकि: सभी संगठनों को रखने वाला एक "मास्टर" सहयोगी तालिका क्यों नहीं है? इसके लिए इस मास्टर टेबल को दो पीके के अलावा "एसोसिएशन टाइप" होना चाहिए, और सभी पीके के लिए एक ही प्रकार (इन्ट्स, GUIDs इत्यादि) होना चाहिए।
एक तरफ, प्रश्न अधिक जटिल हो जाएंगे क्योंकि प्रत्येक जुड़ने के लिए प्रकार और पीके निर्दिष्ट करने की आवश्यकता होगी। दूसरी तरफ, सभी जॉइन एक ही टेबल तक पहुंचेंगे, और उपयुक्त इंडेक्सिंग और कैशिंग प्रदर्शन नाटकीय रूप से सुधार सकते हैं।
मुझे लगता है कि इस दृष्टिकोण का वर्णन करने वाला एक पैटर्न (या विरोधी पैटर्न) हो सकता है, लेकिन ऑनलाइन कुछ भी नहीं मिला है। क्या किसी ने कोशिश की है? यदि हां, तो क्या यह स्केल करता है?
आपके द्वारा प्रदान किए जा सकने वाले किसी भी संदर्भ की सराहना की जाएगी।
पसंदीदा और अपरिवर्तित, क्योंकि मुझे लगता है कि यह एक बहुत बुरा विचार है, लेकिन मैं वास्तव में सटीक (तकनीकी) कारण को इंगित नहीं कर सकता। कोई तर्क दे सकता है कि आप इस सेटअप के साथ मुद्दों को लॉक करने के लिए बहुत कमजोर हैं, और यदि आवश्यक हो तो आप वास्तव में अपने कई से अधिक संबंधों में मेटा डेटा नहीं जोड़ सकते हैं। साथ ही, मुझे लगता है कि आपके मामले में उल्लिखित स्थितियों से निपटने के लिए उचित आरडीबीएमएस अनुकूलित किया गया है। –
यह मेरा विचार था, यही कारण है कि मैं आश्चर्यचकित था कि इसे वास्तव में एक बुरा विचार के रूप में दस्तावेज नहीं किया गया, कम से कम जहां सीआरयूडी का बहुत कुछ होगा। मुझे कम TX वॉल्यूम्स के साथ संदेह है, और जहां प्रश्न कम अलगाव के साथ रह सकते हैं, यह व्यवहार्य हो सकता है। मुझे लगता है कि एकल "मास्टर" तालिका बेहतर अनुकूलन उत्पन्न कर सकती है, लेकिन यह विशिष्ट आरडीबीएमएस पर निर्भर हो सकती है। योजनाओं की तुलना ("मास्टर" बनाम reguar assoc के साथ) निर्देशक होगा। – djhill8262
मुझे लगता है कि कुंजी कुंजी या इंडेक्स का उच्च ऑर्डर हिस्सा बन जाएगा, इसलिए इसमें कुछ ऐसा होगा: टाइप = 'टाइप 1' और पीके 1 = पीके 2 पर? क्या इस मामले में प्रदर्शन वास्तव में बेहतर होगा? –