1단계 로킹규약

다음 그림에 봤을 때, T1 -> T2 순으로 직렬성이 보장되는 트랜잭션이면, T1이 X,Y의 값을 1000 증가 한 이후에, T2가 50% 감소시키기 때문에 X=2000, Y=2000이 되야 데이터의 무결성이 깨지지 않는다.
하지만, T1의 입장에서보면 X를 읽을 때에는 최초의 트랜잭션이 시작되기 전의 값을 참조하고 있지만, Y는 T2가 변경한 Y의 값을 참조하고 있기 때문에 무결성이 깨지는 것이다.
그리하여, 트랜잭션이 Unlock하기 전에 모든 Lock을 획득한 후에, Unlock을 가능하도록 하면 직렬성을 보장할 수 있다.
2단계 로킹 규약
트랜잭션 T1, T2입장에서 보면 Unlock을 하기 전에 모든 Lock연산을 수행하고 있기 때문에, 직렬성을 보장하고 데이터의 무결성이 깨지지 않는다