Page 83 - 4475
P. 83

ЛАБОРАТОРНА РОБОТА № 10

                    Тема: Використання транзакцій.
                    Мета:  ознайомитися  з  призначенням  транзакцій.
               Реалізувати механізм транзакцій засобами PHP та MySQL.

                                     Теоретична частина
                    Поняття  транзакцій.  Транзакція  —  це  група
               послідовних  операцій  з  базою  даних,  яка  є  одиницею
               роботи  з  даними.  Транзакція  може  бути  виконана  або
               цілком  і  успішно,  зі  збереженням  цілісності  даних  і
               незалежно  від  паралельних  транзакцій,  або  не  виконана
               взагалі,  без  будь-якого  впливу  на  систему.  Приклад
               транзакції  —  потрібно  перевести  з  банківського  рахунку
               номер 5 на банківський рахунок номер 7 суму 10 у.о. Цього
               можна досягнути такою послідовністю дій:
               - почати транзакцію;
               - зчитати баланс на рахунку № 5;
               - зняти з рахунку 10 у.о.;
               - зберегти рахунок № 5;
               - зчитати баланс на рахунку № 7;
               - додати на рахунок 10 у.о.;
               - зберегти рахунок № 7;
               - закінчити транзакцію.
                      Ці  дії  є  логічною  одиницею  роботи  “перевід  суми
               між рахунками”. Якщо перервати транзакцію на середині і
               не анулювати всі зміни, можна зняти з рахунку № 5 10 у.о.,
               тоді як рахунок № 7 їх не отримає.
                      Найпоширенішим  набором  вимог  до  транзакцій  і
               транзакційних систем є набір ACID (Atomicity, Consistency,
               Isolation, Durability).
                      Атомарність гарантує, що жодна транзакція не буде
               зафіксована  в  системі  частково.  Будуть  виконані  або  всі
               операції,  або  жодна.  Оскільки  на  практиці  реалізувати
               виконання  всієї  послідовності  операцій  неможливо,

                                            78
   78   79   80   81   82   83   84   85   86   87   88