Transaction in DBMS in Hindi - डीबीएमएस में लेनदेन क्या है 


DBMS में Transaction, कार्यों(operations) का समूह होता है जो data को manage करने के लिए एक साथ कार्य करते हैं। इन कार्यों में data को read, write, update या delate करना शामिल है। 

Transaction, यह सुनिश्चित करता है कि system के crash होने या एक समय में कई users के कार्य करने के बावजूद भी database सही और सुरक्षित रहे।

उदाहरण के लिए जब bank accounts के बीच में पैसों को transfer किया जाता है तब transaction यह सुनिश्चित करता है कि एक account से debit तथा अन्य account से credit होने का कार्य एक साथ होना चाहिए 

यदि इसमें से एक कार्य भी नहीं होता तो पूरा transaction को cancel कर दिया जाता है ताकि database सही और विश्वसनीय बना रहे। banks, online shopping, और अन्य systems के लिए जहां कई users एक समय में कार्य करते हैं, transactions महत्वपूर्ण है।
 

State of Transaction in DBMS in Hindi 

DBMS में एक transaction की प्रक्रिया निम्न state से होकर गुजरती है ।

Active  

Database Management System (DBMS) में Active state, एक transaction के जीवनकाल का पहला stage है। इन stage के दौरान transaction सक्रिय रूप से अपने कार्यों को करता है। 

इन कार्यों के अंतर्गत database के भीतर data को read, write, update या delete करना शामिल है। transaction इस state में तब तक बना रहता है जब तक वह सफलतापूर्वक पूरा न हो जाए या वह किसी प्रकार की समस्या का सामना न करें।

अगर कार्य बिना किसी समस्या के सफलतापूर्वक समाप्त हो गया है तो transaction अगले state में जाता है जिसे Partially committed state कहते हैं। परंतु यदि कोई त्रुटि हो जाए तो यह Failed state में चला जाता है।

Partially Committed  

Database Management System (DBMS) में Partially committed state उस समय होता है जब एक transaction ने अपने सभी कार्यों (operations) को समाप्त कर लिया है, परंतु जो बदलाव हुआ है वह database में अभी भी स्थाई रूप से सुरक्षित नहीं है।

इस state में बदलाव को अस्थाई रूप से main memory में संग्रहित कर लिया जाता है। उसके बाद system यह जांच करता है कि क्या सब कुछ सही है। यदि कोई भी गलती न मिले तो transaction अगले state में जिसे Committed state कहते है चला जाता है। 

हालांकि यदि कुछ गलत होता है या किसी प्रकार की त्रुटि मिलती है transaction fail हो जाता है और अस्थाई रूप से बदलाव को rolled back(पूर्व स्थिति) में लाया जाता है ताकि database, सुरक्षित और सही बना रहे।

Committed  

database transaction में committed state, उस स्थिति को बताता है जब सभी कार्य सफलतापूर्वक पूरे हो चुके हैं और उसे स्थाई रूप से database में सुरक्षित कर लिया गया है। 

एक बार जब transaction, commit state में चला जाता है तब इस, transaction के दौरान हुए सभी बदलावों को स्थाई रूप से सुरक्षित कर लिया जाता है और यह अन्य users और applications में दिखाई देने लगता है।

Commit operation यह सुनिश्चित करता है कि किए गए बदलाव वापस नहीं हो सकते, चाहे सिस्टम क्रैश हो जाए। यह rollback operation के विपरीत है जिसमें यदि कोई गलती हो जाए या trasaction सही ढंग से पूरे न हो, तो किए गए बदलाव निरस्त हो जाते हैं।

Failed  

DBMS में Failed transactions state उस समय होता है जब एक transactions, system के crash होने, त्रुटि होने या किसी नियमों के उल्लंघन होने के कारण सफलतापूर्वक पूरे नहीं होते है। 

जब transactions इस state में प्रवेश करता है तब DBMS, transactions को roll back कर देता है। इसका मतलब है कि transactions द्वारा हुए सभी बदलाव को निरस्त कर दिया जाता है ताकि डेटाबेस सही बना रहे।

यह प्रक्रिया, ACID properties का अनुसरण करता है जो यह सुनिश्चित करता है कि डेटाबेस सुरक्षित और एक समान बना रहे।

DBMS, transaction क्यों fail हो गया उसके बारे में जानकारी को logs में सुरक्षित किया जाता है। बाद में यह logs समस्या को ढूंढने और उसे ठीक करने में मदद करता है।
 

Aborted

DBMS, में Aborted transaction state वह है जिसमें एक transaction पूरे होने के पहले fail हो जाता है। system के crash हो जाने, गलतियों या अन्य transactions के साथ टकराव होने के कारण यह होता है।

जब कोई transaction abort होता है, तो उसके सभी बदलाव वापस ले लिए जाते हैं। इसमें transaction के शुरू होने के पहले database वापस अपनी पहली स्थिति में चला जाता है। यह प्रक्रिया rollback कहलाता है।

यह database को सही और गलतियों से मुक्त बनाए रखने में मदद करता है।
transaction के abort होने के बाद स्थिति के आधार पर या तो transaction फिर से शुरू होता है या पूरी तरह से बंद हो जाता है। system सुनिश्चित करता है कि कोई भी अपूर्ण या गलत data, database में बना न रहे।  

Terminated  

DBMS, में terminated transaction state का मतलब transaction ने अपना execution पूरा कर लिया है। termination के बाद transaction अब कोई और कार्य perform नहीं कर सकता है।

एक transaction, दो तरीके से समाप्त हो सकते हैं।

Committed:

यदि transaction सफलता पूरा होता है और उसमें हुए बदलाव को स्थाई रूप से सुरक्षित कर दिया जाता है। 

Aborted

त्रुटि या सिस्टम में समस्या के कारण यदि transaction, fail हो जाता है तब उसमें हुए बदलाव को निरस्त कर दिया जाता है।
 
एक बार जब transaction समाप्त हो जाता है system इसे active list से हटा देता है। Committed transaction, data को सही बनाए रखना है जबकि Aborted transaction, गलत data को सुरक्षित होने से रोकता है।  

Example of Transaction states in DBMS in Hindi 

DBMS में एक transaction, अलग अलग states से होकर जाता है। नीचे एक Bank transaction का उदाहरण दिया गया है जिसमें Account A, से Account B में ₹1000 transfer किया जाना है। अतः यह transaction निम्न states से होकर गुजरता है।

1) Active State:
 transaction शुरू होता है और सबसे पहले यह Account A के balance जो कि ₹2,000 है, को Read करता है।

2) Partially Committed State :
 Account A, से ₹1000 को deduct कर दिया जाता है और system इस deduct की गई amount( ₹1000) को Account B में जोड़ने के लिए तैयार होता है।

3) Committed State:
 ₹1000, को सफलतापूर्वक Account B में जोड़ दिया जाता है और उसे स्थाई रूप से सुरक्षित कर दिया जाता है।
 
4) Failed State:
यदि Account B में ₹1000 जोड़ने के पहले system crash हो जाए तो transaction fails हो जाता है।

5) Aborted State :
 system, transaction को निरस्त कर देता है और Account A में ₹1,000 राशि वापस कर देता है