1、在数据库中为什么要并发控制?并发控制技术能保证事务的哪些特性?
数据库是共享资源,通常有多个事务同时运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据地情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。
并发控制可以保证事务的一致性和隔离性。
2、并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?
并发操作带来的数据不一致包括三类:
丢失数据、不可重复读、读“脏”数据。
避免不一致性的方法就是并发控制。常用的并发控制技术包括封锁方法、时间戳方法、乐观控制方法和多版本并发控制方法等。
3、封锁及其类型:
封锁就是事务T在对某数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后的事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事物不能更新或读取此数据对象。
基本的封锁类型有两种:排他锁(X锁)和共享锁(S锁)。