互联网数据库问答资料第五章
编辑整理:深圳自考网 发布时间:2018-05-23 12:26:59阅读数:
§5
数据库的被破坏主要有以下几个方面:
(1)系统的软、硬件故障,造成数据被破坏。
(2)数据库的并发操作引起数据的不一致性。
(3)自然的或人为的破坏。
(4)对数据库数据的更新操作有误。
针对上述问题,数据库管理系统提供相应的功能:
(1)数据库恢复:在系统失效后的数据库恢复,配合定时备份数据库,使数据库不丢失数据。
(2)并发控制:保证多用户能共享数据库,并维护数据的一致性。
(3)安全性保护:防止对数据库的非法使用,以避免数据的泄露、纂改或破坏。
(4)完整性保护:保证数据的正确性和一致性。
数据库安全控制的一般方法:
①用户标识和鉴定;②存取控制;③定义视图;④审计;⑤数据加密。
数据库的安全性主要是指保护数据库,防止由于非法使用数据库造成数据泄露、更改或破坏。数据库的完整性:数据的正确性、一致性和相容性。
数据的完整性与安全性是数据库保护的两个不同的方面。安全性是防止用户非法使用数据库。完整性则是防止合法用户使用数据库时向数据库中加入不合语义的数据。
事务:并发控制的单位,是用户定义的一组数据库操作序列。
特征:原子性、一致性、隔离性、持久性。
并发控制的主要技术是采用封锁机制。封锁就是事务T可以向系统发出请求,对某个数据对象(最常用的是记录)加锁。于是事务T对这个数据对象就有一定的控制。基本的封锁类型有两种:排它锁(X锁)和共享锁(S锁)。
和操作系统一样,封锁的方法可能引起活锁和死锁。
活锁是指当若干事务要对同一数据项加锁时,造成一些事务的永远等待,得不到控制权的现象;死锁是指两个以上事务集合中的每个事务都在等待加锁当前已被另一事务加锁的数据项,从而造成相互等待的现象。
数据库中解决死锁的常用方法有:
⑴、要求每个事务一次就将所有要使用的数据全部加锁,否则就不能执行。
⑵、采用按序加锁法。
⑶、不采取任何措施来预防死锁的发生,而是周期性的检查系统中是否有死锁。
可串行化的调度:如果几个事务并行(交错)执行的结果和按次序串行执行的结果相同,则称该并行执行结果是正确的。这样的调度称为可串行化的调度。
两段锁协议是指所有事务必须分两个阶段对数据库项加锁和解锁。
两段锁协议规定所有的事务应遵守下列规则:
⑴、在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁。
⑵、在释放一个封锁之后,事务再获得任何其他封锁。
所谓“两段”锁含义是:事务分为两个阶段。第一阶段是获得封锁,也称为扩展阶段。在该阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。第二阶段是释放封锁,也称为收缩阶段。在该阶段,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁。
数据库系统故障可分为:事务内部的故障、系统故障、介质故障、计算机病毒。
转储:静态转储(转储期间不允许对数据库进行任何存取、修改活动)
动态转储(转储期间允许对数据进行存取或修改)
海量转储(每次转储全部数据库)
增量转储(每次只转储上次转储后更新过的数据)
日志文件是用来记录对数据库每一次更新活动的文件。在转储中必须建立日志文件,后援副本和日志文件综合起来才能有效地恢复数据库。
利用日志文件恢复事务的过程:
①从头扫描日志文件,找出哪些事务在故障发生时已经结束,哪些事务尚未结束;
②对尚未结束的事务进行撤销处理,对已经结束的事务进行重做处理。
①硬件故障;病毒破坏:当数据库本身被破坏时,可重装转储数据库的后备副本,然后运行日志文件,执行事务恢复,这样就可以重建数据库。
②发生事务故障;系统故障:当数据库本身没被破坏,但内容已经不可靠时,可利用日志文件恢复事务,从而使数据库回到某一正确状态,这时不必重装后备副本。
本文标签:深圳自考 串讲笔记 互联网数据库问答资料第五章
转载请注明:文章转载自(http://www.zikaosz.com)
《深圳自考网》免责声明:
1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。
2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com