Транзакция (transaction) – это совокупность операций манипулирования базой данных, которые должны рассматриваться как атомарное действие. Говоря об атомарном действии, мы подразумеваем такое действие, которое либо полностью выполняется, либо, при необходимости, полностью отменяется как единое целое.
Разные СУБД имеют специфику представления транзакций. Мы же здесь будем использовать некоторый гипотетический синтаксис транзакций.
Начало и завершение транзакции
Так как транзакция – это совокупность операций, то в такой совокупности необходимо выделить начало и конец. Транзакция начинается командой типа:
BEGIN TRANSACTION [transaction_name]
и завершается по команде
COMMIT [TRANSACTION]
по которой происходит фактическое изменение состояния базы данных согласно команд, содержащихся в транзакции. Например, если имеется следующая транзакция:
BEGIN TRANSACTION
INSERT INTO FACULTY VALUES (1, "Informatics", "Ivanov", "2/b", 42000)
INSERT INTO FACULTY VALUES (1, "Computer Science", "Petrov", "3/a", 47000)
COMMIT
то в таблицу FACULTY будут вставлены либо две строки, либо ни одной в зависимости от успешности выполнения всей транзакции.