数据库保护

      1. 数据库保护又叫做数据库控制,是通过四方面实现的,即安全性控制,完整性控制,并发性控制和数据恢复。

  2.数据库的安全性是保护数据库,以防止因防止非法使用数据库,造成的数据泄漏,更改或破坏。

  3.数据库的完整性是保护数据库中的数据的正确性,有效性,相容性。

  4.并发控制是为了防止多个用户同时存取同一数据,造成的数据不一致!

1.事务

事务是用户定义的数据操作系列,这些操作可作为一个完整的工作单元。一个事务内的所有语句是一个整体,要么全部执行,要么全部不执行。

事务可以保证在一个事务中的全部操作或者全部成功,或者全部失败。也就是说,当第二个动作没有成功时,系统将第一个动作也撤销掉,使第一个动作没有发生,这样当系统恢复正常时,A账户和B账户中的数据才是正确的。

要让系统知道哪几个动作属于一个事务,必须现实的通知系统,也可以通过标记事务的开始与结束来实现。在不同的事务处理模型中,事务的开始标记也不完全一样,但不管是哪一种事务处理模型,事务结束标记都是一样的。事务的结束标记有两个,一个是正常结束,用COMMIT(提交)表示,此时事务中的所有操作都会保存到物理数据库中,成为永久的操作。另一个是异常结束,用ROLLBACK(回滚)表示,此时事务中的全部操作都被取消,数据库回到事务开始之前的状态。事务中的操作一般是对数据的更新操作。

二、事务的特征

事务具有四个特征,即原子性(Atomicity)、一致性(Cosistency)、隔离性(Isolation)和持续性(Durability).这四个特性也简称为事务的ACID特性。

1.原子性

事物的原子性是指事务时数据库的逻辑工作单位,事务的操作要么都做,要么都不做。

2.一致性事物的一致性是指事务执行的结果必须是使数据库从一个一致性状态转换到另一个一致性状态。如前所述的转账事务。因此,当事务成功提交时,数据库就从开始前的一致性状态转到了事务结束后的一致性状态。同样,如果由于某种原因,事务在尚未完成时出现了故障,那么就会出现事务中的操作已经完成。而另一部分操作还没有做的现象,这样就有可能使数据库产生不一致状态。因此,事务中的操作如果有一部分成功,一部分失败,为避免数据库产生不一致状态,系统会自动撤销事务中已完成的操作,使数据库回到事务开始前的状态。因此,事物的一致性和原子性时密切相关的。

3.隔离性

事务的隔离性是指数据库中一个事务的执行不能受其他事务干扰,即一个事务内部的操作及使用的数据对其他事务是隔离的,并发执行的各个事务不能相互干扰。

4.持久性

事务的持久性也称为永久性(Permanence),指事务一旦提交,则对数据库中的数据的改变就是永久性的,以后的操作或故障不会对事务的操作结果产生影响。

事务是数据库并发控制和恢复的基本单位。

保证食物的ACID特性是事务处理的重要任务。事务的ACID特性可能由于以下情况而遭到破坏:

1).多个事务并行运行时,不同事务的操作有交叉情况。

2).事务在运行过程中被强迫停止。

在第一种情况下,数据库管理系统必须保证多个事务在交叉运行时不被影响这些事务的原子性。在第二种情况下,数据库管理系统必须保证被强迫种植的事务对数据库和其他事务没有任何影响。

guxing 2014-08-05