Database Tutorials SQL তে COMMIT এবং ROLLBACK ব্যবহার গাইড ও নোট

325

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

ট্রানজেকশন ব্যবস্থাপনা মূলত ACID (Atomicity, Consistency, Isolation, Durability) প্রিন্সিপলকে অনুসরণ করে, যা ডেটাবেসের রিলায়েবিলিটি এবং এক্সিকিউশন সুনিশ্চিত করে।


১. COMMIT

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

COMMIT এর ব্যবহার:

BEGIN TRANSACTION;

UPDATE employees
SET salary = salary + 5000
WHERE department = 'Sales';

-- If everything is correct and no error, then commit the changes
COMMIT;
  • কী ঘটে?
    এখানে, BEGIN TRANSACTION দিয়ে ট্রানজেকশন শুরু করা হয়েছে এবং COMMIT দিয়ে সমস্ত পরিবর্তন ডেটাবেসে স্থায়ীভাবে সংরক্ষণ করা হয়েছে।
  • এটি কখন ব্যবহার করবেন?
    যখন আপনি নিশ্চিত হন যে সমস্ত SQL অপারেশন সঠিকভাবে সম্পন্ন হয়েছে এবং ডেটাবেসে পরিবর্তনগুলো স্থায়ী করতে চান।

২. ROLLBACK

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

ROLLBACK এর ব্যবহার:

BEGIN TRANSACTION;

UPDATE employees
SET salary = salary + 5000
WHERE department = 'Sales';

-- Something went wrong, rollback the transaction
ROLLBACK;
  • কী ঘটে?
    এখানে, যদি UPDATE অপারেশনের পরে কিছু ত্রুটি ঘটে (যেমন কোনো ডেটা সমস্যা বা অ্যাক্সেস সমস্যা), তাহলে ROLLBACK কমান্ড ব্যবহারের মাধ্যমে সমস্ত পরিবর্তন বাতিল করা হবে এবং ডেটাবেস পূর্বের অবস্থায় ফিরে যাবে।
  • এটি কখন ব্যবহার করবেন?
    যখন আপনি কোনো ত্রুটি বা সমস্যা সনাক্ত করেন এবং ডেটাবেসের পূর্বের অবস্থা ফেরত নিতে চান।

COMMIT এবং ROLLBACK এর মধ্যে পার্থক্য:

কমান্ডব্যবহার
COMMITডেটাবেসের সব পরিবর্তন স্থায়ী করে দেয়, অর্থাৎ তারা ডেটাবেসে জমা হয়ে যায়।
ROLLBACKডেটাবেসের পরিবর্তনগুলো বাতিল করে, পূর্বের অবস্থায় ফিরে যায়, অর্থাৎ কোন পরিবর্তন হয় না।

COMMIT এবং ROLLBACK এর প্রাসঙ্গিকতা:

  1. আলাদা টেবিল বা ডেটাবেসে পরিবর্তন: যখন একাধিক টেবিল বা ডেটাবেসে পরিবর্তন করতে হবে এবং প্রতিটি অংশের জন্য সফল হওয়া নিশ্চিত করতে হবে, তখন COMMIT বা ROLLBACK ব্যবহার খুবই গুরুত্বপূর্ণ।
  2. ডেটাবেস ইন্টিগ্রিটি: একটি ট্রানজেকশন যদি পুরোপুরি সম্পূর্ণ না হয়, তবে তা ডেটাবেসের ইন্টিগ্রিটি ক্ষুন্ন করতে পারে। ROLLBACK ব্যবহার করে আপনি ডেটাবেসের ইন্টিগ্রিটি নিশ্চিত করতে পারেন।
  3. অ্যাটমিক এক্সিকিউশন: COMMIT এবং ROLLBACK এর মাধ্যমে, আপনি নিশ্চিত করতে পারেন যে কোনো অপারেশন একযোগে সম্পন্ন হচ্ছে (অথবা পুরোপুরি বাতিল হচ্ছে)।

উদাহরণ: COMMIT এবং ROLLBACK এর বাস্তব ব্যবহার

ধরা যাক, আপনি একটি ব্যাংক ট্রানজেকশনে দুটি অ্যাকাউন্ট থেকে টাকা ট্রান্সফার করতে চান:

BEGIN TRANSACTION;

-- প্রথম অ্যাকাউন্ট থেকে টাকা কাটা
UPDATE accounts
SET balance = balance - 1000
WHERE account_number = 'A123';

-- দ্বিতীয় অ্যাকাউন্টে টাকা জমা করা
UPDATE accounts
SET balance = balance + 1000
WHERE account_number = 'B456';

-- যদি কোনো ত্রুটি না ঘটে, COMMIT করুন
COMMIT;

এখানে, আপনি প্রথম অ্যাকাউন্ট থেকে টাকা কাটলেন এবং দ্বিতীয় অ্যাকাউন্টে জমা করলেন। যদি কোন ত্রুটি (যেমন দ্বিতীয় অ্যাকাউন্ট পাওয়া না যায়) ঘটে, তবে আপনি রোলব্যাক করে সমস্ত পরিবর্তন বাতিল করতে পারেন:

ROLLBACK;

এভাবে, ট্রানজেকশন ব্যবস্থাপনা নিশ্চিত করে যে সমস্ত পরিবর্তন একযোগে ঘটে অথবা বাতিল হয়, ডেটাবেসের ত্রুটি বা অসম্পূর্ণতার কারণে কোনো ক্ষতি হওয়ার সম্ভাবনা কমে যায়।


সারাংশ: COMMIT এবং ROLLBACK হল SQL তে ডেটাবেসের ট্রানজেকশন পরিচালনা করার জন্য অত্যন্ত গুরুত্বপূর্ণ টুল। COMMIT ব্যবহার করা হয় ডেটাবেসে স্থায়ী পরিবর্তন করার জন্য, এবং ROLLBACK ব্যবহার করা হয় কোনো ত্রুটি ঘটলে পরিবর্তনগুলো বাতিল করার জন্য।

Content added By
Promotion

Are you sure to start over?

Loading...