Транзакция — это последовательность операций над базой данных, которая выполняется как единое целое. Она обеспечивает целостность данных и гарантирует, что все операции внутри транзакции будут выполнены полностью или не выполнены вовсе.
SQL SERVER
Создана таблица T
, в которую добавлены три строки со значениями 'first'
, 'second'
, 'third'
. Выполнен SELECT
, чтобы отобразить содержимое таблицы.

Начата транзакция, добавлена строка 'fourth'
с id = 4
. Затем выполнен ROLLBACK
, чтобы отменить добавление.

После отката строка с id = 4
отсутствует, таблица снова содержит только три исходные записи.

Начата новая транзакция, выполнено удаление всех строк, где id > 1
. В результате осталась только строка с id = 1
.

В рамках транзакции обновлены значения si
для всех строк на 3
, затем выполнен ROLLBACK
, и значения si
вернулись к NULL
.

Продемонстрированы основные возможности SQL-транзакций: создание таблицы и данных, выполнение изменений внутри транзакции, откат изменений с помощью ROLLBACK
, а также повторное использование транзакций для удаления и обновления данных. Все действия сопровождались проверкой результата через SELECT
, что наглядно показало работу транзакций и их влияние на содержимое таблицы.
XAMPP
Создана база данных transactiontargv24
и таблица T
с полями id
, s
, si
. Добавлены три строки с данными 'first'
, 'second'
, 'third'
. Выполнен SELECT *
, чтобы убедиться, что таблица заполнена корректно.

Начата транзакция (START TRANSACTION
), в таблицу добавлена строка ('4', 'fourth')
. Выполнен SELECT * FROM T
— строка отображается, но изменения пока не зафиксированы.

Выполнена команда ROLLBACK
, после чего снова проверено содержимое таблицы: строка 'fourth'
исчезла, данные откатились к состоянию до транзакции.

Отключён автокоммит: SET AUTOCOMMIT=0;
Начата транзакция, удалена строка с id = 3
, затем выполнен COMMIT
— удаление сохранено в базе.

Выполнен START TRANSACTION
и создан SAVEPOINT test1;
Содержимое таблицы проверено — отображаются только строки с id = 1
и id = 2
.

выполнен запрос UPDATE t SET si = 2;
, который установил значение si = 2
для всех строк в таблице.

Создан SAVEPOINT SP2
, затем обновлено поле si
до значения 5
.
После просмотра результата выполнен ROLLBACK TO SAVEPOINT SP2
, что откатило изменения.


Значения поля si
вернулись к предыдущему состоянию (например, 2
), подтверждая, что откат к точке сохранения сработал корректно.

В ходе работы была создана база данных transactiontargv24
и таблица T
с полями id
, s
и si
. В таблицу были добавлены тестовые строки. Далее на практике отработаны основные принципы работы с транзакциями:
- Использование команд
START TRANSACTION
,COMMIT
,ROLLBACK
для управления сохранением и откатом изменений. - Выполнение операций вставки, удаления и обновления данных с последующей фиксацией (
COMMIT
) или отменой (ROLLBACK
) результата. - Работа с точками сохранения (
SAVEPOINT
) и частичным откатом (ROLLBACK TO SAVEPOINT
), что позволяет более гибко управлять изменениями в транзакции. - Визуальное подтверждение результатов через
SELECT
, что позволило наглядно убедиться в эффективности транзакционного управления.
Таким образом, были закреплены теоретические и практические навыки работы с транзакциями, обеспечивающими целостность и управляемость данных в базе.