ডাটাবেসের পরিপ্রেক্ষিতে, একটি কার্সার হল একটি নিয়ন্ত্রণ কাঠামো যা একটি ডাটাবেসের রেকর্ডের উপর ট্রাভার্সাল সক্ষম করে। এটি একটি বিমূর্ততা হিসাবে কাজ করে যা একটি নির্দিষ্ট ক্যোয়ারী অপারেশনের প্রসঙ্গে একটি উপাদানের অবস্থান পরিচালনা করে, যেমন একটি SQL SELECT স্টেটমেন্ট, ফলাফল সেট থেকে একবারে একটি সারিতে অ্যাক্সেস দেয়।
কার্সারটি মূলত একটি ডেটাসেটের মধ্যে একটি নির্দিষ্ট অবস্থানে একটি পয়েন্টার বা একটি পুনরাবৃত্তিকারী হিসাবে কাজ করে, যা অ্যাপ্লিকেশনটিকে পৃথক রেকর্ডের মাধ্যমে নেভিগেট করতে, মান পড়তে এবং এমনকি ডেটা পরিবর্তন করার অনুমতি দেয়। এটি একাধিক সারি প্রদানকারী প্রশ্নগুলি পরিচালনা করার জন্য কার্সারগুলিকে বিশেষভাবে উপযোগী করে তোলে, যেখানে প্রতিটি সারিতে ক্রমানুসারে ক্রিয়াকলাপগুলি সম্পাদন করার প্রয়োজন হতে পারে।
বিভিন্ন ধরনের কার্সার রয়েছে, যার মধ্যে কিন্তু সীমাবদ্ধ নয়:
- ফরোয়ার্ড-অনলি কার্সার: এগুলি ফলাফল সেটের মধ্যে শুধুমাত্র সামনের দিকে চলার অনুমতি দেয়।
- স্ক্রোলযোগ্য কার্সার: এই ফলাফল সেটের মধ্যে একাধিক দিকে (আগে, পিছনে, একটি নির্দিষ্ট অবস্থানে) নেভিগেশনের অনুমতি দেয়।
- স্ট্যাটিক কার্সার: তারা নির্দিষ্ট সময়ে ডেটার একটি স্ন্যাপশট নেয় এবং সেই স্ন্যাপশটের মধ্যে নেভিগেশনের অনুমতি দেয়।
- ডাইনামিক কার্সার: এগুলি ফলাফল সেটের মধ্য দিয়ে কার্সার সরানোর সাথে সাথে অন্যান্য ব্যবহারকারী বা প্রক্রিয়াগুলির দ্বারা তৈরি ডেটাতে পরিবর্তনগুলি প্রতিফলিত করে।
- সংবেদনশীল কার্সার: সংবেদনশীল কার্সারগুলি অন্যান্য ব্যবহারকারী বা প্রক্রিয়া দ্বারা ডেটাতে করা পরিবর্তন দ্বারা প্রভাবিত হয় না।
অন্তর্নিহিত ডাটাবেস সিস্টেম এবং অ্যাপ্লিকেশনের নির্দিষ্ট প্রয়োজনীয়তার উপর নির্ভর করে কার্সারগুলি ক্লায়েন্ট সাইড বা সার্ভারের দিকে প্রয়োগ করা যেতে পারে। সার্ভার-সাইড কার্সারগুলি নেটওয়ার্ক ব্যবহারের ক্ষেত্রে আরও দক্ষ হতে থাকে, কারণ তারা সার্ভারে ডেটা রাখে, প্রয়োজন অনুসারে ক্লায়েন্টের কাছে শুধুমাত্র নির্দিষ্ট সারি প্রেরণ করে। অন্যদিকে, ক্লায়েন্ট-সাইড কার্সারগুলি সম্পূর্ণ ফলাফল সেট পুনরুদ্ধার করতে পারে এবং ক্লায়েন্টে এটি সংরক্ষণ করতে পারে, ডেটার মাধ্যমে সম্ভবত দ্রুত স্থানীয় নেভিগেশনের জন্য অনুমতি দেয়।
যদিও কার্সারগুলি সূক্ষ্ম-দানাযুক্ত নিয়ন্ত্রণ এবং নমনীয়তা প্রদান করে, তারা উচ্চতর জটিলতা এবং সম্ভাব্য কর্মক্ষমতা সমস্যাগুলির সাথেও যুক্ত হতে পারে। দীর্ঘ সময়ের জন্য কার্সার খোলা রাখা সম্পদ এবং লক রেকর্ড গ্রাস করতে পারে, সম্ভবত অন্যান্য ব্যবহারকারী এবং প্রক্রিয়া প্রভাবিত করতে পারে। অতএব, কার্সারগুলির কার্যকর ব্যবস্থাপনা, যেমন সঠিক খোলা, আনা, পরিচালনা এবং বন্ধ করার ক্রিয়াকলাপ, ডাটাবেস অপারেশনগুলির দক্ষতা এবং অখণ্ডতা বজায় রাখার জন্য গুরুত্বপূর্ণ।
কার্সারগুলি SQL সার্ভার, ওরাকল, PostgreSQL এবং আরও অনেক কিছুর মত রিলেশনাল ডেটাবেস সহ বিভিন্ন ডাটাবেস সিস্টেমে ব্যাপকভাবে ব্যবহৃত হয়, যেখানে তারা ডেভেলপার এবং ডাটাবেস অ্যাডমিনিস্ট্রেটরদের সাথে ইন্টারঅ্যাক্ট করতে এবং ক্রমানুসারে ডেটার বড় সেট ম্যানিপুলেট করার জন্য অপরিহার্য সরঞ্জাম।