БАЗИ ДАНИХ. МОВИ ЗАПИТІВ, УПРАВЛІННЯ ТРАНЗАКЦІЯМИ,

РОЗПОДІЛЕНА ОБРОБКА ДАНИХ

 

2 управління транзакціями

 

 

2.1 Поняття та властивості транзакції

 

Транзакція – це дія або ряд дій, що виконуються одним користувачем або прикладною програмою, які здійснюють читання або модифікацію вмісту бази даних.

Транзакція є логічною одиницею роботи, що виконується в базі даних. Вона може бути представлена окремою програмою, частиною програми або навіть окремою командою (наприклад, командою INSERT або UPDATE мови SQL) і включати довільну кількість операцій, що виконуються в базі даних.

Будь-яка транзакція повинна володіти чотирма властивостями. Основні властивості транзакцій прийнято позначати абревіатурою ACID (Atomacity, Consistency, Isolation, Durability – нерозривність, узгодженість, ізольованість та стійкість).

Нерозривність – це властивість, для опису якої найкраще підходить вислів «все або нічого». Будь-яка транзакція являє собою неподільну одиницю роботи, яка може бути виконана вся повністю, або невиконана взагалі. За забезпечення нерозривності відповідає підсистема відновлення СКБД.

Властивість узгодженості означає, що кожна транзакція повинна переводити базу даних з одного узгодженого стану в інший. Відповідальність за забезпечення властивості узгодженості покладається на СКБД та на розробників додатку. В СКБД узгодженість може забезпечуватись шляхом виконання всіх обмежень, заданих в схемі бази даних, таких як обмеження цілісності та обмеження предметної області. Однак подібна умова не є достатньою для забезпечення узгодженості. Наприклад, деяка транзакція призначена для  переведення грошових коштів з одного банківського рахунку на інший, але програміст зробив помилку в логіці транзакції та передбачив зняття грошей з правильного рахунку, а зарахування – на неправильний рахунок. В такому випадку база даних переходить в неузгоджений стан, незважаючи на наявність правильно заданих обмежень. Відповідальність за усунення такої неузгодженості не може бути покладена на СКБД, оскільки в ній відсутні механізми виявлення подібних логічних помилок.  

Ізольованість передбачає, що всі транзакції виконуються незалежно одна від одної. Іншими словами, проміжні результати незавершеної транзакції не повинні бути доступними для інших транзакцій. За забезпечення ізольованості відповідає підсистема управління паралельним виконанням.

Стійкість. Результати успішно завершеної (зафіксованої) транзакції повинні зберігатись в базі даних постійно і не повинні бути втрачені в результаті майбутніх збоїв. За забезпечення стійкості відповідає підсистема відновлення. 

 

попередня     ЗМІСТ    наступна

 

 

Пєтух А.М., Романюк О.В., Романюк О.Н.

ВНТУ 2016