Page 62 - 6430
P. 62
конфлікти. Ці проблеми переборюються в рамках моделі бази
даних типу « клієнт-сервер». При реалізації цієї моделі система
управління базами даних розділяється на дві частини - «клієнт» і
«сервер». Програма «клієнт» розміщається на
користувальницькій машині й дозволяє формувати запити (як
правило, мовою SQL), які по мережі передаються на
спеціалізовану машину (часто теж називану «сервером»), де
працює програма «сервер». У такий спосіб термін «сервер» іноді
ставиться до комп'ютера, а іноді до програмного забезпечення.
Програма «сервер» обробляє запит, формує з бази даних
необхідну вибірку записів і відсилає її програмі «клієнтові».
Якщо користувач припускає змінювати інформацію в запитаній
вибірці, доступ будь-якого іншого користувача для модифікації
обраних записів блокується ("монопольне захоплення"). Якщо
користувач запитує інформацію «тільки для читання», то доступ
до обраних записів не обмежується ("колективне захоплення").
Основний механізм, що дозволяє уникнути конфліктів між
користувачами, полягає в розбивці процесу обробки інформації
на елементарні події – групи команд SQL, які можуть
виконуватися (або не виконуватися) тільки всі разом. Такі групи
команд називаються транзакціями. Транзакція починається
щораз, коли на вхід «сервера» починають надходити команди
SQL, якщо ніяка інша транзакція не є активною. Транзакція
закінчується або командою внести зміни в базу даних, або
відмовою від внесення змін («відкіт»). Якщо в процесі виконання
команд виникає яка-небудь помилка, автоматично виконується
«відкіт» і база даних залишається у вихідному стані.
62