数据库系统课堂提问.ppt

  1. 1、本文档共100页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统课堂提问.ppt

* 登记日志文件时为什么必须先写日志文件,后写数据库? 把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成一个。 如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是最多执行一次UNDO操作,并不会影响数据库的正确性。所以一定要先写日志文件,再写数据库的修改。 * 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况? 丢失修改(两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改丢失)。 不可重复读(T1读取数据后,T2执行更新操作,使T1无法再现前一次读结果)。 读脏数据(T1修改某一数据,并将其写回磁盘,T2读取后,T1由于某种原因被回滚,导致T2读到的是无效数据)。 避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。 * 基本的封锁类型有几种?试述它们的含义。 排它锁(X锁)。若事务T对数据对象A加上X锁,则只允许允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。 共享锁(S锁)。若事务T对数据对象A加上S锁,则事务T可以读但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 * 三级封锁协议的内容是什么? 一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。一级封锁协议可以防止丢失修改,并保障事务是可恢复的。 二级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,数据读完后可释放S锁。本协议防止了丢失修改,而且进一步防止了读肮脏数据。 三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务读完后才释放 。本协议可以解决丢失修改和不读肮脏数据、还防止了不可重复读数。 * 设T1、T2、T3是如下3个事务,设A的初值为0。 T1: A:=A+2; T2: A:=A*2; T3: A:= A**2; 若这3个事务允许并行执行,则有多少可能的正确结果,请一一列举出来。 A的最终结果可能有2、4、8、16。 串行执行次序有: T1T2T3 T1T3T2 T2T1T3 T2T3T1 T3T1T2 T3T2T1 * 什么是两段锁协议? A的最终结果可能有2、4、8、16。 串行执行次序有: T1T2T3 T1T3T2 T2T1T3 T2T3T1 T3T1T2 T3T2T1 * 把对表S的Insert权限授予用户张勇,并允许他再将此权限授予其他用户. GRANT INSERT ON TABLE S TO 张勇 With grant option * 把查询SPJ表和修改QTY属性的权限授给用户李天明. Grant select,update(qty) On table spj To 李天明 * 把查询SPJ表和修改QTY属性的权限从用户李天明收回。 Revoke select,update(qty) On table spj from 李天明 * 创建用户李天明 创建角色学生 将学生角色授予李天明 Create user 李天明; Create role 学生; Grant 学生 to 李天明 * * 数据库完整性和安全性有何区别与联系? 完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。 安全性是保护数据库,防止恶意的破坏和非法的存取。它的防范对象是非法用户和非法操作。 * 数据库的安全性控制主要涉及哪些方面? 用户标识与鉴别 存取控制 自主存取控制 强制存取控制 视图机制 审计 数据加密 统计数据的安全性 * 为SC表增加一个fk_cno的约束,它规定字段cno是SC表的外键,参照于表course表字段cno,并且,如果course某条记录被删除,则SC表中的相应记录也将删除。 Alter table sc add constraint fk_cno foreign key (cno) references course(cno) on delete cascade * 为SC表增加一个检测grade的约束,名为gr_ck,要求成绩不能低于0分。 alter table sc add constraint gr_ck check (grade=0) * 编写一个数据库触发器,当任何时候某个部门从dept表中删除时,该触发器将从emp表中删除该部门的所有雇员。 CREATE OR REPLACE TRIGGER del_emp_dept

文档评论(0)

youyang99 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档