آموزش Transaction در sql server و نحوه کار با Commit و RollBack
جلسات دوره
مهدی عباسی
مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مشاهده رزومه
آشنایی با Transaction و کار با دستورات Commit و RollBack در sql server 2019:
مبحثی که در این جلسه میخواهیم توضیح دهیم در مورد Transaction یا تراکنشها میباشد. حتما کلمه تراکنش را بارها شنیدهاید مثلا پولی را انتقال میدهید و پیغام میدهد که تراکنش با موفقیت انجام شد و یا انجام نشد. عملهایی که انجام میدهیم به این شکل است که میخواهیم کاری را انجام دهیم و انتظار داریم که به پایان برسد، اما وسط فرآیندهایی که قراراست انجام شود یک اختلال بوجود بیاید. بعضی وقتها ناسازگاری اطلاعات داریم. مثلا شروع می کنیم عمل درج را انجام میدهیم، یک رکورد درج میکنیم بلافاصله بعد از آن عمل بروزرسانی را انجام میدهیم و بلافصله select میکنیم. حالا در نظر بگیرید این وسط اتفاقی رخ میدهد که نباید باشد. تراکنش یک عملی است که باید تمام شود و اگر وسط فرآیند تراکنش اتفاقی افتاد باید همه وضعیت به وضعیت اولیه برگردد. در تراکنش یا همه عملیات باید انجام شوند یا همه به وضعیت اولیه برگردند. در جریان تراکنشها دو کلمه خیلی مهم داریم: Commit یعنی تایید کردن نهایی و موفقیت آمیز بودن فرآیند، تراکنشی که commit میشود یعنی اینکه تمام افعالش و فرآیندهای درونیش انجام شده است. اما اگر انجام نشود باید rollback شود یعنی باید تمام اتفاقات به وضعیت اولیه برگردد.
اما تراکنشی را موفق میدانیم که دارای 4 تا ویژگی باشد. همه تراکنشها ویژگیهای ACID را دارند، این کلمه مخفف 4 کلمه زیر میباشد:
Atomic: یک تراکنش همه فرآیندهای درونیش یا باید انجام شوند یا هیچ فرآیندی انجام نشود. این ویژگی معیار اولیه تراکنش است.
Consistent: بعد از انجام تراکنش دیتابیس در وضعیت پایدار باید باقی بماند.
Isolation: هر تراکنش باید دیتابیس را در یک وضعیت مجزا یا بسته قرار دهد و تراکنشهای همزمان نباید به یکدیگر اثر گذار باشند.
Durability: نتایج تراکنش بعد از پایان آن باید به صورت ماندگار باقی بماند.
اگر تراکنشی دارای این چهار ویژگی بود یک تراکنش درست است در غیر این صورت تراکنش محسوب نمیشود.
امیدواریم که این آموزش، برای شما دوستان درسمنی عزیز مفید باشد، درصورت سوال و یا مشکل میتوانید به انجمن پرسش و پاسخ مراجعه کنید. پیشنهادات و انتقادات خود را در بخش نظرات برای ما ارسال کنید.
امید آنکه بیش از پیش موفق و مؤید باشید.
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.