一、简答题
1. [1]考虑下图所示的日志记录:
(1)如果系统故障发生在14之后,说明哪些事务需要重做,哪些事务需要回滚。
(2)如果系统故障发生在10之后,说明哪些事务需要重做,哪些事务需要回滚。
(3)如果系统故障发生在9之后,说明哪些事务需要重做,哪些事务需要回滚。
(4)如果系统故障发生在7之后,说明哪些事务需要重做,哪些事务需要回滚。
[2]考虑题[1]所示的日志记录,假设开始时A 、B 、C 的值都是0:
(1)如果系统故障发生在14之后,写出系统恢复后A 、B 、C 的值;
(2)如果系统故障发生在12之后,写出系统恢复后A 、B 、C 的值:
(3)如果系统故障发生在10之后,写出系统恢复后A 、B 、C 的值;
(4)如果系统故障发生在9之后,写出系统恢复后A 、B 、C 的值;
(5)如果系统故障发生在7之后,写出系统恢复后A 、B 、C 的值;
(6)如果系统故障发生在5之后,写出系统恢复后A 、B 、C 的值。
【答案】[1](1)需要重做的事务有:
(2)需要重做的事务有:
(3)需要重做的事务有:
(4)需要重做的事务有:
[2](1)A=8,B=7, C=ll。
第 2 页,共 68 页 需要回滚的事务有: 需要回滚的事务有:需要回滚的事务有:需要回滚的事务有:
(2)如果系统故障发生在12之后,需要重做的事务有:
系统恢复后A=8,B=9,C=ll。
(3)A=10, B=9, C=ll.
(4)A=10, B=9, C=13.
(5)A=10, B=9, C=ll.
(6)如果系统故障发生在5之后,
2. 试述关系数据库的特点。
【答案】关系数据模型具有下列优点: 需要回滚的事务有: 均需要回滚。系统恢复后A=10, B=9, C=0。
(1)关系模型与非关系模型不同,它是建立在严格的数学概念基础上的。
(2)关系模型的概念单一,无论实体还是实体之间的联系都用关系来表示。对数据的检索和更新结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。
(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,同时也简化了程序员的工作和数据库开发建立的工作。所以关系数据模型诞生以后发展迅速,深受用户的喜爱。
当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路径对用户透明,查询效率往往不如格式化数据模型。因此为了提高性能,DBMS 必须对用户的查询请求进行优化因此増加了开发DBMS 的难度。不过,用户不必考虑这些系统内部的优化技术细节。
3. 什么样的并发调度是正确的调度?
【答案】可串行化的调度是正确的调度。
可串行化的调度是指多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们时的结果相同的调度策略。
4. 试述视图的优点。
【答案】视图有以下五个优点:
(1)视图能够简化用户的操作:视图机制使用户可以将注意力集中在所关心的数据上,如果这些数据不是直接来自基本表,则可以通过定义视图,使数据库看起来结构简单、清晰,并且可以简化用户的数据查询操作;
(2)视图使用户能以多种角度看待同一数据:视图机制能使不同的用户以不同的方式看待同一数据,当许多不同种类的用户共享一个数据库时,这种灵活性是非常重要的;
(3)视图对重构数据库提供了一定程度的逻辑独立性:数据的逻辑独立性是指当数据库重构时,用户的应用程序不会受影响;
(4)视图能够对机密数据提供安全保护:有了视图机制,就可以在设计数据库应用系统时,对不同的用户定义不同的视图,使机密数据不出现在不应看到这些数据的用户视图上。这样视图机制就自动提供了对机密数据的安全保护功能。
第 3 页,共 68 页
(5)使用视图可以更清晰的表达查询。
5. 设有一个SPJ 数据库,包括S 、P 、J 、SPJ4个关系模式:
供应商表S 由供应商代码(Sno )、供应商姓名(Sname )、供应商状态(Status )、供应商所在城市(City )组成。零件表P 由零件代码(Pno )、零件名(Pname )、颜色(Color )、重量(Weight )组成。工程项目表J 由工程 项目代码(Jno )、工程项目名(Jmime )、工程项目所在城市(City )组成。供应情况表SPJ 由供应商代码(Sno )、 零件代码(Pno )、工程项目代码(Jno )、供应数量(Qty )组成,表示某供应商供应某种零件给某工程项目的数 量为Qty 。请为“三建”工程项目建立一个供应情况的视图,包括供应商代码(Sno )、零件代码(Pno )、供应数 量(Qty )。针对该视图完成下列查询:
(1)找出“三建”工程项目使用的各种零件代码及其数量。
(2)找出供应商S1的供应情况。
(3)把对表S 的!NSERT 权限授予用户张勇,并允许他再将此权限授予其他用户。
(4)把查询SPJ 表和修改Qty 属性的权限授给用户李天明。
【答案】建立视图:
6. 对下列两个关系模式:学生(学号. 姓名,年龄,性别,家庭住址,班级号)班级(班级号,班级名,班主任,班长)使用GRANT 语句完成下列授权功能:
(1)授予用户U1对两个表的所有权限,并可给其他用户授权。
(2)授予用户U2对学生表具有查看权限,对家庭住址具有更新权限。
(3)将对班级表查看权限授予所有用户。
(4)将对学生表的查询、更新权限授予角色R1。
(5)将角色R1授予用户U1,并且U1可继续授权给其他角色。
GRANT ALL PRIVILIGES ON TABLE学生,【答案】(1)班级TO U1 WITH GRANT OPTION;
(2)GRANT SELECT, UPDA TE (家庭地址)ON TABLE学生TO U2;
(3)GRANT SELECTON班级TO PUBLIC;
(4)GRANT SELECT,UPDATA ON TABLE学生TO RI;
(5)GRANT R1 TO U1 WITH GRANT OPTION。
第 4 页,共 68 页