2018年北京大学前沿交叉学科研究院907计算机专业基础之数据库系统概论考研基础五套测试题
● 摘要
一、简答题
1. 什么是NewSQL ,查询相关资料,分析NewSQL 足如何融合NoSQL 和RDBMS 两者的优势的。
【答案】(1) NewSQL 系统是融合了 NoSQL 系统和传统数据库事务管理功能的新型数据库系统。
(2) NewSQL 将SQL 和NoSQL 的优势结合起来,充分利用计算机硬件的新技术、新结构,研宄与开发了 若干创新的实现技术。
2. 什么是数据库的安全性?有哪些安全措施?
【答案】(1)数据库的安全性是指保护数据库,防止不合法的使用,以免数据的泄漏、非法更改和破坏。、
(2)数据库安全性控制的方法
①用户标识与系统鉴定:DBMS 都要提供一定的方式供用户标识自己。在存取数据库的数据之前,用户首先要自我标识,系统对用户的标识进行核定,通过鉴定后,才提供数据库的使用权。常用的标识方法是用户名和口令字。
②存取权限的控制:用户被获准使用数据库之后,还要根据预定的用户权限进行存取控制,如某个用户只能 读哪些数据库表,某个用户只能写哪些数据库表等。
③数据加密:以密码的方式存储数据。
3. 试证明若并发事务遵守两段锁协议,则对这些事务的并发调度是可串行化的。
【答案】首先以两个并发事务为例,存在多个并发事务的情形可以类推。
根据可串行化定义可知,事务不可串行化只可能发生在下列两种情况: 事务写某个数据对象A ,读或写A ; 事务
设X=
对于所有读或写某个数据对象A , 写A 。 访问的潜在冲突的公共对象为均符合情况(1); 需要Xlock x; ①
获得锁,等待; 需要Slock x或Xlock x。② (1)如果操作①先执行,则事务不失一般性,假设这组潜在冲突对象中符合情况(2)。 下面称A 为潜在冲突对象。
由于遵守两段锁协议,
事务
释放锁。这时如果存在
调度是可串行化的。 或Y , 在成功获得X 和Y 中全部对象及非潜在冲突对象的锁后,才会已获得w 的锁,则会出现死锁;否则,在对X 、Y 中对象的的顺序串行执行。根据可串行化定义,全部处理完毕后,才能执行。这相当于按
(2)操作②先执行的情况与(1)对称。
因此,若并发事务遵守两段锁协议,则在不发生死锁的情况下,对这些事务的并发调度一定是可串行化的。
4. 请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?
【答案】(1)数据库系统一般采用允许死锁发生,DBMS 检测到死锁后加以解除的方法。DBMS 中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。
①超时法是如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。若时限设置得太长,又不能及时发现死锁。
②事务等待图是一个有向图G=(T ,U )。T 为结点的集合,每个结点表示正运行的事务;U 为边的集合,每条边表示事务等待的情况。若等待则之间划一条有向边,从指向事务等待图动态地反映了所有事务的等待情况。并发控制子系统周期性地生成事务等待图,并进行检测。如果发现图中存在回路,则表示系统中出现了死锁。
(2)DBMS 并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行。对撤销的事务所执行的数据修改操作必须加以恢复。
5. 举例说明对并发事务的某个调度是可串行化的,而这些并发事务不一定遵守两段锁协议。
【答案】举例如下:
6. . 在上题的教学数据库S 、SC 和C 中,用户有一查询语句:检索女同学选修课程的课程名和任课教师名。
(1)画出该查询初始的关系代数表达式的语法树。
(2)使用优化算法,对语法树进行优化,并画出优化后的语法树。
【答案】(1)该查询对应的初始的关系代数表达式的语法树如图所示。
图 语法树
(2)该关系代数表达式优化后的语法树如图所示。
相关内容
相关标签