उदाहरणों सहित डेटाबेस प्रबंधन प्रणाली में संबंधपरक बीजगणित
⚡ स्मार्ट सारांश
डेटाबेस मैनेजमेंट सिस्टम (DBMS) में रिलेशनल अलजेब्रा एक प्रक्रियात्मक क्वेरी भाषा है जो रिलेशंस को इनपुट के रूप में लेती है और नए रिलेशंस को आउटपुट के रूप में उत्पन्न करती है। यह ऑपरेटर्स को यूनरी, सेट और बाइनरी श्रेणियों में समूहित करती है, जो सैद्धांतिक आधार प्रदान करती है जिसे SQL इंजन निष्पादन योग्य क्वेरी प्लान में अनुवादित करते हैं।

संबंधपरक बीजगणित क्या है?
संबंधपरक बीजगणित SQL एक प्रक्रियात्मक क्वेरी भाषा है जो रिलेशंस के इंस्टेंसेस को इनपुट के रूप में स्वीकार करती है और रिलेशंस के नए इंस्टेंसेस को आउटपुट के रूप में लौटाती है। यह एक या अधिक रिलेशंस पर ऑपरेटरों के एक निश्चित सेट को पुनरावर्ती रूप से लागू करती है, और प्रत्येक ऑपरेटर का परिणाम स्वयं एक रिलेशन होता है जिसे अगले ऑपरेशन में उपयोग किया जा सकता है। SQL इंजन क्वेरी की योजना बनाने और उसे निष्पादित करने के लिए इसी बीजगणित का उपयोग करते हैं।
बुनियादी संबंधपरक बीजगणित Operaमाहौल
संबंधपरक बीजगणित ऑपरेटरों को तीन समूहों में बांटा जा सकता है।
एकल संबंधपरक Operaमाहौल
- चयन करें (σ)
- परियोजना (π)
- नाम बदलें (ρ)
Operaसेट सिद्धांत से उद्धरण
- संघ (∪)
- प्रतिच्छेदन (∩)
- अंतर (−)
- कार्टेशियन गुणनफल (×)
बाइनरी रिलेशनल Operaमाहौल
- शामिल हों
- विभाजन
नीचे दिए गए अनुभागों में उदाहरणों सहित प्रत्येक ऑपरेटर के बारे में विस्तार से बताया गया है।
चयन करें (σ)
RSI चुनते हैं यह ऑपरेशन टुपल्स के एक उपसमुच्चय का चयन करता है जो दिए गए प्रेडिकेट को संतुष्ट करते हैं। सिग्मा प्रतीक σ यह दर्शाता है:
σp(r)
जहां σ ऑपरेटर है, p यह प्रस्तावनात्मक शर्त है, और r यह रिलेशन (टेबल) है। SELECT स्कीमा को संरक्षित रखता है और उन पंक्तियों को हटा देता है जो प्रेडिकेट में विफल होती हैं।
उदाहरण 1
σ topic = "Database" (Tutorials)
टुपल्स का चयन करता है ट्यूटोरियल जहां विषय का अर्थ "डेटाबेस" है।
उदाहरण 2
σ topic = "Database" AND author = "guru99" (Tutorials)
टुपल्स का चयन करता है ट्यूटोरियल जहां विषय "डेटाबेस" है और लेखक गुरु99 हैं।
उदाहरण 3
σ sales > 50000 (Customers)
टुपल्स का चयन करता है ग्राहक जिनका विक्रय मूल्य 50,000 से अधिक है।
प्रक्षेपण (π)
RSI प्रक्षेपण ऑपरेटर इनपुट रिलेशन से सूचीबद्ध विशेषताओं को छोड़कर बाकी सभी विशेषताओं को हटा देता है, जिससे एक वर्टिकल सबसेट बनता है। प्रोजेक्शन ड्रॉप के परिणामस्वरूप उत्पन्न होने वाली डुप्लिकेट पंक्तियों को भी हटा देता है।ping विशेषताएँ। पाई प्रतीक π इसका संकेत देता है।
उदाहरण: निम्नलिखित तालिका पर विचार करें।
| ग्राहक आईडी | ग्राहक का नाम | स्थिति |
|---|---|---|
| 1 | गूगल | सक्रिय |
| 2 | Amazon | सक्रिय |
| 3 | Apple | निष्क्रिय |
| 4 | अलीबाबा | सक्रिय |
ग्राहक के नाम और स्थिति के आधार पर अनुमान लगाना:
π CustomerName, Status (Customers)
| ग्राहक का नाम | स्थिति |
|---|---|
| गूगल | सक्रिय |
| Amazon | सक्रिय |
| Apple | निष्क्रिय |
| अलीबाबा | सक्रिय |
नाम बदलें (ρ)
RSI नाम बदलने ऑपरेटर एक एकल संक्रिया है जो किसी विशेषता (या संपूर्ण संबंध) को नया नाम देती है। उदाहरण के लिए, ρ(a/b) R विशेषता का नाम बदलता है b संबंध का R सेवा मेरे a. नाम बदलना विशेष रूप से तब उपयोगी होता है जब आपको सेल्फ-जॉइन करने की आवश्यकता होती है या दो संबंधों को जोड़ने की आवश्यकता होती है जो एट्रिब्यूट नामों को साझा करते हैं।
संघ Operation (∪)
RSI संघ ऑपरेटर, जिसे द्वारा दर्शाया जाता है ∪यह फ़ंक्शन रिलेशन A या रिलेशन B में मौजूद हर टपल को लौटाता है, और डुप्लिकेट को अपने आप हटा देता है।
Result ← A ∪ B
किसी संघ के वैध होने के लिए:
- A और B में विशेषताओं की संख्या समान होनी चाहिए (समान एरीटी)।
- संबंधित विशेषता डोमेन संगत होने चाहिए।
- डुप्लिकेट टुपल्स स्वचालित रूप से हटा दिए जाते हैं।
उदाहरण। इन दो तालिकाओं पर विचार करें:
| टेबल ए | टेबल बी | |||
|---|---|---|---|---|
| स्तंभ 1 | स्तंभ 2 | स्तंभ 1 | स्तंभ 2 | |
| 1 | 1 | 1 | 1 | |
| 1 | 2 | 1 | 3 | |
A ∪ B देता है:
| स्तंभ 1 | स्तंभ 2 |
|---|---|
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
सेट अंतर (−)
माइनस चिह्न दर्शाता है अंतर निर्धारित करेंपरिणाम स्वरूप A − B यह एक ऐसा संबंध है जिसमें वे सभी टपल शामिल हैं जो A में तो हैं लेकिन B में नहीं हैं।
- A और B संघ-संगत होने चाहिए।
- एट्रिब्यूट के नाम और डोमेन मेल खाने चाहिए।
उदाहरण: A − B
| स्तंभ 1 | स्तंभ 2 |
|---|---|
| 1 | 2 |
प्रतिच्छेदन (∩)
RSI प्रतिच्छेदन ऑपरेटर, जिसे द्वारा दर्शाया जाता है ∩यह एक ऐसा संबंध परिभाषित करता है जिसमें A और B दोनों में प्रकट होने वाले प्रत्येक टपल शामिल होते हैं। A और B संघ-संगत होने चाहिए।
चौराहे की दृश्य परिभाषा।
उदाहरण: A ∩ B
| स्तंभ 1 | स्तंभ 2 |
|---|---|
| 1 | 1 |
डीबीएमएस में कार्टेशियन उत्पाद (×)
RSI कार्तीय गुणन यह एक रिलेशन के सभी टपल को दूसरे रिलेशन के सभी टपल के साथ जोड़ता है, उनके कॉलम को मर्ज करता है। अकेले इसका परिणाम शायद ही कभी उपयोगी होता है, लेकिन SELECT प्रेडिकेट के साथ मिलकर यह JOIN का आधार बन जाता है। इसे क्रॉस प्रोडक्ट या क्रॉस जॉइन भी कहा जाता है।
उदाहरण: σ स्तंभ 2 = '1' (A × B)
यह अभिव्यक्ति प्रत्येक पंक्ति को लौटाती है A × B किसका column 2 मान 1 है।
| स्तंभ 1 | स्तंभ 2 |
|---|---|
| 1 | 1 |
| 1 | 1 |
जुडें Operaमाहौल
A में शामिल होने यह एक कार्टेशियन गुणनफल है जिसके बाद एक चयन विधेय आता है। जॉइन को द्वारा दर्शाया जाता है। ⋈ यह प्रतीक आपको विभिन्न संबंधों से संबंधित टुपल्स को सार्थक तरीके से संयोजित करने की अनुमति देता है।
जॉइन के प्रकार:
- आंतरिक जोड़: थीटा जॉइन, इक्वी जॉइन, नेचुरल जॉइन।
- बाहरी जोड़: बाएँ, दाएँ और पूर्ण बाहरी जोड़।
आंतरिक रूप से जुड़ा
एक में आंतरिक रूप से जुड़ाकेवल मिलान मानदंडों को पूरा करने वाले टुपल्स को ही शामिल किया जाता है; बाकी को हटा दिया जाता है।
थीटा जॉइन
JOIN का सामान्य रूप यह है: थीटा जॉइनजिसे θ से दर्शाया जाता है। थीटा जॉइन अपने चयन मानदंड में किसी भी तुलना शर्त का उपयोग कर सकता है।
A ⋈θ B
उदाहरण के लिए:
A ⋈ A.column 2 > B.column 2 (B)
| स्तंभ 1 | स्तंभ 2 |
|---|---|
| 1 | 2 |
इक्वी जॉइन
जब थीटा जॉइन केवल समानता शर्तों का उपयोग करता है, तो यह एक बन जाता है इक्वी जॉइन.
A ⋈ A.column 2 = B.column 2 (B)
| स्तंभ 1 | स्तंभ 2 |
|---|---|
| 1 | 1 |
इक्वी जॉइन सबसे अधिक उपयोग किए जाने वाले जॉइन स्टाइल में से एक है, और आरडीबीएमएस क्वेरी ऑप्टिमाइज़र आमतौर पर इसे कुशल बनाने में काफी प्रयास करता है।
प्राकृतिक जोड़ (⋈)
A प्राकृतिक जुड़ाव इसके लिए संबंधों के बीच एक समान विशेषता (स्तंभ) की आवश्यकता होती है। साझा विशेषता का नाम और डोमेन समान होना चाहिए। परिणाम में मिलान वाले स्तंभ की एक प्रति होती है।
इन दो तालिकाओं पर विचार करें।
| टेबल सी | |
|---|---|
| में | चौकोर |
| 2 | 4 |
| 3 | 9 |
| टेबल डी | |
|---|---|
| में | घन |
| 2 | 8 |
| 3 | 27 |
C ⋈ D पैदा करता है:
| में | चौकोर | घन |
|---|---|---|
| 2 | 4 | 8 |
| 3 | 9 | 27 |
बाहरी सम्मिलित हों
An बाहरी जुड़ाव मिलान मानदंडों को पूरा करने वाले टुपल्स को रखता है और उन टुपल्स में जो ऐसा नहीं करते, उनमें छूटे हुए कॉलम को NULL से भर दिया जाता है।
बायाँ बाहरी जोड़ (A ⟕ B)
लेफ्ट आउटर जॉइन लेफ्ट रिलेशन में मौजूद हर टपल को बरकरार रखता है। यदि A में मौजूद किसी पंक्ति का B में कोई मेल नहीं खाता है, तो B द्वारा योगदान किए गए एट्रिब्यूट्स को NULL से भर दिया जाता है।
निम्नलिखित तालिकाओं पर विचार करें:
| टेबल ए | |
|---|---|
| में | चौकोर |
| 2 | 4 |
| 3 | 9 |
| 4 | 16 |
| टेबल बी | |
|---|---|
| में | घन |
| 2 | 8 |
| 3 | 18 |
| 5 | 75 |
A ⟕ B देता है:
| में | चौकोर | घन |
|---|---|---|
| 2 | 4 | 8 |
| 3 | 9 | 18 |
| 4 | 16 | नल |
दायां बाह्य जोड़ (A ⟖ B)
राइट आउटर जॉइन दाएं रिलेशन में मौजूद हर टपल को बरकरार रखता है। यदि B में मौजूद किसी पंक्ति का A में कोई मेल नहीं खाता है, तो A द्वारा योगदान किए गए कॉलम NULL से भर दिए जाते हैं।
A ⟖ B देता है:
| में | घन | चौकोर |
|---|---|---|
| 2 | 8 | 4 |
| 3 | 18 | 9 |
| 5 | 75 | नल |
पूर्ण बाह्य जोड़ (A ⟗ B)
फुल आउटर जॉइन दोनों रिलेशंस के हर टपल को रखता है, चाहे जॉइन कंडीशन मैच हुई हो या नहीं। दोनों तरफ के मिसिंग वैल्यू NULL हो जाते हैं।
A ⟗ B देता है:
| में | चौकोर | घन |
|---|---|---|
| 2 | 4 | 8 |
| 3 | 9 | 18 |
| 4 | 16 | नल |
| 5 | नल | 75 |
Operaटोर संदर्भ सारांश
प्रत्येक ऑपरेटर क्या करता है, इसे एक नजर में याद रखने के लिए इस संदर्भ तालिका का उपयोग करें।
| Operaप्रतीक (प्रतीक) | उद्देश्य |
|---|---|
| चयन करें (σ) | यह फ़ंक्शन टुपल्स के एक उपसमूह का चयन करता है जो दिए गए प्रेडिकेट को संतुष्ट करता है। |
| परियोजना (π) | यह केवल सूचीबद्ध विशेषताओं को ही रखता है और डुप्लिकेट पंक्तियों को हटा देता है। |
| संघ (∪) | यह A या B में मौजूद सभी टपल को बिना डुप्लिकेट के लौटाता है। |
| सेट अंतर (−) | यह A में मौजूद उन टुपल्स को लौटाता है जो B में मौजूद नहीं हैं। |
| प्रतिच्छेदन (∩) | यह A और B दोनों में मौजूद टुपल्स को लौटाता है। |
| कार्टेशियन गुणनफल (×) | A के प्रत्येक टपल को B के प्रत्येक टपल के साथ जोड़ता है। |
| अंदरूनी शामिल हों | यह केवल उन्हीं टुपल्स को रखता है जो जॉइन कंडीशन से मेल खाते हैं। |
| थीटा जॉइन (θ) | किसी भी तुलना विधेय का उपयोग करके सामान्य-रूप का संयोजन। |
| इक्वी जॉइन | थीटा जॉइन जो केवल समानता तुलनाओं का उपयोग करता है। |
| प्राकृतिक जोड़ (⋈) | यह उन संबंधों को जोड़ता है जिनमें समान नाम और डोमेन वाले एट्रिब्यूट होते हैं। |
| बाएँ बाहरी जोड़ (⟕) | यह लेफ्ट रिलेशन से सभी टपल को रखता है और राइट रिलेशन को NULL से भर देता है। |
| दायां बाहरी जोड़ (⟖) | यह दाईं ओर के रिलेशन से सभी टपल को रखता है और बाईं ओर को NULL से भर देता है। |
| पूर्ण बाहरी जोड़ (⟗) | दोनों संबंधों से प्रत्येक टपल को रखता है, और लुप्त मानों को NULL से भरता है। |



