ПредишенСледващото

Свойства на сделки. Начини за завършване на сделката

Има различни модели на транзакции, които могат да бъдат класифицирани въз основа на различни свойства, включително структурата на сделката, паралелизма в рамките на сделка, продължителността и т.н.

В момента има следните типове транзакции: плоски или класически сделки верига сделка и вложени транзакции.

Плосък сделка характеризира класическите свойства: валентност, последователност, изолация и дълготрайност.

· Имотът на атомност се изразява във факта, че сделката трябва да бъде изпълнена като цяло или не се извършва най-малко.

· Имотът на последователност гарантира, че тъй като данните за транзакциите се прехвърлят от един последователен състояние в друго последователна държавна - сделката не унищожава взаимното съответствие на данните.

· Имотът на изолация означава, че се конкурират за достъп до транзакцията на базата данни е физически обработват последователно, в изолация един от друг, но изглежда за потребителя, както ако те се изпълняват паралелно.

· Дълготрайност свойства означават, че ако сделката приключи успешно, тези промени на данни, които са направени, че не може да се изгуби при никакви обстоятелства, дори и в случай на последващи грешки.

2 възможно изпълнение завършване на сделката:

· Ако всички оператори са успешни и процеса на сделката не е имало хардуерни или софтуерни повреди, сделката е извършено. (Lock - запис на промените на диска, до базата данни, които са направени в хода на сделката). Докато сделката не се ангажира, тези промени могат да бъдат отменени и базата данни могат да бъдат върнати в състоянието, в което е било в началото на сделката. Ангажиране сделка означава, че всички резултати от сделката да станат постоянни. Те ще бъдат видими за други сделки само след текущата сделката е извършено.

· Ако в хода на сделката не се осъществи, базата данни трябва да се върне към първоначалното си състояние. Връщане на сделката - акт, който предвижда отмяна на всички промени на данните, които са направени SQL изявления в тялото на настоящия непълен сделката.

Стандартът ANSI / ISO определя операторите SOMMIT и ROLLBACK, в стандартни операции началото имплицитно дадени от първата модификация на данни оператор; COMMIT изказване показва успешното приключване на сделката, резултатите транзакцията в външна памет; при завършване на общо намаление на цените на оператор сделка на сделката се анулира. Успешното завършване на програмата, която бе инициирана от сделката е успешното приключване на сделката (като че комит е била използвана), неуспешно завършване - анулира сделката (като че ли е бил използван изявление ROLLBACK). В този модел, всеки оператор се променя състоянието на данните, се третира като сделка. Този модел се реализира в първите версии на търговски RDBMS. По-късно разширен модел сделка е реализирана в СУБД Sybase.

В разширените модели за транзакции (например база данни SQL сървър) предоставя редица допълнителни операции:

· ЗАПОЧНЕТЕ изявление СДЕЛКИ разказва за началото на сделка;

· COMMIT изявление СДЕЛКИ да обявят успешното приключване на сделката. Този оператор, както и в модел COMMIT ANSI / ISO стандарт записва всички промени, направени в базата данни по време на сделката;

· ЗАПАЗЕТЕ изявление сделка по сделка създава спаси точка, която отговаря на междинно състояние на базата данни се съхраняват по време на изпълнението на този оператор. Операторът може да устои да запазим името СДЕЛКИ точка на запис, следователно, по време на изпълнение на сделката може да се съхранява няколко точки на запис, съответстващи на множество междинни състояния;

· ROLLBACK оператор има две модификации. Ако се използва без допълнителен параметър, то се тълкува като връщане назад оператор цялата сделка, ако има параметър ROLLBACK п. се тълкува като оператор частично намаление на цените на транзакция в точка на запис п.

спаси точка това е препоръчително да се използва дълги и сложни операции, за да се гарантира възможността да отмените промените, направени от някои оператори.

В повечето случаи това е възможно да се определи параметър, наречен AUTOCOMMIT. което автоматично ще съхранява всички изпълними инструкции, както и действия, които са довели до грешката, винаги ще бъде анулирана автоматично. Обикновено, този режим се определя от команди, като:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!