- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
侯贾驹 软件一班
第五章 数据库保护
一. 简答题
导致数据库破坏的四种类型?DBMS分别用何措施来保护之?
对数据库的破坏来自以下四个方面:非法用户,非法数据,各种故障,多用户的并发访问
保护措施:利用权限机制,利用完整性约束防止非法数据进入数据库,提供故障恢复,提供并发机制
SQL SERVER的安全体系?
SQL SERVER安全体系由三级组成,从外向内,分别是DBMS或数据库服务器,数据库级,语句与对象级,并且一级比一级要求高,即内部级比外部级高
数据库的完整性约束分几种类型?关系模型上的完整性约束与数据库的完整性约束的关系?数据库完整性约束的实现步骤?
数据库完整性约束分为两种:静态完整性约束(隐式约束,固有约束,显示约束)与动态态完整性约束
显示系统中的规章制度相当复杂有些可以转换为数据模型上的完整性约束,还有一些是数据模型上的完整性约束所无法完成的,因此数据模型上的完整性约束不可能完成显示系统中的所有规定,数据库完整性约束就要完成数据模型完整性约束不能完成的约束
完整性约束的定义,完整性约束的验证
显式完整性约束有哪几种定义方式?
显示完整性约束有三种方法:过程化定义,断言,触发器
事务的特点是什么?它有哪几个特性或性质?
事务的特点:事务由多个步骤构成,只有所有步骤都成功执行,则该事务才可提交完成,否则,其中一个步骤执行失败,则该事务失败,事务中已执行步骤应撤销或回退
事务的特性:原子性,一致性,隔离性,持久性
所谓的故障恢复,是对什么进行恢复?
恢复主要是恢复数据库本身,即在故障引起当前数据库状态不一致后,利用备份副本,将数据库恢到某个正确状态或一致状态
故障恢复时,对事务处理的总的原则是什么?
对已提交的事务应该保证他的更新操作
未提交的事务应该对它所做的所有操作予以撤销
提交规则与先记后写规则之间的关系?
先记后写规则实际上是对提交规则的补充,提交规则的第一种情况,是后像在写入数据库侯,更新事务可提交。此处的补充是,在后像写入数据库前,先将前像写日志。
日志的基本内容?
日志包括:活动事务表(ATL),提交事务表(CTL),前像(BI),后像(AI)
系统失效是否会导致事务失效?为什么?
不会
系统故障的恢复策略为:撤销故障发生时未提交的事务,重做已提交的事务
为何要并发?何谓并发调度?何谓串行调度?
提高系统的资源利用率;
改善短事务的响应时间(Response Time)
串行:DBMS按顺序一次执行一个事务,执行完一个事务后才开始另一个事务的执行
并发:DBMS同时执行多个事务
并发执行可能引起哪些问题?产生这些问题的原因各是什么?
丢失更新(覆盖未提交的数据)即:一个事务的更新的数据还没有提交,另一个事务又将该未提交的数据再次更新。原因:两个或多个事务对“同一数据”并发地“写入”引起,又称为“写-写”冲
读“脏”数据(读未提交的数据),即一个事务更新的数据尚未提交,被另一事务读到。 原因:一个事务读另一事务尚未提交的数据引起,称为“写-读”冲突。
读值不可复现 ,即两次对同一数据读操作,但是却读到不同的数据。 原因:“读-写”冲突引起。
故障恢复和并发控制分别负责事务的哪个特性?
故障恢复:持久性
并发:隔离性
并发执行的正确性准则?利用什么来测试?
正确性准则:“冲突可串行化”。
一个并发调度是否可串行化,可用其前趋图来测试
加锁协议的思想?
用“加锁”来实现并发控制,即在操作前对被操作的对象加锁。锁的作用锁住事务要访问的数据对象,使得其他事务无法访问同一数据对象,尤其要阻止其他事务改变该数据对象。
加锁协议中相容矩阵的作用?
相容矩阵,是说明锁请求在什么情况下可获准或被拒绝。如果获准了,就说明数据对象上已有的锁与申请要再加上的锁“相容”;如果被拒绝,则说明数据对象上已有的锁与申请要再加上去的锁“冲突”或“相斥”。
加锁协议的两个补丁分别解决什么现象(或问题)?
补丁1:可避免级联回退,防止读脏数据
补丁2:可避免活锁
(S,X)协议的相容矩阵?为什么说(S,X)协议比X协议提高了并发度?
(S,X)协议的相容矩阵
未加锁NL
已加S锁
已加X锁
S锁
Y
Y
N
X锁
Y
N
N
与X锁协议相比,由于读操作使用S锁,不再是X锁,并且“读-读”不是冲突操作对,故可将S锁与S锁设计为相容,即同一数据对象可允许多个事务并发读,这样就提高了并发度
多粒度加锁协议中引入意向锁的原因?
为简化多粒度加锁中数据对象锁冲突检测的复杂性
多粒度加锁协议中的加锁和解锁顺序分别是什么?
加锁:要对一个数据对象加锁,必须对这个数据对象的所有祖先加相应的意向锁,即按自上而下的次序申请锁
解锁:应按自下而上的次序进行
预防死锁的基本思想?有哪两种策略?哪两种检测方法?
思想:只允许事务单向
原创力文档


文档评论(0)