دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
Class Library در سی شارپ
1404/01/10 -
دستور BREAK در پایگاه داده sql
1404/01/02 -
دستور CONTINUE در پایگاه داده SQL
1404/01/01 -
دستور WAITFOR در پایگاه داده SQL
1403/12/26 -
دستور GOTO در پایگاه داده SQL
1403/12/25 -
حلقه WHILE در پایگاه داده SQL
1403/12/24
تراکنش (Transaction) در پایگاه داده اوراکل

تراکنش (Transaction) در پایگاه داده اوراکل
در سیستمهای پایگاه داده، تراکنشها یکی از مهمترین اجزا برای تضمین یکپارچگی دادهها و سازگاری اطلاعات هستند.
پایگاه داده اوراکل بهعنوان یکی از پایگاههای داده محبوب و معتبر، امکانات متنوعی برای مدیریت تراکنشها ارائه میدهد.
این امکانات شامل عملیات «شروع تراکنش»، «تایید تغییرات» با استفاده از دستور COMMIT، و «بازگردانی تغییرات» با استفاده از دستور ROLLBACK است.
در ادامه به بررسی هرکدام از این مفاهیم و دستورات پرداخته خواهد شد.
ویژگی تراکنش در پایگاه داده اوراکل
تراکنش (Transaction) مجموعهای از عملیات است که بر روی دادههای پایگاه داده انجام میشود و یک واحد منسجم و قابل اعتماد را تشکیل میدهد.
به عبارتی، یک تراکنش شامل یک یا چند دستور SQL است که با یکدیگر ترکیب شدهاند تا به یک هدف خاص دست یابند، و در نهایت یا باید بهصورت کامل اعمال شوند یا بهطور کامل نادیده گرفته شوند.
تراکنشها چهار ویژگی مهم به نام ACID دارند که مخفف اصطلاحات زیر هستند:
-
Atomicity (اتمی بودن)
تضمین میکند که تمام عملیات در یک تراکنش یا بهطور کامل اجرا میشوند یا هیچ کدام اجرا نمیشوند. -
Consistency (سازگاری)
تضمین میکند که پایگاه داده از یک وضعیت سازگار به وضعیت سازگار دیگر تغییر میکند. -
Isolation (جداسازی)
تضمین میکند که نتایج تراکنشهای مختلف تداخلی با یکدیگر ندارند. -
Durability (پایداری)
تضمین میکند که پس از اتمام تراکنش، تغییرات اعمالشده بهطور دائم در پایگاه داده ذخیره شوند.
این ویژگیها به تراکنشها امکان میدهند که در صورت بروز خطا، از پایداری و سازگاری پایگاه داده محافظت کنند.
مراحل یک تراکنش در پایگاه داده اوراکل
یک تراکنش معمولاً شامل مراحل زیر است:
-
آغاز تراکنش
در اوراکل بهصورت خودکار و زمانی که اولین دستور DML (مانند INSERT, UPDATE, DELETE) اجرا میشود، تراکنش آغاز میشود. -
اعمال تغییرات موقت
تا زمانی که دستور COMMIT یا ROLLBACK صادر نشده باشد، تغییرات در حالت موقت بوده و تنها برای همان جلسه قابل مشاهده هستند. -
تایید یا بازگردانی تراکنش
-
تایید تراکنش (COMMIT)
تمامی تغییرات اعمال شده در تراکنش ذخیره میشوند و برای سایر کاربران پایگاه داده نیز قابل مشاهده خواهند شد. -
بازگردانی تراکنش (ROLLBACK)
تمامی تغییرات اعمال شده به حالت قبل از اجرای تراکنش بازگردانده میشوند.
-
دستور COMMIT در پایگاه داده اوراکل
دستور COMMIT برای تایید یک تراکنش استفاده میشود.
با اجرای این دستور، تمامی تغییرات انجام شده در پایگاه داده بهصورت دائمی ذخیره شده و برای سایر کاربران نیز قابل مشاهده میشود.
دستور COMMIT اصولاً برای تضمین پایداری و دوام تغییرات اعمال شده در پایگاه داده استفاده میشود.
نحو استفاده از دستور COMMIT
در اوراکل، دستور COMMIT بهصورت زیر استفاده میشود:
COMMIT;
زمانی که دستور COMMIT صادر میشود، اتفاقات زیر رخ میدهد:
-
تمام تغییرات انجام شده در تراکنش جاری، بهطور دائمی در پایگاه داده ذخیره میشود.
-
منابع مورد استفاده تراکنش آزاد میشوند.
-
پایگاه داده از وضعیت جاری به وضعیت جدیدی منتقل میشود که شامل تغییرات تراکنش است.
🌟 آیا آمادهاید تا در دنیای پایگاه دادهها بدرخشید؟ 🚀
با دوره آموزش پایگاه داده اوراکل ما، مهارتهای ضروری را یاد بگیرید و به چالشهای واقعی صنعت پاسخ دهید.
این دوره با محتوای عملی و آموزشهای کاربردی به شما کمک میکند تا به یک متخصص در این حوزه تبدیل شوید و فرصتهای شغلی جدیدی را کشف کنید.
کاربردهای دستور COMMIT
دستور COMMIT معمولاً در سناریوهایی بهکار میرود که میخواهیم اطمینان حاصل کنیم که تغییرات انجام شده قابل بازگشت نباشند. برخی از این سناریوها عبارتند از:
-
تایید نهایی تغییرات در پایگاه داده
پس از اعمال تغییرات مورد نظر، COMMIT اجرا میشود تا دادهها بهطور دائم در پایگاه داده ذخیره شوند. -
پایان تراکنش موفقیتآمیز
اگر همه مراحل تراکنش بدون خطا انجام شوند، COMMIT صادر میشود تا تراکنش کامل شده و تغییرات آن قابل مشاهده برای سایر کاربران باشند.
دستور ROLLBACK در پایگاه داده اوراکل
دستور ROLLBACK برای بازگردانی تغییرات در یک تراکنش استفاده میشود.
این دستور تمامی تغییرات انجام شده در تراکنش جاری را به حالت اولیه بازمیگرداند و به این ترتیب دادهها به وضعیت قبل از شروع تراکنش بازمیگردند.
نحو استفاده از دستور ROLLBACK
در اوراکل، دستور ROLLBACK بهصورت زیر استفاده میشود:
ROLLBACK;
زمانی که دستور ROLLBACK اجرا میشود، پایگاه داده تمام تغییرات انجام شده در تراکنش را نادیده میگیرد و دادهها به وضعیت پیش از اجرای تراکنش بازمیگردند.
-
کاربردهای دستور ROLLBACK
دستور ROLLBACK معمولاً در سناریوهایی مورد استفاده قرار میگیرد که تراکنش بهدرستی انجام نشده یا در میانه کار خطایی رخ داده است. برخی از موارد استفاده عبارتند از:
خطا در اجرای تراکنش: اگر در طول اجرای تراکنش خطایی رخ دهد و بخواهیم تغییرات نادیده گرفته شوند، میتوان از ROLLBACK استفاده کرد.
لغو عملیات توسط کاربر: در مواردی که کاربر تصمیم میگیرد تغییرات اعمالشده را لغو کند، ROLLBACK بهکار میرود.
-
مثالهایی از استفاده COMMIT و ROLLBACK
فرض کنید یک جدول به نام EMPLOYEES در پایگاه داده اوراکل داریم که اطلاعات کارمندان را ذخیره میکند.
مثال ۱: استفاده از COMMIT
UPDATE EMPLOYEES
SET SALARY = SALARY * 1.1
WHERE DEPARTMENT = 'SALES';
COMMIT;
در این مثال، حقوق تمامی کارمندان دپارتمان فروش افزایش مییابد. پس از اجرای COMMIT، تغییرات برای تمامی کاربران قابل مشاهده خواهد بود.
مثال ۲: استفاده از ROLLBACK
UPDATE EMPLOYEES
SET SALARY = SALARY * 1.1
WHERE DEPARTMENT = 'MARKETING';
ROLLBACK;
در این مثال، حقوق کارمندان دپارتمان بازاریابی افزایش مییابد، اما با اجرای ROLLBACK تغییرات نادیده گرفته میشوند و حقوق کارمندان به حالت اولیه برمیگردد.
استفاده از SAVEPOINT در تراکنشها
دستور SAVEPOINT در اوراکل بهکار میرود تا نقاط بازگشت خاصی را در تراکنش مشخص کنیم. با این روش، میتوان بخشی از تراکنش را به حالت قبل بازگرداند بدون اینکه کل تراکنش نیاز به بازگشت داشته باشد.
-
نحو استفاده از دستور SAVEPOINT
در اوراکل، میتوان از دستور SAVEPOINT بهصورت زیر استفاده کرد:
SAVEPOINT savepoint_name;
برای بازگشت به یک نقطه خاص، از دستور ROLLBACK TO بهصورت زیر استفاده میشود:
ROLLBACK TO savepoint_name;
-
مثال استفاده از SAVEPOINT
UPDATE EMPLOYEES
SET SALARY = SALARY * 1.1
WHERE DEPARTMENT = 'SALES';
SAVEPOINT sales_increase;
UPDATE EMPLOYEES
SET SALARY = SALARY * 1.2
WHERE DEPARTMENT = 'MARKETING';
ROLLBACK TO sales_increase;
COMMIT;
در این مثال، ابتدا حقوق کارمندان دپارتمان فروش افزایش مییابد و نقطه بازگشتی به نام sales_increase تعیین میشود.
سپس حقوق کارمندان دپارتمان بازاریابی افزایش داده میشود، اما با اجرای ROLLBACK TO sales_increase تغییرات مربوط به دپارتمان بازاریابی بازگردانده شده و در نهایت فقط افزایش حقوق دپارتمان فروش تایید میشود.
دوره های مرتبط

اموزش پایگاه داده اوراکل Oracle
در دوره آموزش پایگاه داده اوراکل اصول ، مفاهیم ، طراحی ، پیادهسازی و مدیریت پایگاه داده را به صورت جامع آموزش می دهیم .