作业原地址:作业
目录
6.
(1)
(2)
(3)
(4)
(5)
7.
(1)
(2)
(3)
(4)
(5)
(6)
(7)
8.
(1)
(2)
(3)
(4)
(5)
(6)
(7)
总结
对下列两个关系模式:
学生(学号,姓名,年龄,性别,家庭住址,班级号)
班级(班级号,班级名,班主任,班长)
使用GRANT语句完成下列授权功能:
Student(Sno,Sname,Sage,Sex,Saddress,Cno);
Class(Cno,Cname,Cteacher,Cmonitor);
授予用户U1对两个表的所有权限,并可给其他用户授权。
GRANT ALL PRIVILEGES
ON TABLE Student,Class
TO U1
WITH GRANT OPTION
授予用户U2对学生表具有查看权限,对家庭住址具有更新权限。
GRANT SELECT,UPDATE(Saddress)
ON TABLE Student
TO U2
将对班级表查看权限授予所有用户。
GRANT SELECT
ON TABLE Student
TO PUBLIC
将对学生表的查询、更新权限授予角色R1。
GRANT SELECT,UPDATE
ON TABLE Student
TO R1
将角色R1授予用户UI,并且U1可继续授权给其他角色。
GRANT R1
TO U1
WITH ADMIN OPTION
今有以下两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号)
部门(部门号,名称,经理名,地址,电话号)
请用 SQL 的 GRANT 和REVOKE 语句(加上视图机制)完成以下授权定义或存取控制功能:
Staff(Sno,Sname,Sage,Spost,Wage,Dno);
Dept(Dno,Dname,Mname,Daddress,Dtel);
用户王明对两个表有SELECT权限。
GRANT SELECT
ON TABLE Staff,Dept
TO 王明
用户李勇对两个表有INSERT和DELETE权限。
GRANT INSERT,DELETE
ON TABLE Staff,Dept
TO 李勇
每个职工只对自己的记录有SELECT权限。
GRANT SELECT
ON TABLE Staff
WHEN USER()=Sname
TO ALL;
用户刘星对职工表有SELECT权限,对工资字段具有更新权限。
GRANT SELECT,UPDATE(Wage)
ON TABLE Staff
TO 刘星
用户张新具有修改这两个表的结构的权限。
GRANT ALTER
ON TABLE Staff,Dept
TO 张新
用户周平具有对两个表的所有权限(读、插、改、删数据),并具有给其他用户授权的权限。
GRANT ALL PRIVILEGES
ON TABLE Staff,Dept
TO 周平
WITH GRANT OPTION
用户杨兰具有从每个部门职工中 SELECT 最高工资、最低工资、平均工资的权限,他不能查看每个人的工资。
CREATE VIEW Swage(Sname,Smax,Smin,Savg)
AS SELECT Staff.Dno,MAX(Wage),MIN(Wage),AVG(Wage) FROM Staff,Dept
WHERE Staff.Dno=Dept.Dno
GROUP BY Staff.Dno
/*最高工资、最低工资、平均工资*/
GRANT SELECT
ON VIEW Swage
TO 杨兰
针对习题7中(1)~(7)的每一种情况,撤销各用户所授予的权限
撤销用户王明对两个表的SELECT权限。
REVOKE SELECT
ON TABLE Staff,Dept
FROM 王明
撤销用户李勇对两个表的INSERT和DELETE权限。
REVOKE INSERT,DELETE
ON TABLE Staff,Dept
FROM 李勇
撤销每个职工对自己记录的SELECT权限。
REVOKE SELECT
ON TABLE Staff
WHEN USER()=Sname
FROM ALL
撤销用户刘星对职工表的SELECT权限,对工资字段的更新权限。
REVOKE SELECT,UPDATE
ON TABLE Staff
FROM 刘星
撤销用户张新修改这两个表的结构的权限。
REVOKE ALTER
ON TABLE Staff,Dept
FROM 张新
撤销用户周平对两个表的所有权限(读、插、改、删数据),及给其他用户授权的权限。
REVOKE ALL PRIVILEGES
ON TABLE Staff,Dept
FROM 周平
撤销用户杨兰的从每个部门职工中 SELECT 最高工资、最低工资、平均工资的权限
REVOKE SELECT
ON VIEW Swange
FROM 杨兰
DROP VIEW Swage
习题还好,套语句基本都可以,没有什么太大问题。
但是TABLE 那个问题还是没有解决,习题的话,我还是照着书上的把TABLE加上了。
完成时间:42min
————(2020.4.5)