版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pfl_327/article/details/84027935
数据库实验课堂作业
1.5数据控制
实验内容:
(1)使用GRANT语句对用户授权,对单个用户和多个用户授权,或使用保留字PUBLIC对所有用户授权。对不同操作对象包括数据库,视图,基本
表等进行不同权限的授权。
(2)使用WITH GRANT OPTION 子句授予用户传播该权限的权利。
(3)在授权时发生循环授权,考察DBS能否发现这个这个错误。如果不能,结合取消权限操作,查看DBS对循环权限的控制。
(4)使用REVOKE子句收回授权,取消授权的级联反应。
代码:
use school
--(1).授予所有用户对表courses的查询权限
grant select
on courses
to public
--(2).对USER1授予对表STUDENTS插入更新的权限,但不授予删除权限
grant insert,update
on students
to user1
with grant option
--(3).允许user2在表choice中插入元组,更新的score列,可以选取除了sid以外的所有列。
--先创建视图
create view choiceview(no,sid,cid,score)
as select no,sid,cid,score from choices
--授予权限
grant select,insert,update(score)
on choiceview
to user2
--(4).
grant insert,update
on students
to user2
with grant option
--(5).收回权限
--登录
revoke select
on courses
from user1
--收回
revoke select
on sourses
from public
--(6).
grant insert,update
on students
to user3
with grant option
--
grant insert,update
on students
to user1
--
revoke insert,update
on students
from user3
--
revoke insert,update
on students
from user3
cascade
--
revoke insert,update
on students
from user1
cascade