2018年浙江工业大学经贸管理学院841数据库系统原理与技术之数据库系统概论考研核心题库
● 摘要
一、简答题
1. 试述关系数据库管理系统查询优化的一般步骤。
【答案】各个关系系统的优化方法不尽相同,大致的步骤可以归纳如下:
(1)把查询转换成某种内部表示,通常用的内部表示是语法树。
(2)把语法树转换成标准(优化)形式,即利用优化算法,把原始的语法树转换成优化的形式。
(3)选择低层的存取路径。
(4)生成查询计划,选择代价最小的。
2. 有两个关系S (A , B , C , D )和T (C , D , E , F ),写出与下列查询等价的SQL 表达式:
【答案】⑴
(2)
(3)
(4)
(5)
(6)
3. 试述文件系统与数据库系统的区别和联系。
【答案】(1)文件系统与数据库系统的区别:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。
(2)文件系统与数据库系统的联系:文件系统与数据库系统都是计算机系统中管理数据的软件。文件系统是操作系统的重要组成部分;而DBMS 是独立于操作系统的软件。DBMS 是在操作系统的基础上实现的;数据库中数据的组织和存储是通过操作系统中的文件系统来实现的。
4. 考虑定义在事务集(Tl , T2, T3)上的调度S1和S2,S1与S2是否是冲突等价的?为什么?
【答案】不是等价冲突,因为T1的write (Q )和T2的write (Q )是冲突的,不可交换。
【解析】不同事务的一对中的一组操作,有些是冲突的,有些是不冲突的。不冲突操作的次序可以互相调换,不致不会影响执行的结果。冲突等价调度是指一个调度S ,通过调换S 中的不冲突操作次序所得到的新调度称为S 的冲突等价调度。不冲突操作有两类:一是对同一数据均为读操作,即Ri (x ),Rj (x ); 二是对不同数据对象的一组操作中可以有写的操作,即Ri (x ),Wj (y )或Wi (x )Wj (y )。因为T1和T2对数据对象Q 进行了相同的写操作,所以是冲突的,所以S1和S2不是冲突等价的。
5. 什么是活锁?试述活锁的产生原因和解决方法。
【答案】(1)如果事务封锁了数据R ,事务又请求封锁R ,于是的请求,的请求等待。也请求封锁R ,当释放了R 上的封锁之后系统首先批准了当释放了R 上的封锁之后系统批准了仍然等待。然后请求封锁R ,
有可能永远等待,这就是活锁,如图所示。
图
(2)活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,可能导致一些事务无限期地等待某个封锁,从而导致活锁。
(3)避免活锁的解决方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放,就批准申请队列中第一个事务获得锁。
6. 图书馆数据库中有如下关系:
其中,BOOKS 为图书表,对应的各个属性依次是书名、作者名、出版社名和图书编号;PUBLISHERS 为 出版社表,对应的各个属性依次是出版社名、出版社地址和出版社所在城市名;BORROWERS 为借书人表,对 应的各个属性依次是借书人姓名、借书人地址、借书人所在城市名和借书证号;LOANS 为借书表,对应的各个 属性依次是借书证号、图书编号和图书借出日期。若查询2003 / 10 / 1以前借出的书籍的书名和借书人姓名,请说明优化的过程。
【答案】根据题意查询表达式为:
该查询表达式对应的语法树如图1所示。对语法树进行优化,其具体步骤如下:
①将选择运算:
分解为两个选择运算:
②将上述的3个选择运算尽可能移到树的叶端,将与投影交换,同时,
由于
的属性Date 只涉及关系LOANS , 将其移到分出的两个选择下边,故有:
通过上述分析,可得到如图2所示的语法树。
图1初始语法树
相关内容
相关标签