Object type:
- Page
Backlinks:
- sql
Creation date: "2026-05-26T09:34:43Z"
Created by:
- thomas
id: bafyreiexau2pcju4y5v62ey66kh2ybaefl4qm3lbt6oppfisir5om2if2i
transatctions
PURPOSE
data integrity
Protect against partial updates
concurrent access so multiple users can work
without corrupting data.
Support complex operations
Enablesafe rollback
OBJECTIVES
Define what a transaction is and explain its ACID
properties.
Start, commit, and roll backtransactions using SQL
commands.
Use save points to roll back part of a transaction.
DEFINITION
A transaction is a sequence of one or more SQL
statements that are executed as a single unit of work.
The transaction must be fully completed(committed) so
all changes become permanent, or fully undone(rolled
back) so the database returns to its original state,
ensuring data integrity.
ACID describes the four main promises a database
transaction makes to keep data safe and reliable.
ACID PROPERTIES
A—Atomicity(“All or Nothing”)
A transaction’s operations areall completed
successfullyornone at all.
If one part fails, the entire transaction isrolled back.
Example: In a bank transfer, money isdeducted from
one accountandadded to another—never just one of
them.
C—Consistency (“Valid State”)
A transaction brings the database from onevalid state
to another valid state, following allrules, constraints,
and triggers.
No transaction can breakdata integrityrules (like
unique constraints or foreign keys).
Example: You can’t insert a row with an invalid foreign
key.
I—Isolation(“No Interference”)
The operations of one transaction areinvisibleto others
until the transaction is committed.
Example: You can’t see a friend’s half-completed edit in
an online order system.
D—Durability(“It Sticks”)
Once a transaction iscommitted, the changes are
permanent;evenif the system crashes.
The database stores committed changes innon-volatile
memory(disk, transaction logs).
Example: After hitting “Place Order,” your order remains
recorded even if the server restarts.
COMMIT AND ROLLBACK
Commit: making a transaction permanent
Rollback: undoing a transaction
oOnce committed, no rollback is possible!
Autocommit:
Every SQL statement is a transactionEvery transaction commits automatically if it succeeds
Errors roll back that single SQL statement
Autocommit is the default behaviour in PostgreSQL unless you
explicitly start a transaction with START TRANSACTION or BEGIN
TRANSACTION PROCESSING
Implicit start
A new transaction begins automatically after a COMMIT or
ROLLBACK when autocommit mode is enabled.
When does it make sense ?
oIf a particular entry is to be deleted from multiple tables
oIf a user made a mistake in adjustments
Possible exceptions (product restrictions) :Some
commands, likecatalogmodifications (e.g., CREATE
TABLE, ALTER TABLE), may be handled outside normal
transaction control.
SAVEPOINTS
Purpose:
oAllow you toundo part of the current transactionwithout
rolling back the entire transaction.
oAct asintermediate checkpoint (snapshot)within a
transaction.
You can have multiplesavepointsin a single transaction.
Rolling back to a save point does not end the transaction.
Example script template:
START TRANSACTION;
UPDATE… ;
INSERT… ;
SAVEPOINTS1;—first checkpoint
INSERT…
SAVEPOINTS2;—second checkpoint
DELETE… ;
ROLLBACK TO SAVEPOINTS2;—undo changes after S2 only
No comments to display
No comments to display