南京晓庄学院-数据库系统概论期末复习习题册(4)数据库安全性

Content

/*SQL语句基本格式*/
1.grant语句的一般格式:
grant <权限>,......
on <表名>,......
to <用户>,......
[with grant option]
2.revoke语句的一般格式:
revoke <权限>,......
on <表名>,......
from <用户>,......[cascade]
3.创建角色:
create role <角色名>
4.给角色授权:
grant <权限>,......
on <表名>,......
to <角色名>,......
5.将角色授予用户:
exec sp_addrolemember <角色名>,<用户名>
6.从用户处收回角色:
exec sp_droprolemember <角色名>.<用户名>
/*重点归纳*/
1.grant语句中,如果指定了with grant option子句,
则获得某种权限的用户还可以把这种权限再授予其他的用户。
2.角色是权限的集合。

一、应用题

1、今有以下两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号)
部门(部门号,名称,经理名,地址,电话号)
请用SQL的GRANT和REVOKE(加上试图机制)完成以下授权定义或存取控制功能:
1、用户王明对两个表有SELECT权限。
2、用户李勇对两个表有INSERT和DELETE权限。
3、用户刘星对职工表有SELECT权限,对工资字段有更新权限。
4、用户张新对两个表有修改表结构权限。
5、用户周萍对两个表有所有操作权,并能授予其他用户的权限。
6、撤销用户周萍的所有权限。
/*参考解答*/
1grant select
   on 职工,部门
   to 王明
2grant insert,delete
   on 职工,部门
   to 李勇
3grant select,update(工资)
   on 职工
   to 刘星
4grant alter table
   on职工,部门
   to 张新
5grant all privileges
   on 职工,部门
   to 周萍
   with grant option
6revoke all privileges
   on 职工,部门
   from 周萍 cascade

版权声明:本文为qq_46139801原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。