Relational Algebra
Basic operations used to retrieve and combine data from relations.
Relational Algebra
Relational Algebra एक procedural query language है जिसका उपयोग relational database में stored data को retrieve और manipulate करने के लिए किया जाता है। इसमें विभिन्न operations की सहायता से एक या अधिक relations (tables) से नया relation प्राप्त किया जाता है।
Relational Algebra में प्रत्येक operation का input एक relation होता है और उसका result भी एक relation होता है। इसे Relational Database Model की mathematical foundation माना जाता है।
Why Relational Algebra is Used?
Relational database में बहुत अधिक data होने पर हमें केवल आवश्यक records प्राप्त करने की आवश्यकता होती है। Relational Algebra विभिन्न operations की सहायता से tables से required data को filter, select, combine और organize करने में मदद करता है।
इसके प्रमुख उपयोग हैं:
- Required rows को select करना।
- Required columns को प्राप्त करना।
- दो या अधिक relations को combine करना।
- Common records प्राप्त करना।
- Unwanted records को हटाना।
- Tables के बीच relationships के आधार पर data प्राप्त करना।
Basic Concepts
Relational Algebra को समझने के लिए कुछ basic terms को समझना आवश्यक है:
| Term | Meaning |
|---|---|
| Relation | Database में table |
| Tuple | Table की row |
| Attribute | Table का column |
| Operand | जिस relation पर operation किया जाता है |
| Result | Operation के बाद प्राप्त नया relation |
Example Relation
नीचे दिए गए Student relation को विभिन्न relational algebra operations को समझने के लिए उपयोग करेंगे:
| RollNo | Name | Class | Marks |
|---|---|---|---|
| 101 | Rahul | 12 | 85 |
| 102 | Priya | 12 | 91 |
| 103 | Aman | 11 | 78 |
| 104 | Neha | 12 | 95 |
Basic Relational Algebra Operations
Relational Algebra के मुख्य operations हैं:
| Operation | Symbol | Purpose |
|---|---|---|
| Selection | σ (Sigma) | Specific rows प्राप्त करना |
| Projection | π (Pi) | Specific columns प्राप्त करना |
| Union | ∪ | दो relations के records को combine करना |
| Set Difference | − | एक relation में मौजूद लेकिन दूसरे में नहीं मौजूद records प्राप्त करना |
| Cartesian Product | × | दो relations के सभी possible combinations बनाना |
| Rename | ρ (Rho) | Relation या attributes का नाम बदलना |
Selection Operation
Selection operation का उपयोग किसी relation से उन rows को प्राप्त करने के लिए किया जाता है जो किसी specified condition को satisfy करती हैं। Selection का symbol σ (Sigma) है।
उदाहरण के लिए Student table से केवल उन students को प्राप्त करना है जिनके marks 80 से अधिक हैं:
इस operation का result होगा:
| RollNo | Name | Class | Marks |
|---|---|---|---|
| 101 | Rahul | 12 | 85 |
| 102 | Priya | 12 | 91 |
| 104 | Neha | 12 | 95 |
Projection Operation
Projection operation का उपयोग relation से केवल required columns प्राप्त करने के लिए किया जाता है। इसका symbol π (Pi) है।
यदि हमें Student table से केवल Name और Marks चाहिए:
Result होगा:
| Name | Marks |
|---|---|
| Rahul | 85 |
| Priya | 91 |
| Aman | 78 |
| Neha | 95 |
Selection vs Projection
| Feature | Selection | Projection |
|---|---|---|
| Symbol | σ | π |
| Works on | Rows | Columns |
| Purpose | Records को condition के आधार पर filter करना | Required attributes प्राप्त करना |
| Example | σMarks > 80(Student) | πName, Marks(Student) |
Union Operation
Union operation दो relations के tuples को combine करता है। इसका symbol ∪ है।
Union operation के लिए दोनों relations union compatible होने चाहिए। इसका अर्थ है कि दोनों relations में समान number of attributes और corresponding attributes के compatible domains होने चाहिए।
यदि R और S दो compatible relations हैं:
इसका result R और S में मौजूद सभी distinct tuples का relation होगा। Duplicate tuples result में केवल एक बार आते हैं।
Set Difference Operation
Set Difference operation का उपयोग उन tuples को प्राप्त करने के लिए किया जाता है जो पहले relation में हैं लेकिन दूसरे relation में नहीं हैं। इसका symbol − है।
इसमें R के वे tuples प्राप्त होते हैं जो S में मौजूद नहीं हैं।
Cartesian Product
Cartesian Product दो relations के प्रत्येक tuple को दूसरे relation के प्रत्येक tuple के साथ combine करता है। इसका symbol × है।
यदि relation R में m tuples और relation S में n tuples हैं, तो Cartesian Product में:
होंगे।
उदाहरण के लिए यदि R में 3 rows और S में 2 rows हैं, तो R × S में:
होंगी।
Rename Operation
Rename operation का उपयोग relation या उसके attributes का नाम बदलने के लिए किया जाता है। इसका symbol ρ (Rho) है।
यह Student relation को NewStudent नाम से refer करने की सुविधा देता है।
Intersection Operation
Intersection operation दो relations में common tuples को प्राप्त करता है। इसका symbol ∩ है।
Result में केवल वे tuples होते हैं जो R और S दोनों relations में मौजूद होते हैं।
Join Operation
Join operation दो या अधिक related relations से information को combine करने के लिए उपयोग किया जाता है। यह relational databases में बहुत महत्वपूर्ण operation है।
उदाहरण के लिए Student और Marks tables को RollNo के आधार पर join किया जा सकता है।
| Student |
|---|
| RollNo = 101, Name = Rahul |
| RollNo = 102, Name = Priya |
| Marks |
|---|
| RollNo = 101, Marks = 85 |
| RollNo = 102, Marks = 91 |
RollNo के आधार पर join करने पर student और marks की combined information प्राप्त की जा सकती है।
Types of Join
Relational Algebra में joins के विभिन्न forms हो सकते हैं:
- Theta Join: किसी specified condition के आधार पर join।
- Equi Join: Equality condition के आधार पर join।
- Natural Join: Common attributes के आधार पर automatically matching tuples को combine करता है।
Selection and Projection Together
Relational Algebra में एक से अधिक operations को combine किया जा सकता है।
उदाहरण के लिए पहले उन students को select करना जिनके marks 80 से अधिक हैं और फिर केवल उनके names प्राप्त करना:
इससे उन students के names प्राप्त होंगे जिनके marks 80 से अधिक हैं।
| Name |
|---|
| Rahul |
| Priya |
| Neha |
Relational Algebra and SQL
Relational Algebra और SQL दोनों relational databases में data retrieval से संबंधित हैं। SQL practical database systems में widely used language है, जबकि Relational Algebra relational operations का formal और procedural representation प्रदान करती है।
| Relational Algebra | SQL |
|---|---|
| σ Selection | WHERE |
| π Projection | SELECT columns |
| ∪ Union | UNION |
| − Difference | EXCEPT / NOT equivalent in all systems |
| × Cartesian Product | CROSS JOIN |
| Join | JOIN |
Example of Relational Algebra and SQL
Student table से उन students के Name और Marks प्राप्त करने हैं जिनके Marks 80 से अधिक हैं।
Relational Algebra:
SQL:
SELECT Name, Marks
FROM Student
WHERE Marks > 80;
Rahul | 85
Priya | 91
Neha | 95
Properties of Relational Algebra
- यह relational model पर आधारित है।
- इसमें input और output दोनों relations होते हैं।
- यह procedural approach follow करती है।
- Operations को combine करके complex queries बनाई जा सकती हैं।
- यह relational database query processing की theoretical foundation प्रदान करती है।
Advantages of Relational Algebra
- Database queries को mathematically represent करने में मदद करती है।
- Complex data retrieval operations को logically express किया जा सकता है।
- Relational database systems की query processing को समझने में उपयोगी है।
- Operations का standardized set प्रदान करती है।
- Database theory और query optimization को समझने में सहायता करती है।
Important Points
- Selection (σ) rows को filter करता है।
- Projection (π) columns को select करता है।
- Union (∪) compatible relations को combine करता है।
- Difference (−) first relation में मौजूद लेकिन second में absent tuples देता है।
- Cartesian Product (×) सभी possible tuple combinations बनाता है।
- Rename (ρ) relation या attributes का नाम बदलता है।
- Intersection (∩) common tuples देता है।
- Join related tables की information को combine करता है।
- Relational Algebra एक procedural query language है।
Board Focus
Selection → σ → Rows
Projection → π → Columns
Union → ∪ → Combine compatible relations
Difference → − → R में हैं, S में नहीं
Intersection → ∩ → Common tuples
Cartesian Product → × → All possible combinations
Rename → ρ → Rename relation
Join → Related relations को combine करना
Board Important Questions
Very Short Answer Questions
Q1. Relational Algebra क्या है?
Answer: Relational Algebra एक procedural query language है जिसका उपयोग relational database में data को retrieve और manipulate करने के लिए किया जाता है।
Q2. Selection operation का symbol क्या है?
Answer: σ (Sigma).
Q3. Projection operation का symbol क्या है?
Answer: π (Pi).
Q4. Selection operation किस पर कार्य करता है?
Answer: Rows पर।
Q5. Projection operation किस पर कार्य करता है?
Answer: Columns पर।
Q6. Union operation का symbol क्या है?
Answer: ∪
Q7. Cartesian Product का symbol क्या है?
Answer: ×
Q8. Rename operation का symbol क्या है?
Answer: ρ (Rho).
Q9. Relational Algebra किस प्रकार की query language है?
Answer: Procedural query language.
Q10. कौन-सा operation दो relations के common tuples प्राप्त करता है?
Answer: Intersection.
Short Answer Questions
Q11. Selection और Projection में अंतर बताइए।
Answer: Selection operation condition के आधार पर rows को filter करता है, जबकि Projection operation required columns को select करता है। Selection का symbol σ और Projection का symbol π है।
Q12. Union operation क्या है?
Answer: Union operation दो union-compatible relations के tuples को combine करता है और duplicate tuples को एक ही बार रखता है।
Q13. Cartesian Product क्या है?
Answer: Cartesian Product दो relations के प्रत्येक tuple को दूसरे relation के प्रत्येक tuple के साथ combine करता है।
Q14. Rename operation का क्या उपयोग है?
Answer: Rename operation relation या उसके attributes का नाम बदलने के लिए उपयोग किया जाता है।
Q15. Relational Algebra में Join क्या है?
Answer: Join operation related relations से information को किसी specified condition या common attribute के आधार पर combine करता है।
Long Answer Questions
Q16. Relational Algebra के प्रमुख operations को समझाइए।
Answer: Relational Algebra के प्रमुख operations Selection, Projection, Union, Difference, Cartesian Product और Rename हैं। Selection rows को condition के आधार पर filter करता है। Projection required columns प्राप्त करता है। Union दो compatible relations को combine करता है। Difference पहले relation के उन tuples को प्राप्त करता है जो दूसरे में नहीं हैं। Cartesian Product सभी possible tuple combinations बनाता है और Rename relation या attributes का नाम बदलता है।
Q17. Selection और Projection को उदाहरण सहित समझाइए।
Answer: Selection का उपयोग specific condition को satisfy करने वाली rows प्राप्त करने के लिए किया जाता है। उदाहरण: σMarks > 80(Student)। Projection का उपयोग specific columns प्राप्त करने के लिए किया जाता है। उदाहरण: πName, Marks(Student)।
Q18. Relational Algebra और SQL में संबंध समझाइए।
Answer: Relational Algebra relational database operations का formal procedural representation है, जबकि SQL practical database systems में data definition और manipulation के लिए widely used language है। SQL के कई operations को relational algebra operations के रूप में represent किया जा सकता है।
Q19. Cartesian Product को उदाहरण सहित समझाइए।
Answer: Cartesian Product दो relations के प्रत्येक tuple को दूसरे relation के प्रत्येक tuple के साथ combine करता है। यदि पहले relation में m tuples और दूसरे में n tuples हैं, तो result में m × n tuples होंगे।
Q20. Relational Algebra में Join operation को समझाइए।
Answer: Join operation दो related relations की information को common attribute या specified condition के आधार पर combine करता है। उदाहरण के लिए Student और Marks relations को RollNo के आधार पर join करके student name और marks को एक साथ प्राप्त किया जा सकता है।
Practice Questions
- Relational Algebra क्या है?
- Relational Algebra को procedural query language क्यों कहा जाता है?
- Selection operation को symbol और example सहित समझाइए।
- Projection operation को symbol और example सहित समझाइए।
- Selection और Projection में अंतर लिखिए।
- Union operation क्या है?
- Union-compatible relations क्या होते हैं?
- Set Difference operation को समझाइए।
- Intersection operation क्या है?
- Cartesian Product क्या है?
- Cartesian Product में tuples की संख्या कैसे निर्धारित की जाती है?
- Rename operation का क्या उपयोग है?
- Join operation क्या है?
- Equi Join और Natural Join को समझाइए।
- Relational Algebra और SQL में अंतर लिखिए।
- Relational Algebra के प्रमुख operations के symbols लिखिए।
- Selection और Projection को एक साथ उपयोग करने का उदाहरण दीजिए।
- Relational Algebra के advantages लिखिए।
Quick Revision
- Relational Algebra: Procedural query language
- Selection: σ → Rows
- Projection: π → Columns
- Union: ∪ → Combine relations
- Difference: − → First relation में लेकिन second में नहीं
- Intersection: ∩ → Common tuples
- Cartesian Product: × → All possible combinations
- Rename: ρ → Rename relation
- Join: Related relations को combine करना
- Selection + Projection: Complex data retrieval के लिए combine किए जा सकते हैं