封锁(Locking)就是事务T可以向系统发出请求,对某个数据对象(最常用的是记录)加锁。于是事务T对这个数据对象就有一定的控制。例如,其它事务不能更新此数据直到T释放(unlock)它的锁为止。确切的控制由封锁的类型决定。基本的封锁类型有两种:排它锁(Exclu sive locks简记为X锁)和共享锁(Share locks简记为S锁)。若事务T对数据R加上X锁,则只允许T读取和修改R.其它一切事务对R的任何(包括封锁)请求都不成功,直至T释放R上的X锁为止。这就保证了其它事务不能再读取和修改R,直到T释放X锁。若事务T对数据R加上S锁,则其它事务对R的X锁请求不能成功,而对R的共享请求可以得到。这就保证了其它事务以读取R但不能修改R,直至T释放S锁为止。