1、第四章习题 11. 什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 第四章习题 22. 数据库安全性和计算机系统的安全性有什么关系? 答: 安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的.第四章习题 8(a) 用户王明对两个表有 SELECT 权力;GRANT SELECT ON TABLE
2、 职工,部门TO 王明;(b) 用户李勇对两个表有 INSERT 和 DELETE 权力;GRANT INSERT,DELETEON TABLE 职工,部门TO 李勇;*(c) 每个职工只对自己的记录有 SELECT 权力;GRANT SELECT ON TABLE 职工WHEN USER( )=NAME TO PUBLIC;注:假定系统支持 WHEN 子句和 USE( )的使用,用户将自己的名字作为ID。注意的是不同的系统这些扩展语句可能是不同的。 (d) 用户刘星对职工表有 SELECT 权力,对工资字段具有更新权力;GRANT SELECT,DUPDATE(工资)ON TABLE 职工T
3、O 刘星;(e) 用户张新具有修改这两个表的结构的权力;GRANT ALTER TABLE ON TABLE 职工,部门TO 张新;(f) 用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力;GRANT ALL PRIVILEGES ON TABLE 职工,部门TO 周平 WITH GRANT OPTION;(g) 用户杨兰具有从每个部门职工中 SELECT 最高工资,最低工资,平均工资的权力,他不能查看每个人的工资。CREATE VIEW 部门工资AS SELECT 部门.名称,MAX(工资),MIN(工资),AVG(工资) FROM 职工,部门 WHERE 职工
4、.部门号 = 部门. 部门号 GROUP BY 职工.部门号; GRANT SELECT ON VIEW 部门工资 TO 杨兰; 注:先建立一个视图。然后对这个视图定义杨兰的存取权限。第四章习题 9(a) REVOKE SELECT ON TABLE 职工,部门 FROM 王明; (b) REVOKE INSERT,DELETE ON TABLE 职工,部门 FROM 李勇; (c) REOVKE SELECT ON TABLE 职工 WHEN USER()= NAME FROM PUBLIC; 注:假定系统支持 WHEN 子句和 USE( )的使用,用户将自己的名字作为ID。注意的是不同的系统这些扩展语句可能是不同的。 (d) REVOKE SELECT,UPDATE ON TABLE 职工 FROM 刘星; (e) REVOKE ALTER TABLEON TABLE 职工,部门 FROM 张新; (f) REVOKE ALL PRIVILIGES ON TABLE 职工,部门 FROM 周平 cascade; (g) REVOKE SELECTON VIEW 部门工资 FROM 杨兰; DROP VIEW 部门工资; 注:先收回杨兰的存取权限,然后再删除定义的视图。