数据库系统概论第五版课后习题答案王珊 下载本文

统进行核对,通过鉴定后才提供系统的使用权。

( 2 )存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存取控制(MAC )。

( 3 )视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。

( 4 )审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

( 5 )数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。

5.什么是数据库中的自主存取控制方法和强制存取控制方法? 答:

自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。

强制存取控制方法:每一个数据对象被(强制地)标以一定

的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。

6. (1) GRANT ALL PRIVILEGES ON Student,Class TO U1

WITH GRANT OPTION ;

(2)GRANT SELECT,UPDATE(家庭住址),DELETE ON Student TO U2;

(3)GRANT SELECT ON Class TO PUBLIC;

(4)GRANT SELECT,UPDATE ON Student TO R1; (5)GRANT R1 TO U1 WITH ADMIN OPTION ;

7 .SQL 语言中提供了哪些数据控制(自主存取控制)的语句?请试举几例说明它们的使用方法。 答:

SQL 中的自主存取控制是通过GRANT语句和REVOKE语句来实现的。如:

GRANT SELECT , INSERT ON Student TO 王平

WITH GRANT OPTION ;

就将Student 表的SELECT 和INSERT 权限授予了用户王平,后面的“WITH GRANT OPTION ”子句表示用户王平同时也获得了“授权”的权限,即可以把得到的权限继续授予其他用

户。

REVOKE INSERT ON Student FROM 王平CASCADE ; 就将Student 表的INSERT 权限从用户王平处收回,选项CASCADE 表示,如果用户王平将Student 的INSERT 权限又转授给了其他用户,那么这些权限也将从其他用户处收回。

7.请用SQL的GRANT 和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:

( a )用户王明对两个表有SELECT 权力。 GRANT SELECT ON 职工,部门 TO 王明

( b )用户李勇对两个表有INSERT 和DELETE 权力。 GRANT INSERT,DELETE ON 职工,部门 TO 李勇

( c ) 每个职工只对自己的记录有SELECT 权力。 GRANT SELECT ON 职工 WHEN USER()=NAME TO ALL;

( d )用户刘星对职工表有SELECT 权力,对工资字段具有更新权力。

GRANT SELECT,UPDATE(工资) ON 职工

TO 刘星

( e )用户张新具有修改这两个表的结构的权力。 GRANT ALTER TABLE ON 职工,部门 TO 张新;

( f )用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。 GRANT ALL PRIVILIGES ON 职工,部门 TO 周平

WITH GRANT OPTION;

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

SELECT 部门.名称,MAX(工资),MIN(工资),AVG(工资) FROM 职工,部门

WHERE 职工.部门号=部门.部门号 GROUP BY 职工.部门号 GRANT SELECT ON 部门工资 TO 杨兰;

8 .把习题8 中(1)---(7)的每一种情况,撤销各用户所授予的权力

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

(2) REVOKE INSERT , DELETE ON 职工,部门 FROM 李勇; (3) REOVKE SELECT ON 职工 WHEN USER ( ) =NAME FROM ALI ;

(4) REVOKE SELECT , UPDATE ON 职工 FROM 刘星;

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

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

(7) REVOKE SELECT ON 部门工资 FROM 杨兰;

DROP VIEW 部门工资;

9.理解并解释MAC 机制中主体、客体、敏感度标记的含义。 答:

主体是系统中的活动实体,既包括DBMS 所管理的实际用户,也包括代表用户的各进程。

客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。对于主体和 客体,DBMS 为它们每个实例(值)指派一个敏感度标记(Label )。

敏感度标记被分成若干级别,例如绝密(Top Secret )、机