डेटाबेस के संदर्भ में, कर्सर एक नियंत्रण संरचना है जो डेटाबेस में रिकॉर्ड पर ट्रैवर्सल को सक्षम बनाता है। यह एक अमूर्त के रूप में कार्य करता है जो किसी विशेष क्वेरी ऑपरेशन के संदर्भ में एक तत्व की स्थिति का प्रबंधन करता है, जैसे कि SQL SELECT स्टेटमेंट, परिणाम सेट से एक समय में एक पंक्ति तक पहुंच प्रदान करता है।
कर्सर अनिवार्य रूप से डेटासेट के भीतर एक विशिष्ट स्थान पर एक सूचक या पुनरावर्तक के रूप में कार्य करता है, जिससे एप्लिकेशन को व्यक्तिगत रिकॉर्ड के माध्यम से नेविगेट करने, मूल्यों को पढ़ने और यहां तक कि डेटा को संशोधित करने की अनुमति मिलती है। यह कर्सर को उन प्रश्नों को संभालने के लिए विशेष रूप से उपयोगी बनाता है जो कई पंक्तियों को लौटाते हैं, जहां प्रत्येक पंक्ति पर क्रमिक रूप से संचालन करने की आवश्यकता हो सकती है।
कर्सर विभिन्न प्रकार के होते हैं, जिनमें ये शामिल हैं, लेकिन इन्हीं तक सीमित नहीं हैं:
- फॉरवर्ड-ओनली कर्सर: ये परिणाम सेट के भीतर केवल आगे की दिशा में गति की अनुमति देते हैं।
- स्क्रॉल करने योग्य कर्सर: ये परिणाम सेट के भीतर कई दिशाओं (आगे, पीछे, एक विशिष्ट स्थिति तक) में नेविगेशन की अनुमति देते हैं।
- स्टेटिक कर्सर: वे किसी विशेष समय पर डेटा का एक स्नैपशॉट लेते हैं और उस स्नैपशॉट के भीतर नेविगेशन की अनुमति देते हैं।
- डायनामिक कर्सर: ये अन्य उपयोगकर्ताओं या प्रक्रियाओं द्वारा किए गए डेटा में परिवर्तन को प्रतिबिंबित करते हैं क्योंकि कर्सर परिणाम सेट के माध्यम से चलता है।
- असंवेदनशील कर्सर: असंवेदनशील कर्सर अन्य उपयोगकर्ताओं या प्रक्रियाओं द्वारा डेटा में किए गए परिवर्तनों से प्रभावित नहीं होते हैं।
अंतर्निहित डेटाबेस सिस्टम और एप्लिकेशन की विशिष्ट आवश्यकताओं के आधार पर कर्सर को क्लाइंट साइड या सर्वर साइड पर लागू किया जा सकता है। सर्वर-साइड कर्सर नेटवर्क उपयोग के मामले में अधिक कुशल होते हैं, क्योंकि वे सर्वर पर डेटा रखते हैं, आवश्यकतानुसार केवल विशिष्ट पंक्ति को क्लाइंट तक पहुंचाते हैं। दूसरी ओर, क्लाइंट-साइड कर्सर संपूर्ण परिणाम सेट को पुनः प्राप्त कर सकते हैं और इसे क्लाइंट पर संग्रहीत कर सकते हैं, जिससे डेटा के माध्यम से संभवतः तेज़ स्थानीय नेविगेशन की अनुमति मिलती है।
जबकि कर्सर सूक्ष्म नियंत्रण और लचीलापन प्रदान करते हैं, वे उच्च जटिलता और संभावित प्रदर्शन समस्याओं से भी जुड़े हो सकते हैं। कर्सर को लंबे समय तक खुला रखने से संसाधनों का उपभोग हो सकता है और रिकॉर्ड लॉक हो सकते हैं, संभवतः अन्य उपयोगकर्ताओं और प्रक्रियाओं पर असर पड़ सकता है। इसलिए, कर्सर का प्रभावी प्रबंधन, जैसे उचित उद्घाटन, लाने, संभालने और बंद करने के संचालन, डेटाबेस संचालन की दक्षता और अखंडता को बनाए रखने के लिए महत्वपूर्ण है।
कर्सर का व्यापक रूप से विभिन्न डेटाबेस सिस्टम में उपयोग किया जाता है, जिसमें SQL सर्वर, ओरेकल, पोस्टग्रेएसक्यूएल जैसे रिलेशनल डेटाबेस और अधिक शामिल हैं, जहां वे डेवलपर्स और डेटाबेस प्रशासकों के लिए डेटा के बड़े सेट के साथ क्रमिक रूप से बातचीत करने और हेरफेर करने के लिए अपरिहार्य उपकरण हैं।