2010-04-12 17 views
8

मैं कक्षा तालिका विरासत का उपयोग करने के लिए झुकाव, विशेषज्ञता/सामान्यीकरण मॉडल करने की कोशिश कर रहा हूं (this answer देखें)।कक्षा तालिका विरासत बनाम denormalization

हालांकि, मेरे सहकर्मी के पास रखरखाव और प्रदर्शन चिंताएं हैं क्योंकि एक ही तालिका के कई (50+) ओवरलैपिंग विशेषज्ञ होंगे। उनका यह सुझाव निम्नलिखित कॉलम के साथ एक मेज बनाने के लिए है: सामान्य मेज पर

  • संदर्भ
  • एक मेज है कि एक तालिका विशेषता रखता है
  • संदर्भ विशेषज्ञताओं के प्रकार का कहना है के लिए संदर्भ को महत्व देता

इस तरह सभी गुण एक तालिका में बनाए रखा जाता है, और विशेषज्ञता कॉलम द्वारा फ़िल्टर किया जा सकता है। मुझे नहीं पता कि यह डिज़ाइन क्या कहलाता है, लेकिन मुझे चिंता है कि यह EAV से संबंधित है ...

मेरी मुख्य चिंता modification anomalies है, लेकिन इसके अलावा मुझे कोई कारण नहीं दिख रहा है कि यह एक बुरा विचार है। क्या एक समाधान दूसरे से स्पष्ट रूप से बेहतर है, या क्या हमें सिर्फ एक चुनना चाहिए और आगे बढ़ना चाहिए?

उत्तर

7

टेबल तैयार करते समय मैं आमतौर पर उन्हें एक चीज़ के साथ दिमाग में डिजाइन करता हूं: उपयोग।

मैं वहां डेटा कैसे लिखूंगा और मैं इसे वापस कैसे पूछूंगा। मैं डिजाइन के लिए डिजाइन को लिखता हूं या लिखता हूं, जो प्रदर्शन के लिए अधिक महत्वपूर्ण होगा, दोहराव, आदि

आपका प्रश्न वास्तव में आपके उपयोग की व्याख्या नहीं करता है, इसलिए यहां मेरे उत्तर में सभी सुझाव पूर्ण अटकलें हैं। यदि आप दिन में 20k पंक्तियां डालते हैं तो डिज़ाइन अलग-अलग होगा यदि आप एक दिन में 5 डालते हैं। इसके अलावा यदि आपको किसी भी प्रकार के किसी भी कॉलम पर प्रति दिन 20k खोजों को चलाने की आवश्यकता है या यदि आप एक दिन में 5 चलाते हैं। इससे प्रभावित होगा कि आप अपनी टेबल कैसे सेट अप करते हैं।

इसी के साथ

कहा, एक सामान्य दृष्टिकोण इस तरह कुछ करने के लिए हो सकता है:

50 + ओवरलैपिंग विशेषज्ञताओं टेबल पर एक बुरा सपना प्रश्नों लिखने के लिए किया जाएगा। मैं 1 मुख्य सामान्य तालिका और शायद 5 या अन्य सामान्य सारणी के साथ आने का प्रयास करूंगा जहां आप "सिंगल टेबल विरासत" में थोड़ा डुबकी लगा सकते हैं (जहां आपके पास कई कॉलम हो सकते हैं जो प्रत्येक प्रकार पर लागू नहीं होते हैं, लेकिन इसमें शामिल हैं आप जितना संभव हो उतने प्रकार से कई स्तंभों को कवर करते हैं)। वहां से शेष कॉलम को ईएवी जैसे दृष्टिकोण के साथ कवर किया गया है।

+0

बस एक बैठक से वापस आया, और यह हमारे साथ समाप्त होने के समान ही है। विशेषज्ञों का एक विशाल बहुमत सिर्फ सूचनात्मक था, इसलिए हमने उनके लिए सामान्य डेटा मॉडल दृष्टिकोण का उपयोग किया। उन विशेषताओं के लिए जिन्हें अच्छे प्रदर्शन की आवश्यकता है/हमने बहुत पूछताछ करने की योजना बनाई है, हमने कक्षा तालिका विरासत का उपयोग किया। तो धन्यवाद, महान जवाब! –

संबंधित मुद्दे