با سلام

در SQL مفهومی داریم به نام Transaction

Transaction
بیشتر برای INSERT  و UPDATE های زنجیره ای کاربرد داره.
مثلا یک پرداخت اینترنتی لازمه که انجام بشه ؛ اول باید حساب مشتری چک بشه که موجودیش کافی باشه ، بعد از حساب مشتری مبلغی کم بشه (UPDATE) و بعد به حساب فروشنده مبلغی باید اضافه بشه (UPDATE یا INSERT) ----- حال مشکلی که ممکنه پیش بیاد اینه که توی مرحله دوم و پس از کم شدن پول از حساب مشتری یهو سرور خاموش بشه ، ریست بشه ، هنگ کنه ، کلا ارتباط با سرور قطع بشه و 1001 مشکل دیگه .... خوب نتیجه چی میشه ؟!
پول از حساب مشتری کم شده ولی به حساب فروشنده نرفته ؟!
اینجور مشکلات با Transaction در SQL حل میشه ، شما تمامی کارهایی که باید زنجیروار انجام بشن رو توی یک Transaction می نویسین . حال در صورتی که وسط یکی از این عملیات های زنجیروار یک مشکلی پیش بیاد (یکی از عملیات ها ارور بده یا مشکلاتی که در بالا گفتم) اثر کل عملیات های قبلی ریست میشه ، یعنی عملیات های قبلی هر بلایی سر دیتاها در آوردن ، همه برمی گرده سرجاش !
واسه همینه که وقتی تراکنشی ناموفق میشه ، بعد از چند ساعت می بینین که پول دوباره به حسابتون برگشته .... :)

حال اینکه Transaction  رو چطوری میشه پیاده سازی کرد یا .... خودش یه مقاله آموزشیه که در آینده خواهم گفت.

تا آموزشی دگر بدرود.

نوشته شده در تاریخ دوشنبه 27 آذر 1391    | توسط: ح.م    | طبقه بندی: آموزش پایگاه داده MYSQL,SQL,LINQ،     | نظرات()