रिलेशनल अल्जेब्रा एक प्रोसीजरल क्वेरी लैंग्वेज है, जिसका उपयोग एक से अधिक रिलेशन्स पर ऑपरेशन्स करके एक सिंगल टेबल/रिलेशन को आउटपुट के रूप में प्रदान करने के लिए किया जाता है। यहां कुछ बेसिक रिलेशन्स पर चर्चा की जाएगी।
हमारे सीखने के क्रम में, हम तीन रिलेशन्स (टेबल) का उपयोग करेंगे:
टेबल 1: कोर्स
| Course_id | Name |
|---|---|
| 1 | Computer science |
| 2 | Information Technology |
| 3 | mechanical |
टेबल 2: स्टूडेंट्स
| Roll No. | Name | address | age |
|---|---|---|---|
| 1 | Ram | Delhi | 18 |
| 2 | Raju | hyderabad | 20 |
| 4 | Faiz | Delhi | 22 |
| 5 | Salman | hyderabad | 20 |
टेबल 3: हॉस्टल
| St. No. | Name | address | age |
|---|---|---|---|
| 1 | Ram | Delhi | 18 |
| 2 | Akash | hyderabad | 20 |
| 3 | neha | Jhansi | 21 |
इन रिलेशन्स पर, हम कुछ ऑपरेशन्स करेंगे ताकि किए गए ऑपरेशन्स के आधार पर नई रिलेशन बनाई जा सके।
सेलेक्शन ऑपरेशन (σ) - सेलेक्शन ऑपरेटर जिसे सिग्मा σ से दर्शाया जाता है, का उपयोग किसी रिलेशन के टुपल्स को किसी कंडीशन के आधार पर चुनने के लिए किया जाता है। केवल वे टुपल्स चुने जाते हैं जो कुछ कंडीशन्स के अंतर्गत आते हैं।
सिंटैक्स
σ(कंडीशन)(रिलेशन_नाम)
उदाहरण
कोर्स आईडी 1 वाले स्टूडेंट को चुनें। σ(course_id = 1)(student)
परिणाम
| Roll No. | Name | address | age |
|---|---|---|---|
| 4 | Faiz | Delhi | 22 |
प्रोजेक्शन ऑपरेशन (π) प्रोजेक्शन ऑपरेटर जिसे π से दर्शाया जाता है, का उपयोग किसी विशिष्ट रिलेशन से कॉलम चुनने के लिए किया जाता है। केवल विशिष्ट कॉलम चुने जाते हैं।
सिंटैक्स
π(कॉलम1, कॉलम2, ..., कॉलमn)(रिलेशन_नाम)
उदाहरण
आइए हॉस्टल में सभी स्टूडेंट्स के नाम और नंबर चुनें। π(st. No., name)(hostel)
परिणाम
| St. No. | Name |
|---|---|
| 1 | Ram |
| 2 | Akash |
| 3 | neha |
प्रोजेक्शन में पंक्तियाँ हमेशा विशिष्ट होती हैं यानी यदि कोई अन्य स्टूडेंट है जिसका नाम पंकज है तो दूसरा हटा दिया जाता है।
क्रॉस प्रोडक्ट (X) - क्रॉस प्रोडक्ट को X सिंबल का उपयोग करके दर्शाया जाता है और इसका उपयोग दो वेरिएबल्स के जॉइन का मान खोजने के लिए किया जाता है। क्रॉस प्रोडक्ट में रिलेशन1 का प्रत्येक टुपल रिलेशन2 के प्रत्येक टुपल के साथ क्रॉस होता है। जिससे आउटपुट रिलेशन nXm क्रम का होता है, जहां n रिलेशन1 में टुपल्स की संख्या है और m रिलेशन2 में टुपल्स की संख्या है।
सिंटैक्स
रिलेशन1 X रिलेशन2
उदाहरण
आइए कोर्स और हॉस्टल टेबल का क्रॉस प्रोडक्ट ढूंढें।
student X course
| St. No. | Name | address | age | Course_id | Name |
|---|---|---|---|---|---|
| 1 | Ram | Delhi | 18 | 1 | Computer science |
| 1 | Ram | Delhi | 18 | 2 | Information Technology |
| 1 | Ram | Delhi | 18 | 3 | mechanical |
| 2 | Akash | hyderabad | 20 | 1 | Computer science |
| 2 | Akash | hyderabad | 20 | 2 | Information Technology |
| 2 | Akash | hyderabad | 20 | 3 | mechanical |
| 3 | neha | Jhansi | 21 | 1 | Computer science |
| 3 | neha | Jhansi | 21 | 2 | Information Technology |
| 3 | neha | Jhansi | 21 | 3 | mechanical |
यूनियन (U) - दो रिलेशन्स रिलेशन1 और रिलेशन2 का यूनियन उन टुपल्स को देगा जो या तो रिलेशन1 में हैं या रिलेशन2 में लेकिन जो टुपल्स दोनों रिलेशन1 और रिलेशन2 में हैं उन्हें केवल एक बार माना जाता है।
इसके अलावा, यूनियन खोजने के लिए दोनों रिलेशन्स एक ही डोमेन के होने चाहिए।
सिंटैक्स
रिलेशन1 U रिलेशन2
उदाहरण
आइए स्टूडेंट और हॉस्टल का यूनियन ढूंढें
student U hostel
| Roll No. | Name | address | age |
|---|---|---|---|
| 1 | Ram | Delhi | 18 |
| 2 | Raju | hyderabad | 20 |
| 4 | Faiz | Delhi | 22 |
| 5 | Salman | hyderabad | 20 |
| 2 | Akash | hyderabad | 20 |
| 3 | neha | Jhansi | 21 |
माइनस (-) ऑपरेटर - ऑपरेटर को - सिंबल से दर्शाया जाता है। रिलेशन1 - रिलेशन2 का परिणाम एक रिलेशन में होगा जिसमें रिलेशन1 में मौजूद टुपल्स और रिलेशन2 में नहीं हैं। माइनस की गणना के लिए भी, रिलेशन्स यूनियन कम्पेटिबल होने चाहिए।
सिंटैक्स
रिलेशन1 - रिलेशन2
उदाहरण
आइए ऑपरेशन स्टूडेंट - हॉस्टल ढूंढें
student - hostel
| Roll No. | Name | address | age |
|---|---|---|---|
| 2 | Raju | hyderabad | 20 |
| 4 | Faiz | Delhi | 22 |
| 5 | Salman | hyderabad | 20 |
रीनेम (ρ) - रीनेम ऑपरेशन जिसे ρ से दर्शाया जाता है, का उपयोग दी गई रिलेशन को दिए गए दूसरे नाम से रीनेम करने के लिए किया जाता है।
सिंटैक्स
ρ(नया_नाम, पुराना_नाम)