Database Tutorials COMMIT, ROLLBACK, এবং SAVEPOINT ব্যবহার গাইড ও নোট

338

PostgreSQL-এ COMMIT, ROLLBACK, এবং SAVEPOINT ডেটাবেস ট্রানজেকশন পরিচালনার জন্য ব্যবহৃত হয়। এগুলি ডেটাবেসের নিরাপত্তা, এক্সিকিউশন এবং তথ্য সংরক্ষণ নিশ্চিত করতে ব্যবহৃত হয়। ট্রানজেকশন ব্যবস্থাপনা ACID (Atomicity, Consistency, Isolation, Durability) প্রিন্সিপল অনুযায়ী কাজ করে।


1. COMMIT

COMMIT কুয়েরি ব্যবহার করা হয় যখন আপনি একটি ট্রানজেকশন সফলভাবে সম্পন্ন করেছেন এবং সমস্ত পরিবর্তন ডেটাবেসে স্থায়ীভাবে সংরক্ষণ করতে চান।

COMMIT এর সাধারণ সঠিক গঠন:

COMMIT;

যখন আপনি COMMIT কুয়েরি চালান, তখন আপনার সমস্ত কার্যক্রম (যেমন INSERT, UPDATE, DELETE) ডেটাবেসে স্থায়ীভাবে সেভ হয়ে যায় এবং সেই মুহূর্ত থেকে ডেটাবেসের অবস্থা পরিবর্তিত হয়ে থাকে।

উদাহরণ:

BEGIN;  -- ট্রানজেকশন শুরু
UPDATE employees SET salary = 55000 WHERE id = 1;
INSERT INTO employees (name, salary) VALUES ('John Doe', 60000);
COMMIT;  -- সব পরিবর্তন স্থায়ী করা

এই উদাহরণে, আপনি প্রথমে একটি ট্রানজেকশন শুরু করেছেন, এরপর একটি আপডেট এবং একটি ইনসার্ট করেছেন। অবশেষে, COMMIT কুয়েরি চালানোর মাধ্যমে এই পরিবর্তনগুলি স্থায়ীভাবে ডেটাবেসে সংরক্ষিত হবে।


2. ROLLBACK

ROLLBACK কুয়েরি ব্যবহৃত হয় ট্রানজেকশনের পরিবর্তনগুলি প্রত্যাহার (undo) করার জন্য। এটি ব্যবহার করা হয় যখন আপনি কোনো ত্রুটি বা সমস্যা সনাক্ত করেন এবং আপনি যে সমস্ত পরিবর্তন করেছেন তা ফিরিয়ে নিতে চান। এর মাধ্যমে আপনি ডেটাবেসে কোনো পরিবর্তন না ঘটিয়ে পূর্বের অবস্থায় ফিরে যেতে পারেন।

ROLLBACK এর সাধারণ সঠিক গঠন:

ROLLBACK;

উদাহরণ:

BEGIN;  -- ট্রানজেকশন শুরু
UPDATE employees SET salary = 55000 WHERE id = 1;
INSERT INTO employees (name, salary) VALUES ('John Doe', 60000);
ROLLBACK;  -- সব পরিবর্তন প্রত্যাহার করা

এই উদাহরণে, ROLLBACK কুয়েরি চালানোর পর, salary আপডেট এবং নতুন কর্মচারী ইনসার্টের সমস্ত পরিবর্তন বাতিল হয়ে যাবে এবং ডেটাবেস আগের অবস্থায় ফিরে যাবে।


3. SAVEPOINT

SAVEPOINT কুয়েরি ব্যবহার করা হয় ট্রানজেকশনের মধ্যে একটি বিশেষ মাইলস্টোন বা চেকপয়েন্ট তৈরি করার জন্য। আপনি যখন SAVEPOINT তৈরি করেন, তখন আপনি নির্দিষ্ট একটি বিন্দুতে ফিরে যেতে পারবেন যদি কোনো ত্রুটি ঘটে বা যদি আপনি চান, তখন আপনি ROLLBACK TO SAVEPOINT ব্যবহার করে সেই পয়েন্টে ফিরে যেতে পারেন।

SAVEPOINT এর সাধারণ সঠিক গঠন:

SAVEPOINT savepoint_name;

ROLLBACK TO SAVEPOINT:

ROLLBACK TO SAVEPOINT savepoint_name;

উদাহরণ:

BEGIN;  -- ট্রানজেকশন শুরু

-- প্রথম SAVEPOINT তৈরি
SAVEPOINT sp1;
UPDATE employees SET salary = 55000 WHERE id = 1;

-- দ্বিতীয় SAVEPOINT তৈরি
SAVEPOINT sp2;
INSERT INTO employees (name, salary) VALUES ('John Doe', 60000);

-- কোনো সমস্যা হলে দ্বিতীয় SAVEPOINT থেকে ফিরে যেতে পারেন
ROLLBACK TO SAVEPOINT sp2;  -- sp2 থেকে ফিরে যাওয়ার পর ইনসার্ট অপারেশন বাতিল হবে

COMMIT;  -- শুধুমাত্র প্রথম UPDATE স্থায়ী হবে

এই উদাহরণে:

  1. প্রথমে একটি ট্রানজেকশন শুরু করা হয়।
  2. এরপর SAVEPOINT তৈরি করে একটি আপডেট অপারেশন করা হয়।
  3. দ্বিতীয় SAVEPOINT তৈরি করার পর একটি ইনসার্ট অপারেশন করা হয়।
  4. ROLLBACK TO SAVEPOINT sp2 চালানোর মাধ্যমে, ইনসার্ট অপারেশনটি বাতিল করা হয়, তবে প্রথম আপডেট টিকেই থাকে।
  5. শেষে COMMIT ব্যবহার করে পরিবর্তনগুলি স্থায়ী করা হয়।

সারাংশ

  • COMMIT: ট্রানজেকশন সফলভাবে শেষ হলে ডেটাবেসে পরিবর্তনগুলি স্থায়ী করতে ব্যবহৃত হয়।
  • ROLLBACK: ট্রানজেকশন চলাকালীন কোনো ত্রুটি ঘটলে সমস্ত পরিবর্তন বাতিল করে ডেটাবেসকে পূর্বাবস্থায় ফিরিয়ে নিয়ে আসে।
  • SAVEPOINT: ট্রানজেকশনে একটি চেকপয়েন্ট তৈরি করে, যেখানে আপনি প্রয়োজন হলে ফিরে যেতে পারেন। এটি একটি গুরুত্বপূর্ণ টুল যখন আপনি বড় এবং জটিল ট্রানজেকশন পরিচালনা করছেন।

এই তিনটি কুয়েরি, COMMIT, ROLLBACK, এবং SAVEPOINT, PostgreSQL ট্রানজেকশন ব্যবস্থাপনাকে খুবই শক্তিশালী ও নির্ভরযোগ্য করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...