数据库第五章作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20103106 侯贾驹软件一班
第五章数据库保护
一. 简答题
1.导致数据库破坏的四种类型?DBMS分别用何措施来保护之?
对数据库的破坏来自以下四个方面:非法用户,非法数据,各种故障,多用户的并发访问
保护措施:利用权限机制,利用完整性约束防止非法数据进入数据库,提供故障恢复,提供并发机制2.SQL SERVER的安全体系?
SQL SERVER安全体系由三级组成,从外向内,分别是DBMS或数据库服务器,数据库级,语句与对象级,并且一级比一级要求高,即内部级比外部级高
3.数据库的完整性约束分几种类型?关系模型上的完整性约束与数据库的完整性约束的关
系?数据库完整性约束的实现步骤?
数据库完整性约束分为两种:静态完整性约束(隐式约束,固有约束,显示约束)与动态态完整性约束
显示系统中的规章制度相当复杂有些可以转换为数据模型上的完整性约束,还有一些是数据模型上的完整性约束所无法完成的,因此数据模型上的完整性约束不可能完成显示系统中的所有规定,数据库完整性约束就要完成数据模型完整性约束不能完成的约束
完整性约束的定义,完整性约束的验证
4.显式完整性约束有哪几种定义方式?
显示完整性约束有三种方法:过程化定义,断言,触发器
5.事务的特点是什么?它有哪几个特性或性质?
事务的特点:事务由多个步骤构成,只有所有步骤都成功执行,则该事务才可提交完成,否则,其中一个步骤执行失败,则该事务失败,事务中已执行步骤应撤销或回退
事务的特性:原子性,一致性,隔离性,持久性
6.所谓的故障恢复,是对什么进行恢复?
恢复主要是恢复数据库本身,即在故障引起当前数据库状态不一致后,利用备份副本,将数据库恢到某个正确状态或一致状态
7.故障恢复时,对事务处理的总的原则是什么?
对已提交的事务应该保证他的更新操作
未提交的事务应该对它所做的所有操作予以撤销
8.提交规则与先记后写规则之间的关系?
先记后写规则实际上是对提交规则的补充,提交规则的第一种情况,是后像在写入数据库侯,更新事务可提交。此处的补充是,在后像写入数据库前,先将前像写日志。
9.日志的基本内容?
日志包括:活动事务表(A TL),提交事务表(CTL),前像(BI),后像(AI)
10.系统失效是否会导致事务失效?为什么?
不会
系统故障的恢复策略为:撤销故障发生时未提交的事务,重做已提交的事务
11.为何要并发?何谓并发调度?何谓串行调度?
提高系统的资源利用率;
改善短事务的响应时间(Response Time)
串行:DBMS按顺序一次执行一个事务,执行完一个事务后才开始另一个事务的执行
并发:DBMS同时执行多个事务
12.并发执行可能引起哪些问题?产生这些问题的原因各是什么?
丢失更新(覆盖未提交的数据)即:一个事务的更新的数据还没有提交,另一个事务又将该未提交的数据再次更新。原因:两个或多个事务对“同一数据”并发地“写入”引起,又称为“写-写”冲读“脏”数据(读未提交的数据),即一个事务更新的数据尚未提交,被另一事务读到。原因:一个事务读另一事务尚未提交的数据引起,称为“写-读”冲突。
读值不可复现,即两次对同一数据读操作,但是却读到不同的数据。原因:“读-写”冲突引起。13.故障恢复和并发控制分别负责事务的哪个特性?
故障恢复:持久性
并发:隔离性
14.并发执行的正确性准则?利用什么来测试?
正确性准则:“冲突可串行化”。
一个并发调度是否可串行化,可用其前趋图来测试
15.加锁协议的思想?
用“加锁”来实现并发控制,即在操作前对被操作的对象加锁。锁的作用锁住事务要访问的数据对象,使得其他事务无法访问同一数据对象,尤其要阻止其他事务改变该数据对象。
16.加锁协议中相容矩阵的作用?
相容矩阵,是说明锁请求在什么情况下可获准或被拒绝。如果获准了,就说明数据对象上已有的锁与申请要再加上的锁“相容”;如果被拒绝,则说明数据对象上已有的锁与申请要再加上去的锁“冲突”或“相斥”。
17.加锁协议的两个补丁分别解决什么现象(或问题)?
补丁1:可避免级联回退,防止读脏数据
补丁2:可避免活锁
18.(S,X)协议的相容矩阵?为什么说(S,X)协议比X协议提高了并发度?
(S,X)协议的相容矩阵
与X锁协议相比,由于读操作使用S锁,不再是X锁,并且“读-读”不是冲突操作对,故可将S锁与S锁设计为相容,即同一数据对象可允许多个事务并发读,这样就提高了并发度
19.多粒度加锁协议中引入意向锁的原因?
为简化多粒度加锁中数据对象锁冲突检测的复杂性
20.多粒度加锁协议中的加锁和解锁顺序分别是什么?
加锁:要对一个数据对象加锁,必须对这个数据对象的所有祖先加相应的意向锁,即按自上而下的次序申请锁
解锁:应按自下而上的次序进行
21.预防死锁的基本思想?有哪两种策略?哪两种检测方法?
思想:只允许事务单向等待
预防死锁的两个策略:等待-死亡策略(年老的等待年轻的事务)和击伤-等待策略(年轻的等待年老的事务)。
死锁的检测的两种方法:超时法(设定一个时限)和等待图法(等待图中出现回路即发生死锁)死锁的处理思想是“杀死”事务,打破循环等待,解除死锁。
二. 单项选择题
1. (①)不是数据库复制的方式。
①分布式复制②主从复制③对等复制④级联复制
2. (④)DBMS中未涉及的故障。
①系统故障②介质故障③事务失效④网络故障
3. (①)检查点是哪种失效类型的恢复措施的改进。
①系统失效②介质失效③事务失效④网络失效
三. 改错题(改正划线部分)
1. SQL-92推荐MAC(SQL-92支持DAC,不支持MAC)。
2. SQL SERVER的安全体系分:数据库、表和行三级(DBMS或数据库服务器,数据库级,语句与对象级)。
3. SQL SERVER中的DBO是数据库对象(数据库级系统角色)。