.net - Does type projection have an opposite, or is it still projection (or just mapping)? -
यह मेरी धारणा पर आधारित है कि एक वस्तु प्रकार ले:
सार्वजनिक वर्ग फल : आईबीसाइक्रफ्रेट, आईफ़्रूट विवरण {// आईबीसिकफ्रेट का कार्यान्वयन सार्वजनिक स्ट्रिंग नाम {प्राप्त करें; सेट; } सार्वजनिक स्ट्रिंग रंग {get; सेट; } // IFruitDetails कार्यान्वयन सार्वजनिक स्ट्रिंग scientific_name {get; सेट; } सार्वजनिक बूल अक्सर_मिस्टेक_फोर_वेटेबल {प्राप्त करें; सेट; } सार्वजनिक फ्लोट औसत_ग्राम {प्राप्त करें; सेट; } सार्वजनिक एट सदी_मस्टेरेटेड {get; सेट; }}
... और इसके प्रकार के एक वस्तु का निर्माण:
सार्वजनिक वर्ग BasicFruit: IBasicFruit {सार्वजनिक स्ट्रिंग नाम {get; सेट; } सार्वजनिक स्ट्रिंग रंग {get; सेट; }}
... को "प्रोजेक्शन", या "प्रकार प्रोजेक्शन" के रूप में जाना जाता है (यह प्रक्षेपण न केवल अनाम प्रकारों पर लागू होता है)।
अब, हम कहते हैं मैं एक सर्वर से मेरे मुवक्किल आवेदन, जहां कुछ अत्यधिक परिष्कृत खेत तर्क उन दो तार पर किया जाता है के लिए एक धारावाहिक BasicFruit
भेजने के लिए, और फिर इसे सर्वर, जहां ORM के बारे में पता नहीं है करने के लिए वापस भेज दिया जाता है BasicFruit
प्रकार, केवल फ्राइट
इकाई का प्रकार। अगर मैं अपने BasicFruit
ऑब्जेक्ट ( BasicFruit
में मौजूद नहीं है उन गुणों की अनदेखी) के आधार पर एक नया फल
ऑब्जेक्ट बनाऊं, तो मेरा ORM जारी रह सकता है यह, कि प्रक्षेपण के विपरीत , क्योंकि मैं उपसमूह से जा रहा हूँ sUPERSET पर है, या यह अभी भी प्रक्षेपण माना जाता है, या यह सिर्फ मानचित्रण?
प्रक्षेपण एक पर विचार किया जा सकता है है मानचित्रण के रूप?
संबंधपरक बीजगणित प्रक्षेपण में एक ऑपरेशन है कि एक संबंध और उस संबंध के के एक सबसेट लेता है कॉलम और एक नया रिटर्न रिटर्न। नया संबंध इनपुट संबंध के समान है, सिवाय इसके कि इसमें केवल निर्दिष्ट कॉलम हैं।
प्रक्षेपण: संबंध - & gt; कॉलम सूची - & gt; रिलेशन
क्योंकि एक ही पंक्ति है, तो निर्दिष्ट स्तंभों के लिए उनके मूल्यों ही कर रहे हैं में अनेक पंक्तियां परियोजना इनपुट संबंध से उत्पादन के संबंध में कम पंक्तियां हो सकती है।
अब उल्टे हुए ऑपरेशन को देखें:
<पूर्व> inverse_projection: संबंध - & gt; कॉलम सूची - & gt; संबंध
यहां हमारे पास एक इनपुट संबंध है जिनके कॉलम नाम आउटपुट रिलेशन में कॉलम का एक सबसेट हैं। अब हमें आउटपुट रिलेशन के कॉलम होने के लिए कॉलम सूची
की आवश्यकता है, जो अब इनपुट रिलेशंस में कॉलम का एक सुपरसेट है। यह थोड़ा अजीब है क्योंकि हमें आउटपुट संबंध के लिए पंक्तियाँ बनाना पड़ता है जहां स्तंभ मानों में से कुछ अनिर्दिष्ट होते हैं। एक रिलेशनल बीजगणित परिप्रेक्ष्य से स्पष्ट रूप से, यह ज्यादा मायने नहीं रखता है आखिरकार, इन अनिर्दिष्ट स्तंभों के लिए डेटा कहां से आता है? इसके अलावा, प्रोजेक्शन ऑपरेशन के विपरीत, इनपुट और आउटपुट संबंधों में हमेशा समान पंक्तियाँ होती हैं।
SQL में हमें तालिका के कुछ स्तंभों को निर्दिष्ट करके डेटा सम्मिलित करने की अनुमति है अनिर्दिष्ट कॉलम उनके डिफ़ॉल्ट मानों पर ले लो।
फल में डालने (नाम, रंग) मूल्यों ( 'सेब', 'लाल'), ( 'सेब', 'हरित'), ( ' नारंगी ',' नारंगी ');
रिलेशनल बीजगणित में वापस जा रहा है यह संबंध के क्रॉस प्रोडक्ट को लेना पसंद है ...
नाम, रंग सेब, लाल सेब, हरा नारंगी, नारंगी
संबंध के साथ ...
SCIENTIFIC_NAME, OFTEN_MISTAKEN_FOR_A_VEGETABLE, AVERAGE_GRAMS, CENTURY_DOMESTICATED "", झूठी, अशक्त, अशक्त
< / Pre>एक तथाकथित उल्टे प्रक्षेपण करने की तुलना में। फिर, वे समान रूप से अवधारणात्मक हैं, लेकिन आप वास्तव में डिफ़ॉल्ट मानों के साथ क्रॉस उत्पाद ले रहे हैं।
Comments
Post a Comment