Вход


Главная страница >> Учебный процесс >> Конспекты >> Delphi. Технологии Клиент/Сервер >> Клиент/сервер и локальные базы данных >> Транзакции

[Назад]    [Содержание ]    [Вперед]

  


Транзакции


SQL-базы данных используют транзакции. Это означает, что изменения данных не выполняется напрямую в таблицах, как в локальных базах данных. Вместо этого клиентное приложение обращается к серверу с запросом на выполнение изменений, а сервер реализует этот пакет операций в одиночной транзакции.

Для любых законченных изменений данных транзакция должна быть завершена целиком. Если любая из операций внутри транзакции не выполнилась, происходит откат(roll back) или, другими словами, транзакция прерывается и восстанавливает состояние, имевшее место до ее начала.

Транзакции сохраняют постоянство данных на сервере. Вернемся к нашему примеру учета. Когда заказ сделан, в таблице ORDER должны отразиться изменения, внесенные этим заказом. Кроме того, в таблице PARTS должно уменьшиться количество запасных частей на число, отраженное в заказе. Если по некоторым причинам произошел сбой системы между модификациями таблиц ORDER и PARTS, данные будут неправильно отражать фактическое число имеющихся запасных частей. При инкапсуляции этой операции внутри транзакции ни одна из таблиц не будет изменена, пока вся транзакция не будет выполнена.

Управлять транзакциями в приложении можно на уровне сервера или клиента, что иллюстрируется далее в этой главе.

На заметку Некоторые локальные базы данных, такие как Paradox 7, могут поддерживать транзакции.



[Назад]    [Содержание ]    [Вперед]

  


  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017