데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위.
한꺼번에 모두 수행되어야할 일련의 연산들.
작업의 완전성 보장해준다. 모두 완벽하게 처리하거나 그렇지 않을 경우에 원상태로 복구!
사용자 입장에서는 작업의 논리적 단위로 이해할 수 있고, 시스템 입장에서는 데이터를 접근 또는 변경하는 프로그램의 단위가 됨.
하나의 트랜잭션이 성공적으로 끝났고, 데이터베이스가 일관성있는 상태에 있을 때 하나의 트랜잭션이 끝났음을 알려주기 위해 사용하는 연산.
하나의 트랜잭션 처리가 비정상적으로 종료되어 데이터베이스의 일관성 깨뜨렸을 때,
이 트랜잭션의 일부가 정상적으로 처리되었더라도 전체 연산을 취소한다.
트랜잭션의 범위를 최소화 하는 것이 좋다.
일반적으로 데이터베이스 커넥션은 개수가 제한적이기 때문에 각 단위 프로그램이 커넥션을 소유하는 시간이 길어지면 사용 가능한 여유 커넥션의 개수는 줄어든다.
-> 각 단위 프로그램에서 커넥션을 가져가기 위해 기다려야 하는 상황이 발생할 수도 있다.