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

2017年沈阳师范大学数据库原理(同等学力加试)考研复试核心题库

  摘要

一、简答题

1. 今有以下两个关系模式:

[1]职工(职工号,姓名,年龄,职务,工资,部门号)部门(部门员,名称,经理名,地址,电话号)请用SQL 的GRANT 和REVOKE 语句(加上视图机制)完成以下授权定义或存取控制功能:

(1)用户王明对两个表有SELECT 权限。

(2)用户李勇对两个表有INSERT 和DELETE 权限。

(3)每个职工只对自己的记录有SELECT 权限。

(4)用户刘星对职]二表有SELECT 权限,对工资字段具有更新权限。

(5)用户张新具有修改这两个表的结构的权限。

,并具有给其他用户,授权(6)用户周平具有对两个表的所有权限(读、插、改、删数据)

的权限。

(7)用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权限,他不能查看每个人的工资。

[2]针对的每种情况,撤销各用户所授予的权限。

【答案】[1](1)用户王明对两个表有SELECT 权力的语句为:

GRANT SELECT ON职工,部门TO 王明;

(2)用户李勇对两个表有INSERT 和DELETE 权力的语句为:

GRANT INSERT, DELETE ON职工,部门TO 李勇;

(3)每个职工只对自己的记录有SELECT 权力的语句为:

GRANT SELECT ON职工WHEN USER( )=NAME TO ALL;

(4)用户刘星对职工表有SELECT 权力,对工资字段具有更新权力的语句为:

GRANT SELECT,UPDA TE (工资)ON 职工TO 刘星;

(5)用户张新具有修改这两个表的结构的权力的语句为:

GRANT ALTER TABLE ON职工,部门TO 张新;

,并具有给其他用户授权的权(6)用户周平具有对两个表所有权力(读,插,改,删数据)

力的语句为:

GRANT ALL PRIVILIGES ON职工,部门TO 周平WITH GRANT OPTION;

(7)用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资的语句为:

CREATE VIEW部门工资AS SELECT部门. 名称,MAX (工资),MIN (工资),A VG (工资)FROM 职工,部门WHERE 职工. 部门号=部门. 部门号GROUP BY职工. 部门号GRANT SELECT ON

部门工资TO 杨兰。

[2](1)撤销用户王明对两个表有SELECT 权力的语句为:

REVOKE SELECT ON职工,部门FROM 王明;

(2)撤销用户李勇对两个表有INSERT 和DELETE 权力的语句为:

REVOKE INSERT,DELETE ON职工,部门FROM 李勇;

(3)撤销每个职工只对自己的记录有SELECT 权力的语句为:

REOVKE SELECT ON职工WHEN (USER )=NAMEFROM ALL;

(4)撤销用户刘星对职工表有SELECT 权力,对工资字段具有更新权力的语句为:

REVOKE SELECT, UPDATE ON职工FROM 刘星;

(5)撤销用户张新具有修改这两个表的结构的权力的语句为:

REVOKE ALTER TABLE ON职工,部门FROM 张新;

,并具有给其他用户授权(6)撤销用户周平具有对两个表所有权力(读,插,改,删数据)

的权力的语句为:

REVOKE ALL PRIVILIGES ON职工,部门FROM 周平;

(7)撤销用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资的语句为:

REVOKE SELECT ON部门工资FROM 杨兰;DROP VIEW部门工资;

2. 试述等值连接与自然连接的区别和联系。

【答案】连接运算中有两种最为重要也最为常用的连接,一种是等值连接(Equijoin ), 另一种是自然连接(Natural join )。为“=”的连接运算称为等值连接。它是从关系R 与S 的广义笛卡尔积中选取A ,B 属性值相等的那些元组,即等值连接为

自然连接(Natural join )是一种特殊的等值连接。它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。即若R 和S 具有相同的属性组B ,则自然连接可记作

一般的连接操作是从行的角度进行运算。但自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。

3. 数据库管理系统有哪些功能?

【答案】数据库管理系统(DBMS )是位于操作系统与用户之间的一个数据管理软件,它的主要功能包括以下几 个方面。

,用户可通过它来定义数据。数据(1)数据库定义功能:DBMS 提供数据描述语言(DDL )

库操纵功能: DBMS 还提供数据操纵语言(DML ), 实现对数据库的基本操作:查询、插入、删

除和修改。

(2)数据库的运行管理:这是DBMS 运行时的核心部分,它包括并发控制、安全性检查、完整性约束条件 的检查和执行、数据库的内容维护等。

(3)数据库的建立和维护功能:它包括数据库初始数据的输入及转换,数据库的转储与恢复,数据库的重组功能和性能的监视与分析功能等。

4. 什么是处理数据操纵语言语句的解释方法和预编译方法?试述二者的区别、联系,比较各自的优缺点。

【答案】(1)解释方法

解释执行方法的具体做法是直到执行前,数据库DML 语句都以原始字符串的形式保存;当执行到该语句时,才利用解释程序去完成全部过程,同时予以执行。这种方法通过尽量推迟束缚过程来赢得数据独立性。

①优点:灵活、应变性强,甚至能适应在解释过程中发生的数据结构、存储结构等的变化,因此能保持较高的数据独立性。

②缺点:每次执行一个DML 语句时都要执行所有步骤,开销很大,因此效率比较低。 (2)预编译方法

预编译方法的基本思想是:在用户提交DML 语句之后,在运行之前对它进行翻译处理,保存产生好的可执行代码。当需要运行时,取出保存的可执行代码加以执行。

①优点:自动重编译技术使得预编译方法既拥有了编译时进行束缚所带来的高效率,又具备了执行时束缚带来的数据独立性。

②缺点:在束缚过程中进行优化所依据的条件可能在运行前已不存在,或者数据库结构已被修改,因而导致已作出的应用规划在执行时不再有效。

5. 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种小致的情况?

【答案】(1)并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。

①丢失修改。两个事务

致的修改被丢失。 ②不可重复读。不可重复读是指事务读取数据后,事务

一次读取结果。

③读“脏”数据。读“脏”

数据是指事务修改某一数据,并将其写回磁盘,事务

据后,由于某种原因被撤销,这时已修改过的数据恢复原值,

数据不一致,则读到的数据就为“脏”数据,即不正确的数据。

(2)产生上述三类数据不一致性的主要原因是并发操作破坏了事务的隔离性。并发控制就是要用正确的方式调度并发操作,使一个用户事务的执行不受其他事务的干扰,从而避免造成数据的不一致性。

读入同一数据并修改,提交的结果破坏了提交的结果,导

无法再现前读取同一数执行更新操作,使读到的数据就与数据库中的