Параллельные процессы (или процесс транзакций)
Транзакция — это логическая единица работы. Транзакция — это разовый прогон программы. Транзакция — это единица взаимодействия с базой данных. Логическая единица работы — не просто одиночная операция системы, а скорее согласование нескольких таких операций (например, добавление + изменение какого-либо кортежа). В общем, это преобразование одного согласованного состояния базы данных в другое… Читать ещё >
Параллельные процессы (или процесс транзакций) (реферат, курсовая, диплом, контрольная)
Транзакции
Транзакцией называется последовательность операций, произведённых над БД и переводящих БД из одного непротиворечивого (согласованного) состояния в другое непротиворечивое (согласованное) состояние.
Транзакция — это логическая единица работы. Транзакция — это разовый прогон программы. Транзакция — это единица взаимодействия с базой данных. Логическая единица работы — не просто одиночная операция системы, а скорее согласование нескольких таких операций (например, добавление + изменение какого-либо кортежа). В общем, это преобразование одного согласованного состояния базы данных в другое, причём в промежуточных точках база данных находится в несогласованном состоянии.
Из этого следует, что не допустимо, чтобы одно из обновлений было выполнено, а другое нет, так как БД останется в несогласованном состоянии. В идеальном случае должны быть выполнены оба обновления. В плохом случае, система между двумя обновлениями может быть разрушена.
Но система, обеспечивающая процесс транзакции, обеспечивает гарантию, что если во время выполнения неких обновлений произошла ошибка, то все эти обновления будут аннулированы. Таким образом, транзакция или выполняется полностью, или полностью отменяется.
Оператор COMMIT TRANSACTION сигнализирует об успешном окончании транзакции. Оператор ROLLBACK TRANSACTION сигнализирует о неудачном окончании транзакции. Все обновления должны быть аннулированы.
Для этого используется файл регистрации (журнал), где записываются детали всех операций обновления. Оператор COMMIT и ROLLBACK завершают транзакцию, а не программу. Программа может выполнять несколько транзакций. Сама программа завершается оператором RETURN.