मेरे छात्र की राय में एकल तालिका विरासत डाटाबेस को अन्य दृष्टिकोण बनाकर अन्य छोटे बना देती है क्योंकि वह केवल 1 तालिका का उपयोग करती है।
आवश्यक नहीं है। यदि आपके पदानुक्रम की इकाइयों में आम तौर पर अधिक गुण नहीं हैं, तो इसके परिणामस्वरूप कई शून्य कॉलम होंगे और बहुत सारी जगह बर्बाद हो जाएगी।
लेकिन मैंने पढ़ा कि बिल काविन के अनुसार क्लास टेबल विरासत अधिक पसंदीदा दृष्टिकोण है।
IMHO, कोई एक जवाब है, विभिन्न रणनीतियों (पदानुक्रम प्रति एक मेज, ठोस वर्ग प्रति एक मेज, वर्ग प्रति एक तालिका) सभी शक्तियों और कमजोरियों है और एक को चुनने या अन्य सन्दर्भ पर निर्भर करती है।
एकल तालिका विरासत पेशेवरों और विपक्ष और किस मामले में इसका उपयोग किया जाता है?
इस रणनीति अच्छा है जब आप "बहुरूपी" क्वेरी (कोई मिलती है या यूनियनों की जरूरत) जब तक आप (नल स्तंभों की संख्या को कम करने और डीबीए को समझाने कि एक denormalized स्कीमा एक नहीं होगा कर सकते हैं लंबी दौड़ में समस्या)।
वास्तव में, मैं स्कॉट Ambler (ORM के बारे में संदर्भ कागज के लेखक) द्वारा Mapping Objects to Relational Databases: O/R Mapping In Detail जाँच करने के लिए सुझाव है और विशेष रूप से खंड 2.6 Comparing The Strategies - वहाँ उसे टीका में कोई मतलब नहीं है - कि मैं नीचे के हवाले कर रहा हूँ:
लाभ:
- सरल दृष्टिकोण।
- नई कक्षाएं जोड़ने में आसान, आपको अतिरिक्त डेटा के लिए नए कॉलम जोड़ने की आवश्यकता है।
- बस पंक्ति के प्रकार को बदलकर बहुलकवाद का समर्थन करता है।
- डेटा का उपयोग तेजी से है क्योंकि डेटा एक तालिका में है।
- विज्ञापन-रिपोर्ट रिपोर्टिंग बहुत आसान है क्योंकि सभी डेटा एक तालिका में पाया जाता है।
नुकसान: वर्ग पदानुक्रम के भीतर
- युग्मन क्योंकि सभी वर्गों सीधे ही मेज पर मिलकर कर रहे हैं बढ़ जाती है। एक एक वर्ग में परिवर्तन तालिका को प्रभावित कर सकता है जो तब पदानुक्रम में अन्य कक्षाओं को प्रभावित कर सकता है।
- स्थान डेटाबेस में संभावित रूप से बर्बाद हो गया।
- प्रकार का संकेत जटिल हो जाता है जब प्रकारों के बीच महत्वपूर्ण ओवरलैप मौजूद होता है।
- तालिका बड़े पदानुक्रमों के लिए जल्दी से बढ़ सकती है।
जब उपयोग करने के लिए:
- यह सरल और/या उथले वर्ग पदानुक्रम के लिए एक अच्छी रणनीति जहां है पदानुक्रम के भीतर प्रकार के बीच कम या कोई ओवरलैप है।
लेकिन मैं पूरी तरह से पूरे पेपर को पढ़ने की सलाह देता हूं।
स्रोत
2010-05-31 23:47:13
बहुत बहुत धन्यवाद पास्कल! अब मैं और अधिक समझता हूं – Yosef
अच्छी व्याख्या और महान लेख के लिए आपको बहुत बहुत धन्यवाद! – Yosef