【计算机管理——数据库系统原理】——数据库管理

定义:

    DBMS对DB的监控,称为数据库的管理,或数据库的保护。


******************************************

    DBS运行的最小逻辑工作单位是:事务。

事务定义:

    是构成单一逻辑工作单元的操作集合,要么完整执行,要么完全不执行。

例如:

    银行存取款:要么正确存取款,要么完全不执行,不能出现:钱放进去,但账号上没给加上钱的情况。

    即,只有一套步骤都完成后,才能宣告该事务成功执行,若有错误,则必须使数据库恢复到事务的最初始状态。

所以,事务有如下性质:

    原子性:所有操作为一个整体,要么全做,要么全不做。

    一致性:事务执行结果,与数据库保持一致,不得因事务的执行导致数据库数据错乱。

    隔离性:多个事务并发执行,应保持与单独执行结果一致

    持久性:事务完成后,对数据库的更新应永久地反映在数据库中。即使系统发生故障。

    

**************************************

数据库的恢复:

    系统能把数据库从被破坏,不正确的状态,恢复到最近一个正确的状态,DBMS的这种能力称为数据库的可恢复性。

    策略:

        两件事:转储、建立日志。

        两种处理:若硬件损坏,需将最近一次拷贝的数据库备份到新的磁盘,利用日志库执行“重做”。若非物理破坏,不必拷贝,只要利用日志“撤销”所有不可靠的修改,再“重做”已提交,但更新可能还留在内存缓冲区的事务。

*************************************

并发控制:

    问题:丢失更新、读脏数据、不可重复读。

    封锁:锁的作用是使并发事务对数据库中数据项的访问能够同步。

    共享锁(S锁):如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务职能读取数据,不能修改数据。(就比如:word文档,第一次打开是可读可编辑的,但当已经打开一个,又打开一遍的时候,就是只读状态,我认为这应该就是S锁的意思)

    排他锁(X锁):如果事务T对数据A加上排他锁后,则其他事务不能在对A加任何类型的封锁。
    获准排他锁的事务既能读取数据,也能修改数据。
    数据库死锁的原因:若干事务相互等待对方释放封锁,就陷入了无限期等待状态,系统进入死锁。
    预防数据库死锁的方法:1、要求一个事务必须一次性封锁所需要的所有数据(要么全成功,要么全部成功)2、规定封锁数据的顺序,所有事务必须按照这个顺序实行封锁
    解除数据库死锁的方法:允许死锁发生,然后解除它,如果发现死锁,则将其中一个代价较小的事务撤销,回滚这个事务,并释放此事务持有的封锁,使其他事务继续进行。



总结:数据库管理,主要是为了数据库的安全。数据库恢复、并发控制、完整性控制,都是为了保护数据库,防止不合法使用,以免数据的泄密、更改或破坏。


你可能感兴趣的:(【计算机管理——数据库系统原理】——数据库管理)