- 在数据库中为什么要并发控制?并发控制技术能保证事务的哪些特性?
答:(1)数据库是共享资源,可以供多个用户使用,所以通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取或修改同一数据的情况。若对并发操作不加以控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。
(2)并发控制可以保证事务的一致性和隔离性,保证数据库的一致性。
2.并发操作可能会产生哪几类数据不一致性?用什么方法能避免各种不一致性的情况?
答:数据库的并发操作所带来的数据不一致性有三类:丢失更新问题、不一致性分析问题和读“脏”数据问题。对于并发操作带来的问题,通常采用并发控制的方法调度并发操作,避免造成数据的不一致性,使一个用户事务的执行不受其他事务的干扰。
3.什么是封锁?基本的封锁类型有几种?试述它们的含义。
答:封锁就是事务 T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。
封锁是实现并发控制的一个非常重要的技术。
基本的封锁类型有两种 : 排它锁(Exclusive Locks,简称X锁) 和共享锁(Share Locks,简称S锁)。
排它锁又称为写锁。