Транзакции
До сих пор все примеры в данной книге были примерами одиночных
SQLвыражений. В этой главе рассматриваются требования и среда, не
обходимые для совместного выполнения нескольких SQLвыражений.
Многопользовательские базы данных
Системы управления базами данных разрешают обращаться к данным
и изменять их не только одному пользователю, но
и нескольким одно
временно. Если каждый пользователь выполняет запросы, как это
происходит с хранилищем данных в течение
обычных рабочих часов,
для сервера БД это не создает больших проблем. Однако если некото
рые пользователи добавляют и/или изменяют данные, серверу прихо
дится сохранять довольно много промежуточных результатов.
К примеру,
создается отчет, представляющий доступный остаток всех
текущих счетов, открытых в отделении. Однако одновременно с вы
полнением отчета происходит следующее:
•
Служащий отделения обрабатывает вклад для одного из клиентов.
•
Клиент заканчивает снимать деньги на
банкомате в операционном
зале.
•
Банковское приложение, выполняющееся в конце каждого месяца,
начисляет процент по счетам.
Следовательно,
пока создается отчет, несколько пользователей изме
няют данные. Так, какие цифры должны появиться в отчете? Ответ от
части
зависит от того, как сервер реализовывает
блокировку
(
locking
) –
механизм управления одновременным использованием ресурсов дан
ных. Большинство серверов БД применяют
одну из двух стратегий
блокировки:
Многопользовательские базы данных
Достарыңызбен бөлісу: