一、简答题
1. 如表所示,给出的是一个调度的事件序列。该调度包含
H 为数据库中的数据项。假定
存在死锁?并分析哪些事务处于等 待另外事务的状态。
表 —个调度的事件序列
等12个事务
,成功,则获得i 上的一个S 锁,是否而“修改i ”成功时,则将锁升级为X 锁。又假定所有锁都保持到事务结束,那么,在时刻
【答案】在时刻事务存在事务 死锁,另外,事务等待事务事务
等待事务
等待事务
2. SQL 中用户权限有哪几类?并做必要的解释。
【答案】SQL 定义了如下6类用户权限供用户选择使用:
(1)SELECT :允许用户对关系或视图执行SELECT 操作。
(2)INSERT :允许用户对关系或视图执行INSERT 操作。
(3)DELETE :允许用户对关系或视图执行DELETE 操作。
(4)UPDATE :允许用户对关系或视图执行UPDA TE 操作。
(5)REFERENCES :允许用户在定义新关系时,引用其他关系的主码作为外码。
(6)USAGE :允许用户使用已定义的域。
3. 定义并解释以下术语:模式,外模式,内模式,数据定义语言,数据操纵语言。
【答案】(1)外模式:亦称子模式或用户模式,数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
(2)模式:亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。
(3)内模式:亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。
(4)数据定义语言(Data Definition Language,DDL ):用来定义数据库模式、外模式、内模式的语言。
(5)数据操纵语言(Data Manipulation Language, DML ):用来对数据库中的数据进行查询、插入、删除和修改的语句。
4. F 面的结论哪些是正确的? 哪些是错误的? 对于错误的请给出一个反例说明之。
(1)任何一个二目关系是属于3NF 的。
(2)任何一个二目关系是属于BCNF 的。
(3)任何一个二目关系是属于4NF 的。
(4)当且仅当函数依
赖
的连接。
(5)若
(6)若
(7)若
(8)若
(2)正确。按BCNF 的定义,若
于二目关系决定因素必然包含码。
(3)正确。因为只有两个属性,所以无非平凡的多值依赖。
(4)错误。当在R 上成立,关系R (A ,B ,C )等于其投影的连接。
反之则不然。正确的是当且仅当函数依赖
的连接。
(5)正确。
(6)正确。
在R 上成立,关系R (A ,B ,C )等于其投
影 且Y 不是X 的子集时,每个决定因素都包含码,对【答案】(1)正确。因为关系模式中只有两个属性,所以无传递。 在R 上成立,关系R (A , B ,C
)等于其投影
(7)正确。
(8)错误。反例关系模式
5. 今有以下两个关系模式:
[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 权力的语句为:
北京信息科技大学计算机软件基础 北京信息科技大学计算机学院816《软件技术基础》综合之数据库系统概论考研题库...