안녕하세요.
[미남]입니다.
데이타베이스에서 트랜잭션은 대단히 중요한 개념입니다.
우리가 친구관리라든지 뭐 데이타의 처리에 별로 중요함을 느끼지
못하는 경우에는 크게 필요한 개념은 아닙니다.
데이타 베이스에는 일관성이라는 개념이 있습니다. 만약 두개의 테이블이
상호연관이 된 경우라면 한 테이블이 변하게 되면 다른 테이블의 내용도
같이 변해야겠지요? 이 트랜잭션은 어떠한 데이타베이스 일관성 제약조건도
위반해서는 안됩니다. 즉, 트랜잭션 시작시 데이타베이스가 일관성이 있었으면
트랜잭션이 성공적으로 끝난후에도 데이타베이스는 일관성이 있어야 합니다.
이런 어려운 이론은 젖혀두고 예를 들어 설명을 하면..
만약 어떤 사람이 은행에서 돈을 다른 계좌로 이체를 한다고 하면...
이 사람이 자기의 계좌에 100,000원이 있는데 이중에서 50,000원을 찾았습니다.
직접 돈을 뽑은 것은 아니고 우선 자기의 계좌에서 빠져나온상태...
근데 이순간 모든 전기가 나가고 전산망이 마비되어버린다면...
이사람의 계좌에는 50,000원만이 남게 될 것입니다. 물론 이체도 되지않구요.
그럼 이사람은 생돈 50,000원만 날리게 되는거지요.
그러므로 이 부문을 트랜잭션 처리를 하게 되는 겁니다.
트랜잭션은 All or Nothing...
전부가 아니면 아무것도 아닌 것입니다. 트랜잭션으로 처리한 부분이 완벽하게
처리되지 않으면 아예 아무것도 하지 않은 상태로 돌아가는 것이지요.
이런 의미에서 데이타베이스에서 트랜잭션은 대단히 중요한 개념을 갖습니다.
도움이 되셨기를...
|