11

मैं कक्षा तालिका विरासत (सीटीआई) के बारे में पढ़ रहा हूं और खोज रहा हूं कि मैं इसे समग्र रूप से पसंद करता हूं। मेरे पास सवाल यह है कि क्या सिंगल टेबल विरासत (एसटीआई) के लिए कोई विशिष्ट उपयोग केस है जहां आप इसका उपयोग सीटीआई पर करेंगे?सिंगल टेबल विरासत या कक्षा तालिका विरासत?

मैंने http://rhnh.net/2010/07/02/3-reasons-why-you-should-not-use-single-table-inheritance पढ़ा और जहां तक ​​मुझे पता है, यह ठोस है। एसटीआई के लिए उपयोग मामले व्यवहार में अंतर है लेकिन डेटा नहीं।

उत्तर

7

मैं आपको एक महान लेख को इंगित करना चाहता हूं जो मैंने पाया है कि स्पष्टता के साथ क्यों और कब सीटीआई का उपयोग करना है। LINK

+0

इस – apneadiving

+1

के लिए धन्यवाद, इसके अलावा, एक और लिंक जो आपको मेरा नेतृत्व करता है http://peterhamilton.github.com/citier/ है जिसके बारे में बहुत सारे ब्लॉग लिंक हैं। धन्यवाद। – SpaceGhost

+0

@SpaceGhost यहां एक गिटहब पेजस साइट नहीं है। –

0

आपके जैसे व्यवहार मतभेदों के लिए एसटीआई का उपयोग करें। एक उदाहरण जिसका मैं उपयोग करूंगा:

आपके पास खरीद है, और आपके पास पार्टिकल खरीद है, डेटा के साथ एकमात्र अंतर यह है कि जब कोई पार्टियन खरीद समाप्त हो जाता है, तो यह एक नव निर्मित खरीद से संबंध प्राप्त करता है।

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

उस मामले में मैं सीटीआई पर एसटीआई का उपयोग करूंगा।

हालांकि यदि डेटा कभी भी भिन्न होता है, तो शायद मैं एसटीआई तालिका से संबंधित एक और तालिका बनाउंगा, और कई अलग-अलग क्षेत्रों के मामले में, शायद मैं सीटीआई के बारे में सोचूंगा।