一、问题
1、DBMS数据库中所谓事务的特性。
2、数据并发操作带来的丢失更新指的什么?
3、数据库兵法操作带来的读过时数据指的什么?
4、什么是脏读?
5、数据库封锁技术中,什么是X封锁?什么是S封锁?
回带:
问题1答案:事务具有原子性、一致性、隔离性、持续性。
原子性:事务所有的操作要么作,要么都不做。
一致性:事务的能使数据库从一个一致状态变更到另外一个一致性状态。
隔离性:一个事务的执行不能被别的事物干扰。
持续性:事务一旦提交,对数据库的改变必须是永久的。
问题2答案:
丢失更新指的,两个事务T1和T2读入某一数据并修改,T2提交的结果破坏了T1提交的结果,T1的修改丢失。
问题3答案:
不可重复读,事务T1读取某个数据时,T2读取并修改了同一数据,T1为了对读取值进行校对在读此数据,与第一读不一致。
问题4答案:
读脏数据:事务T1修改某一数据,事务T2读取同一数据,由于某种原因T1的操作进行了撤销,T2读取到的数据就是脏数据。
问题5答案:
为了处理好事务的兵法控制,不至于带来问题,操作系统主要采用了封锁技术。
(1)排他锁(X封锁) 如果T1对数据A实现了X封锁,则其他事务必须等T1对A数据解除封锁后才能使用。
(2)共享锁(S封锁) 如果T1对数据A实现了X封锁,则其他事务可以对A数据读取,但是写入和更新的操作必须等解除封锁后才能使用。