摘要:数据库的保护,是通过数据库的恢复、安全性控制、完整性控制、并发控制,来实现的。 事务,是数据库处理的基本逻辑单位,事物的原子性、一致性、隔离性和持久性(简称ACID)保证了数据更新的正确性。面向数据更新的应用程序的编写,必须以事务为单位进行数据的操作。
>>>>>数据库系统工程师历年真题
>>>>>数据库系统工程师网络课程
>>>>>数据库系统工程师视频课程
2016年软考数据库系统工程师知识点详解:数据库的保护
数据库的保护,是通过数据库的恢复、安全性控制、完整性控制、并发控制,来实现的。
事务,是数据库处理的基本逻辑单位,事物的原子性、一致性、隔离性和持久性(简称ACID)保证了数据更新的正确性。面向数据更新的应用程序的编写,必须以事务为单位进行数据的操作。
数据库的备份与恢复:
数据备份与日志备份是数据库恢复技术的主要依据。数据备份又称为数据转储,分为静态和动态两种方式。日志备份用来记录对数据库系统的更新操作,写日志的次序严格按照并发事务执行的时间次序,必须先写日志后写数据库。
数据库系统中的故障类型:事务故障、系统故障、介质故障。
恢复策略:有2种操作,分别是撤销事务(UNDO)和重做事务。
事务故障的恢复:可以UNDO产生故障的事务,回到该事务执行前的正确状态;
系统故障的恢复:系统故障会导致数据库不一致,恢复方法是先UNDO未完成的事务,再REDO已提交的事务;
介质故障的恢复:需要DBA参与,重装数据库、装入数据库的备份和日志文件的副本,再由系统完成UNDO、REDO操作。
数据库的安全性,是保证数据库不被非法用户访问和破坏的机制。包括:权限机制(GRANT)、视图机制、数据加密。数据加密可以防止数据在存储和传输过程中失密。
数据库的完整性,是保证数据库不被合法用户的错误操作而破坏。完整性是指数据的正确性和相容性。
数据库的并发控制:
1)并发操作,可能会带来数据的不一致性有3种,丢失修改、不可重复读和读脏数据。
2)加锁:控制的手段就是加锁。排他锁(写锁X)和共享锁(读锁S)。X锁将独占数据,数据上有S锁时事务只能加S锁读而不能加X锁写。
3)封锁协议:
一级封锁协议,事务T在修改数据A前必须先对A加X锁,直到事务结束才能释放X锁。这样解决了丢失修改的问题;
二级封锁协议,在一级封锁协议基础上,事务T在读数据A前必须对其加上S锁,读完即释放S锁。这样使得一个事务不能读取其他事物修改中的数据,解决了读脏数据问题;
三级封锁协议,在一级封锁协议基础上,事务T在读数据A前必须对其加上S锁,直到事务T结束才释放S锁。这样使得一个事务在读取数据期间,其他事务只能读取该数据而不能修改,所以解决了不可重复读的问题;
两段锁协议,对任何数据进行读写前都必须加锁,在释放一个封锁后,事务不再申请和获得任何其它封锁。这样可以缩短持锁时间,提高并发性,同时解决了数据的不一致性。
相关推荐:
>>>>>数据库系统工程师培训视频教程
>>>>>数据库系统工程师考试考前串讲
软考备考资料免费领取
去领取