数据库第四章课后题(2020.3.25作业)

1.对下列两个关系模式:
学生(学号,姓名,年龄,性别,家庭住址,班级号)
班级(班级号,班级名,班主任,班长)
使用GRANT语句完成下列授权功能:

Student(Sno,Sname,Sage,Sex,Add,Cno)
Class(Cno,Cname,TCH,Monitor)

(1)授予用户U1对两个表的所有权限,并可给其他用户授权。

GRANT ALL PRIVILEGES 
ON TABLE Student,Class 
TO U1
WITH GRANT OPTION

(2)授予用户U2对学生表具有查看权限,对家庭住址具有更新权限。

GRANT SELECT,UPDATE(Add)
ON TABLE Student 
TO U2

(3)将对班级表查看权限授予所有用户。

GRANT SELECT 
ON TABLE Student 
TO PUBLIC

(4)将对学生表的查询、更新权限授予角色R1。

GRANT SELECT,UPDATE
ON TABLE Student 
TO R1

(5)将角色R1授予用户UI,并且U1可继续授权给其他角色。

GRANT R1
TO U1
WITH ADMIN OPTION

2.今有以下两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号)
部门(部门号,名称,经理名,地址,电话号)
请用 SQL 的 GRANT 和REVOKE 语句(加上视图机制)完成以下授权定义或存取控制功能:

Staff(Sno,Sname,Sage,Post,Pay,Dno)
Dept(Dno,Dname,Mname,Add,Tel)

(1)用户王明对两个表有SELECT权限。

GRANT SELECT 
ON TABLE Staff,Dept
TO 王明

(2)用户李勇对两个表有INSERT和DELETE权限。

GRANT INSERT,DELETE
ON TABLE Staff,Dept
TO 李勇

*(3)每个职工只对自己的记录有SELECT权限。

GRANTSELECTONTABLE Staff
WHENUSER()=Sname TOALL;

这个不会。。。

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

GRANT SELECT,UPDATE(Pay)
ON TABLE Staff 
TO 刘星

(5)用户张新具有修改这两个表的结构的权限。

GRANT ALTER
ON TABLE Staff,Dept
TO 张新

(6)用户周平具有对两个表的所有权限(读、插、改、删数据),并具有给其他用户授权的权限。

GRANT ALL PRIVILEGES 
ON TABLE Staff,Dept 
TO 周平
WITH GRANT OPTION

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

CREATEVIEW Spay(Sname,Smax,Smin,Savg)
ASSELECT Staff.Dno,MAX(Pay),MIN(Pay),AVG(Pay)FROM Staff,Dept
WHERE Staff.Dno=Dept.Dno
GROUPBY Staff.Dno

GRANT SELECT 
ON VIEW Spay
TO 杨兰

先建立视图,再将视图的SELECT权限授予用户

3.针对习题7中(1)~(7)的每一种情况,撤销各用户所授予的权限
(1)收回用户王明对两个表的SELECT权限。

REVOKE SELECT 
ON TABLE Staff,Dept
FROM 王明

(2)收回用户李勇对两个表的INSERT和DELETE权限。

REVOKE INSERT,DELETE 
ON TABLE Staff,Dept
FROM 李勇

*(3)收回每个职工对自己记录的SELECT权限。

REVOKE SELECT 
ON TABLE Staff
WHENUSER()=Sname
FROM ALL

这个写错了
(4)收回用户刘星对职工表的SELECT权限,对工资字段的更新权限。

REVOKE SELECT,UPDATE 
ON TABLE Staff
FROM 刘星

(5)收回用户张新的修改这两个表的结构的权限。

REVOKE ALTER
ON TABLE Staff,Dept
FROM 张新

(6)收回用户周平对两个表的所有权限

REVOKE ALL PRIVILEGES 
ON TABLE Staff,Dept 
FROM 周平 CASCADE

(7)收回用户杨兰的从每个部门职工中 SELECT 最高工资、最低工资、平均工资的权限

REVOKE SELECT
ON VIEW Spay 
FROM 杨兰
DROPVIEW Spay

这里我忘记删除视图了

部分题出现问题,还有疏忽的地方需要注意,用时一个小时

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值