컴퓨터 공부/JSP

무결성과 트렌젝션

나정_ 2012. 6. 22. 15:34


데이터의 무결성(Integrity)란 데이터베이스에 저정된 데이터의 일관성을 의미한다. 


즉 , 무결성은 데이터의 입력이나 변경을 제한하여 데이터의 안정성을 저해하는 요소들을 막는 것이다. 


데이터 베이스 시스템은 데이터베이스의 무결성을 유지하기위해서 DBMS의 한 구성 요소로 무결성 서브 시스템을 가지고 있다. 



무결정 서브 시스템 

무결성 규정 요건 

계속적으로 변하는 데이터베이스의 정확성 유지는 일반적으로 상당히 어려운 문제이다 

그렇기 때문에 실제로 어떤 무결성 규정이나 무결성 제약을 정해 놓고 이것들이 위배되지 않는 한 데이터베이스의 무결성이 유지되는 것으로 간주한다. 






트랜젝션이란 통상적으로 정보의 교환이나 데이터베이스 갱신등 일련의 작업들에 대한 연속처리단위를 의미하고 데이터베이스의 무결성이 보장되는 상태에서 요청된 작업을 완수하기 위한 작업의 기본단위로 간주한다 . 


쉽게 말해서~ 


트렌젝션은 작업의 단위를 지정해주는 중요한 부분이다 . 


예를 들어 

 

 은행 현금인출기(ATM)에서 돈을 인출하는 과정을 생각보자
현금인출을 하겠다고 기계에게 알려준뒤 현금카드를 넣어서 본인임을 인증받고, 인출할 금액을 선택하면 ATM 기는 돈을 내어준다

 이러한 거래에 있어서 지켜져야 할 중요한 것이 있다.
기계의 오동작 등으로 인하여 전산상으로는 돈을 인출한 것으로 입력이 되었는데 돈은 안나온다거나, 돈은 나왔는데 일련의 에러나 문제로 인하여서 돈을 인출한 것이 전산상으로 입력이 안되면 상당히 심각한 문제가 발생하는 것이다.


 때문에 전산상으로도 입력이 정상적으로 잘 되고, 돈도 인출이 정상적으로 잘 됨을 확인하고 나서야, 인출하는 하나의 과정이 정상적으로 처리되었음을 확인할 수 있다.
 

 여기서 돈을 인출하는 일련의 과정이 하나의 묶음으로 처리되어야 함을 이해하실 수 있을것이다
그리고 혹시 처리도중 중간에 무슨 문제가 발생한다면 진행되던 인출과정 전체를 취소하고 다시 처음부터 시작하도록 해야 될 것이다.



바로 위와 같은 것을 트랜잭션이라고 한다.
transaction 의 사전적의미와도 상통하지만은, 거래함에 있어서 거래하는 양측이 다 원하는 결과물을 얻어야만 정상적으로 처리되는 것이고 그렇지 않다라면 거래자체가 무산되어 원점으로 되돌려져(roll back) 버린다.
전산적으로나 데이터베이스에 있어서도 이처럼 하나의 묶음으로 처리가 이루어져야 하는 모든것에 트랜젝션이란 개념이 사용된다.

롤백(roll back) 이란 것은 트랜잭션으로 인한 하나의 묶음처리가 시작되기 이전의 상태로 되돌려지는 것을 말함.

커밋(commit) 이란 것은 정상적으로 처리되어서 확정하는 것 

즉 , 커밋하면 트랜잭션의 처리과정이 모두 반영되며 하나의 트랜잭션 과정이 끝나게 됨 


'컴퓨터 공부 > JSP' 카테고리의 다른 글

[JSP] jsp:include에 대하여 알아보자 .  (2) 2013.01.18
[JSP] POST와 GET의 차이점  (4) 2012.12.20
Web 언어  (1) 2012.05.08
JSP 첫걸음  (0) 2012.05.08