首页 > 试题广场 >

今有以下两个关系模式: 职工(职工号,姓名,年龄,职务,

[问答题]
今有以下两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号)
部门(部门号,名称,经理名,地址,电话号)
针对(1)~(7) 的每一种情况,撒销各用户所授予的权限。
(1) 用户王明对两个表有SELECT 权限。
(2) 用户李勇对两个表有INSERT 和DELETE 权限。
(3) 每个职工只对自己的记录有SELECT 权限。
(4) 用户刘星对职工表有SELECT 权限,对工资字段具有更新权限。
(5) 用户张新具有修改这两个表的结构的权限。
(6) 用户周平具有对两个表的所有权限(读、插、改、删数据),并具有给其他用户授权的权限。
( 7) 用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权限, 他不能查看每个人的工资。


授权:
(1) 用户王明对两个表有SELECT 权限。
GRANT SELECT ON (TABLE) 职工,部门 TO 王明;
(2) 用户李勇对两个表有INSERT 和DELETE 权限。
GRANT INSERT,DELETE ON (TABLE) 职工,部门 TO 李勇;
(3) 每个职工只对自己的记录有SELECT 权限。
GRANT SELECT ON (TABLE) 职工 WHEN USER()=NAME TO ALL;
(4) 用户刘星对职工表有SELECT 权限,对工资字段具有更新权限。
GRANT SELECT,UPDATE(工资) ON (TABLE) 职工 TO 刘星;
(5) 用户张新具有修改这两个表的结构的权限。
GRANT ALTER TABLE ON (TABLE) 职工,部门 TO 张新;
(6) 用户周平具有对两个表的所有权限(读、插、改、删数据),并具有给其他用户授权的权限。
GRANT ALL PRIVILEGES ON (TABLE) 职工,部门 TO 周平 WITH GRANT OPTION;
( 7) 用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权限, 他不能查看每个人的工资。
(先建立视图,再授权)
CREATE VIEW 部门工资 AS
SELECT 部门.名称,MAX(工资),MIN(工资),AVG(工资)
FROM 职工,部门
WHERE 职工.部门号=部门.部门号
GROUP BY 职工.部门号
GRANT SELECT ON 部门工资 TO 杨兰;

撤销:
(1)
REVOKE SELECT ON (TABLE) 职工,部门 FROM 王明;
(2)
REVOKE INSERT,DELETE ON (TABLE) 职工,部门 FROM 李勇;
(3)
REVOKE SELECT ON (TABLE) 职工 WHEN USER()=NAME FROM ALL;
(4)
REVOKE SELECT,UPDATE(工资) ON (TABLE) 职工  FROM  刘星;
(5)
REVOKE ALTER TABLE ON (TABLE) 职工,部门  FROM  张新;
(6)
REVOKE ALL PRIVILEGES ON (TABLE) 职工,部门  FROM  周平;
(7)
REVOKE SELECT ON 部门工资 FROM 杨兰;
DROP VIEW 部门工资;

注:
斜体 (TABLE) 一般可省略


编辑于 2020-05-03 12:29:01 回复(3)