当前位置:问答库>考研试题

2018年齐鲁工业大学信息学院871数据库系统考研基础五套测试题

  摘要

一、简答题

1. F 面的结论哪些是正确的? 哪些是错误的? 对于错误的请给出一个反例说明之。

(1)任何一个二目关系是属于3NF 的。

(2)任何一个二目关系是属于BCNF 的。

(3)任何一个二目关系是属于4NF 的。

(4)当且仅当函数依

的连接。

(5)若

(6)若

(7)若

(8)若

(2)正确。按BCNF 的定义,若

于二目关系决定因素必然包含码。

(3)正确。因为只有两个属性,所以无非平凡的多值依赖。

(4)错误。当在R 上成立,关系R (A ,B ,C )等于其投影的连接。

反之则不然。正确的是当且仅当函数依赖

的连接。

(5)正确。

(6)正确。

(7)正确。

(8)错误。反例关系模式

2. 如何用封锁机制保证数据的一致性?

DBMS 在对数据进行读、【答案】写操作之前首先对该数据执行封锁操作,例如图中事务

对A 进行修改之前先对A 执行Xlock A,即对A 加X 锁。这样,当

绝,只能等待

按此新的A 值进行运算。这样就不会丢失

致性。

第 2 页,共 25 页 在R 上成立,关系R (A ,B ,C )等于其投

影 且Y 不是X 的子集时,每个决定因素都包含码,对【答案】(1)正确。因为关系模式中只有两个属性,所以无传递。 在R 上成立,关系R (A , B ,C

)等于其投影 在请求对A 加X 锁时就被拒更新后的值,再释放A 上的锁后才能获得对A 的X 锁,这时它读到的A 是的更新。DBMS 按照一定的封锁协议,对并发操作进行控制,使得多个并发操作有序地执行,避免了丢失修改、不可重复读和读“脏”数据等数据不一

3. 简单描述OLAP 概念。

【答案】OLAP 是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且可以提供直观易懂的查询结果。OLAP 使得数据分析人员能够从多角度对数据进行快速、一致、交互地存取,从而取得对数据的更深入 的了解。OLAP 的目标是满足决策支持或者在多维环境下特定的查询和报表需求。OLAP 是以数据仓库进行分析 决策的基础。

4. 设有关系R 和S ,如图所示。试用SQL 语句实现:

(1)查询属性C>50时,R 中与之相关联的属性B 的值。

(2)当属性C=40时,将R 中与之相关联的属性B 值修改为。

图关系R 和S

【答案】(1)对应的SQL 语句如下:

(2)对应的SOL 语句如下:

第 3 页,共 25 页

5. 假设已建立了学生基本表 Student (SnO , Sname,Ssex , Sage,Sdept ),课程基本表 Course (Cno , Cname, Ccredit ),基本表SC (Sno , Cno,Grade ),试用SQL 的授权和回收语句完成下列操作:

(1)把查询Student 表的权限授予用户U1。

(2)把对Student 表和Course 表的全部权限授予用户U2和U3。

(3)把对表SC 的查询权限授予所有用户。

(4)把查询Student 表和修改学生学号的权限授给用户U4。

(5)把对表SC 的INSERT 权限授予U5, 并允许他再将此权限授予其他用户。

(6)DBA 把在数据库S C中建立表的权限授予用户U8。

(7)把用户U4修改学生学号的权限收回。

(8)收回所有用户对表SC 的查询权限。

(9)把用户U5对SC 表的INSERT 权限收回。

【答案】(1) GRANT SELECT ON TABLE Student TO U1

(2)GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3

(3)GRANT SELECT ON TABLE SC TO PUBLIC

(4)GRANT UPDATE (Sno ),SELECT ON TABLE Student TO U4

(5)GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION

(6)GRANT CREATE1: AB ON DATABASE S C TO U8

(7)REVOKE UPDATE (Sno ) ON TABLE Student FROM U4

(8)REVOKE SELECT ON TABLE SC FROM PUBLIC (9 ) REVOKE INSERT ON TABLE SC FROM U5

6. 叙述数据库中死锁产生的原因和解决死锁的方法。

【答案】(1)死锁产生的原因:封锁可以引起死锁。比如事务封锁了数据A ,事务

了数据B 。

但A 己被

成了死锁。

(2)解决死锁的常用方法有如下3种:

①要求每个事务一次就要将它所需要的数据全部加锁。

②预先规定一个封锁顺序,所有的事务都要按这个顺序实行封锁。

③允许死锁发生,当死锁发生时,系统就选择一个处理死锁代价小的事务,将其撤消,释放此事务持有的所有锁,使其他事务能继续运行下去。

7. 有两个关系S (A , B , C , D )和T (C , D , E , F ),写出与下列查询等价的SQL 表达式:

【答案】⑴

第 4 页,共 25 页 封锁又申 请封锁数据B ,但因B 被封锁,所以也处于等待状态。这样,封锁,所以和只能等待。又申请封锁数据A , 处于相互等待状态而均不能结束,这就形