-
Mysql数据库实验及练习题相关
今有两个关系模式:
职工 (职工号,姓名,年龄,职务,工资,部门号)
部门 (部门号,名称,经理名,地址,电话号)
请用 SQL 的 GRANT 和 REVOKE 语 (加上视图机制) 完成授权定义或存取控制功能.
(1) 用户王明对两个表有 SEIECT 权力;
(2) 用户李勇对两个表有 INSERT 和 DELETE 权力;
(3) 每个职工只对自己的记录有 SELECT 权力:
(4) 用户刘星对职工表有 SELECT 权力,对工资字段具有更改权力;
(5) 用户张星具有修改这两个表结构的权力;
(6) 用户周平具有这两个表的所有权力 (读、插入、修改、删,并具有给其它用户授权的权力;
(7) 用户杨兰具有从每个部门职工中 SELECT 最高工资、最 C 资、平均工资的权力,但他不能查看每个人的工资;
(1)
GRANT SELECT ON 职工 TO 王明;
GRANT SELECT ON 部门 TO 王明;
(2)
GRANT INSERT, DELETE ON 职工 TO 李勇;
GRANT INSERT, DELETE ON 部门 TO 李勇;
(3)
CREATE VIEW USERS AS SELECT * FROM 职工 WHERE 职工.姓名=USER;
GRANT SELECT ON USERS TO PUBLIC;
(4)
GRANT SELECT, ALTER(工资) ON 职工 TO 刘星;
(5)
GRANT ALTER ON 职工 TO 张星;
GRANT ALTER ON 部门 TO 张星;
(6)
GRANT SELECT,UPDATE,DELETE,INSERT ON 职工 TO 周平 WITH OPTION GRANT;
GRANT SELECT,UPDATE,DELETE,INSERT ON 部门 TO 周平 WITH OPTION GRANT;
(7)
CREATE VIEW view_salaries
AS SELECT MAX(工资) AS 最高工资, MIN(工资) AS 最低工资, AVG(工资) AS 平均工资
FROM 职工 GROUP BY 部门;
GRANT SELECT ON view_salaries TO 杨兰;