Relational Calculus in DBMS in Hindi

What is Relational Calculus in DBMS in Hindi - रिलेशनल कैलकुलस क्या है?

Relational calculus, एक Non-procedural query language है जो यह बताता है कि एक Relational database में कौन सा data को प्राप्त करना है। यह इस बात का वर्णन नहीं करता की data को कैसे प्राप्त करना है।

यह वांछित Result प्राप्त करने पर केंद्रित होता है न की इस बात पर की Result को कैसे प्राप्त किया जाए

यह Relational algebra के विपरीत है क्योंकि Relational algebra, data पर काम करने या उसमें बदलाव करने के लिए निश्चित तरीके देता है।

Relational calculus और Relational algebra, Relational databases को समझने और उपयोग करने के लिए जरूरी हैं।

Types of Relational Calculus in DBMS in Hindi - रिलेशनल कैलकुलस के प्रकार 

DBMS में Relational Calculus के निम्न प्रकार है।
Types of relational calculus

Tuple Relational Calculus (TRC)

Tuple Relational Calculus (TRC), Database systems में उपयोग होने वाला एक Non-procedural query language है।

यह data को कैसे प्राप्त करना है इसे दिखाने के बजाय, केवल इसका वर्णन करता है कि कौन से data को प्राप्त करने की जरूरत है।

यह Table के rows को दिखाने के लिए variables का उपयोग करता है तथा matching data को ढूंढने के लिए conditions apply करता है।

TRC, में "exists" के लिए ∃ और "all" के लिए ∀ symbols के साथ logical operators जैसे AND, OR, और NOT का उपयोग किया जाता है जो data को filter करने मे मदद करता है। 

यह दिए गए conditions के आधार पर विशिष्ट results को प्राप्त करने के लिए उपयोगी है।

Syntax:
{ t | P(t) }

यहां पर ( t ) एक tuple(row ) variable है और P(t) एक predicate (condition) है, जो बताता है कि यह row (t) किसी शर्त (condition) को पूरा करती है या नहीं।

Example 

Student table:
StudentID Name Age Grade
001 Amita 18 A
002 Priya 19 B
003 Dolly 17 A
004 Riya 18 C

Query: 
उन Students के नाम को प्रदर्शित करें जिसे 'A' Grade मिला है।

TRC Expression:
{ t.Name | Student(t) ∧ t.Grade = 'A' }

Explanation:
t: 
यह Student table (relation) में एक tuple variable है। 

Student(t): 
इसका मतलब है कि t, Student table में एक row हैं।

t.Grade = 'A': 
यह Grade column के ऐसे rows को प्रदर्शित करेगा जिसमें value 'A' हैं।

t.Name: 
यह बताता है कि हम Student table से उन rows के Name column को प्राप्त करना चाहते हैं जो दी गई condition (Grade = 'A') को पूरा करती हैं।

Result:
Name
 Amita 
 Dolly 

ऊपर हमे Student table से उन Student का Name प्राप्त होता है जिनका Grade "A" है।

Domain Relational Calculus (DRC)

Domain Relational Calculus (DRC) एक declarative query language है। यह एक Relational database से data प्राप्त करने का एक तरीका है, जिसमें data values (domains) के लिए conditions दी जाती है।

यह बताता है कि किस data की जरूरत है, न कि इसे कैसे ढूंढना है।
DRC में हम data values को दिखाने के लिए variables का उपयोग करते है और उसके लिए logical conditions, set करते हैं।

Example:

Student Table
StudentID Name Grade
101 Jay A
102 Yash B
103 Amit A
104 Rohit C

Query: उन Student के नाम को प्रदर्शित करें जिनका Grade A हैं।

Syntax:
{ y | ∃ x, z (Student(x, y, z) ∧ z = 'A') }

Explanation:
1) Variables:  
`x`, `y`, `z` domain variables है जो एक column की values को दिखाते है। 
यहां पर `x` को StudentID, `y` को Name, और `z` को Grade के लिए use किया गया है। 

Student (x, y, z):
इसका मतलब Student table में row है जहां पर StudentID  `x`,  Name `y`, और Grade `z` के रूप में है।

∃ x, z ( … ∧ z = 'A'):
query में ∃ x, z का मतलब है कि कुछ x (StudentID) और कुछ z (Grade) मौजूद हैं।

( … ∧ z = 'A') यह check करता है कि ' z' का मान 'A' होना चाहिए है।
इसका मतलब है कि Student table में कम से कम एक ऐसा Student है जिसका Grade 'A' है।

Result:
Name
Jay
Amit 

यह DRC query बड़ी कुशलतापूर्वक दो लोगों के नाम  "Jay" और "Amit" को प्रदर्शित करता है क्योंकि इनका Grade  'A ' है।