2011-03-25 17 views
22

के बीच क्या अंतर है, मैं यहां बुनियादी संबंधपरक बीजगणित ऑपरेटरों का जिक्र कर रहा हूं।
जैसा कि मैंने इसे देखा, परियोजना के साथ किया जा सकता है सब कुछ चुनने के साथ किया जा सकता है।चयन और परियोजना संचालन

मुझे नहीं पता कि कोई अंतर है या कोई निश्चित नवाचार है जिसे मैंने याद किया है।

क्या लोगों @ ऐसा लगता है कर

+4

हर्बलनेसेंस का जवाब पूरी तरह से सही है, लेकिन मूल विचार यह है कि चयन ऑपरेटर के साथ आप निर्दिष्ट पंक्तियों को निर्दिष्ट करते हैं, प्रक्षेपण ऑपरेटर के साथ आप निर्दिष्ट करते हैं कि आप कौन से कॉलम चाहते हैं। SAT की टिप्पणी के लिए –

+0

+1 –

+0

कृपया ध्यान दें कि यह प्रश्न SQL के SELECT कथन के विरोध में बीजगणित ऑपरेटरों के संबंध में है। मतभेदों के स्पष्ट स्पष्टीकरण के लिए @ EmergeStronger का उत्तर पढ़ें। – shrmn

उत्तर

37

ऑपरेशन चुनें: यह कार्रवाई एक मेज (संबंध) से पंक्तियां चुनने के लिए प्रयोग किया जाता है कि किसी दिए गए तर्क है, जो एक predicate के रूप में कहा जाता है निर्दिष्ट करता है। भविष्यवाणी उपयोगकर्ता की पसंद की पंक्तियों का चयन करने के लिए एक उपयोगकर्ता परिभाषित शर्त है।

परियोजना ऑपरेशन: उपयोगकर्ता तालिका (रिलेशन) की सभी विशेषताओं बल्कि चयन से कुछ विशेषताओं के मानों को चुन, में रुचि रखता है है, तो एक PROJECT ऑपरेशन के लिए जाना चाहिए।

अधिक देखें: Relational Algebra and its operations

28

परियोजना कॉलम समाप्त करते हुए चयन समाप्त पंक्तियाँ।

12

रिलेशनल बीजगणित 'चयन' और 'प्रोजेक्शन' में अलग-अलग ऑपरेशन होते हैं, लेकिन SQL SELECT इन परिचालनों को एक ही कथन में जोड़ती है।

एक संबंध (तालिका) में tuples (पंक्तियों) को पुनर्प्राप्त करें जिसके लिए 'predicate' खंड (WHERE खंड) में स्थिति सही है।

प्रोजेक्ट निर्दिष्ट विशेषताओं (कॉलम) को पुनर्प्राप्त करता है।

निम्नलिखित एसक्यूएल चयन करें क्वेरी:

select field1,field2 from table1 where field1 = 'Value'; 

संबंधपरक बीजगणित के दोनों प्रोजेक्शन और चयन के संचालन का एक संयोजन है।

1

चयन ऑपरेशन का उपयोग संतुष्ट चयन स्थिति से संबंधित टुपल के उप-समूह का चयन करने के लिए किया जाता है, यह स्थिति को संतुष्ट करने वाले उन टुपल को फ़िल्टर करता है। चयन ऑपरेशन को क्षैतिज विभाजन के रूप में क्षैतिज विभाजन के रूप में देखा जा सकता है - उन tuple स्थिति को संतुष्ट चुने गए हैं और उन टुपल को स्थिति का चयन नहीं किया जाता है सिग्मा (आर) प्रोजेक्शन ऑपरेशन का उपयोग संतुष्ट चयन स्थिति से संबंधित एक विशेषता का चयन करने के लिए किया जाता है। यह केवल उन टुपल को फ़िल्टर करता है जो इस स्थिति को संतुष्ट करते हैं। प्रोजेक्शन ऑपरेशन को लंबवत विभाजन के रूप में दो भाग में देखा जा सकता है- उन संतुष्टियों को संतुष्ट किया गया है, जिन्हें अन्यΠ (आर) विशेषता सूची विशेषता का एक अंक

6

प्रोजेक्ट एक कथन नहीं है। यह चयन कथन की क्षमता है। चयन कथन में तीन क्षमताओं हैं। वे चयन, प्रक्षेपण, शामिल हैं। चयन- यह पंक्तियों को पुनर्प्राप्त करता है जो दिए गए प्रश्न से संतुष्ट हैं। प्रक्षेपण - यह दिए गए प्रश्न से संतुष्ट कॉलम चुनता है। जुड़ें- यह दो या दो से अधिक तालिकाओं में शामिल होता है

+1

छोड़ना अपनी वर्तनी में सुधार करें, अन्यथा यह वाक्य –

1

Project तालिका में स्तंभों को प्रभावित करेगा जबकि Select पंक्तियों को प्रभावित करता है।दूसरी तरफ Project कॉलम डेटा के सभी प्रकारों का चयन करने के बजाय specefic गुणों के साथ कॉलम का चयन करने के लिए उपयोग किया जाता है

0

कुछ शर्तों के साथ संबंधों से पंक्तियों को निकालने का चयन करें और परियोजना के साथ या उसके संबंध में विशेष रूप से गुण/कॉलम की विशेष संख्या निकालें शर्त।

0

एसपीएल में संबंध ऑपरेटर (π) में प्रोजेक्ट ऑपरेटर (π) और SQL में SELECT कीवर्ड के बीच का अंतर यह है कि यदि परिणामस्वरूप तालिका/सेट में एक ही टुपल की एक से अधिक घटनाएं होती हैं, तो π उनमें से केवल एक ही लौटाएगा, जबकि एसक्यूएल चयन सभी वापस आ जाएगा।

0

परिणाम तालिका की केवल कार्डिनिटी बदलता है लेकिन परियोजना दोनों रिश्ते और कार्डिनिटी की डिग्री बदलती है।

0

अंतर बीजगणित संबंध में आता है जहां परियोजना कॉलम को प्रभावित करती है और पंक्तियों को प्रभावित करती है। हालांकि क्वेरी वाक्यविन्यास में, शब्द का चयन करें। परियोजना के रूप में ऐसी कोई सवाल नहीं है। मान लीजिए कि उपयोगकर्ताओं के नाम पर एक सारणी है जिसमें हजारों रिकॉर्ड (पंक्तियां) हैं और तालिका में 6 फ़ील्ड हैं (उपयोगकर्ता आईडी, फ़ेनाम, लनाम, आयु, शब्द, वेतन)। आइए कहें कि हम संवेदनशील डेटा (उपयोगकर्ता आईडी, कीवर्ड और वेतन) तक पहुंच प्रतिबंधित करना चाहते हैं और डेटा तक पहुंचने के लिए भी सीमित करना चाहते हैं। Mysql maria डीबी में हम निम्नानुसार एक दृश्य बनाते हैं (दृश्य उपयोगकर्ता को चुनें Fname, Lname, उपयोगकर्ताओं की आयु 100 से सीमित करें;) हमारे विचार से हम जारी करते हैं (उपयोगकर्ता 1 से Fname का चयन करें;)। यह क्वेरी दोनों एक चयन और एक परियोजना है

+0

वाक्य का अर्थ पूरी तरह से बदलता है। पहले से ही वास्तव में एक अच्छा समाधान है। –

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