Intro to Databases: Transactions, Properties

Atomicity
Each transaction is all or nothing, never left half-done.
Transaction Rollback (=Abort)
Undoes partial effects of transaction
Can be system or client initiated

Consistency
Each client, each transaction:
Can assume all constraints hold when transaction begins
Must guarantee all contraints hold when transaction ends
Serializability -> contraints always hold

Isolation
Each client sends a sequence of transaction to the database, each transaction can be a sequence of statements
Isolation -> Serializability
Operations may be interleaved, but execution must be equivalent to some sequential order of all transactions.

Durability
If system crashes after a transaction commits, all effects of transaction remain in database.
Logging!

Related

About

I'm looking for my next opportunity to solve user interface problems and make an impact. Currently, I'm teaching code to high school students with CodeNation (formerly ScriptEd) and I'm a contributor on a mobile canvassing app called Reach. Some of my projects are on GitHub. I blog about what I'm learning and random tidbits that catch my fancy. Contact me at mtaylor@megantaylor.org