Оглавление:
Определение - что означает транзакция?
Транзакция в контексте базы данных - это логическая единица, которая независимо выполняется для извлечения или обновления данных. В реляционных базах данных транзакции в базе данных должны быть атомарными, согласованными, изолированными и долговечными - обобщенными как аббревиатура ACID.
Техопедия объясняет сделку
Транзакции завершаются операторами SQL COMMIT или ROLLBACK, которые указывают начало или конец транзакции. Акроним ACID определяет свойства транзакции базы данных следующим образом:
- Атомарность: транзакция должна быть полностью завершена, сохранена (зафиксирована) или полностью отменена (откатана). Продажа в базе данных розничного магазина иллюстрирует сценарий, который объясняет атомарность, например, продажа состоит из сокращения запасов и записи поступающих денежных средств. И то, и другое случается вместе или не случается - это все или ничего.
- Согласованность: транзакция должна полностью соответствовать состоянию базы данных, как это было до транзакции. Другими словами, транзакция не может нарушать ограничения базы данных. Например, если столбец «Номер телефона» в таблице базы данных может содержать только цифры, то согласованность диктует, что любая транзакция, пытающаяся ввести алфавитную букву, может не зафиксироваться.
- Изоляция: данные транзакции не должны быть доступны для других транзакций, пока исходная транзакция не будет зафиксирована или откатана.
- Долговечность. Изменения в данных транзакции должны быть доступны даже в случае сбоя базы данных.
