实验六 数据控制

2020-05-09 09:31

实验六 数据控制

1、 实验目的

熟悉SQL的数据控制功能,能够使用SQL语句来向用户授予和收回权限。 2、实验内容

(1) 使用GRANT语句来对用户授权,对单个用户或多个用户授权,或使用保留字PUBLIC对所有用户授权。对不同的操作对象包括数据库、视图、基本表等进行不同权限的授权。

(2) 使用WITH GRANT OPTION字句授予用户传播该权限的权利。

(3) 当在授权时发生循环授权,考察DBS能否发现这个错误。如果不能,结合取消权限操作,查看DBS对循环授权的控制。

(4) 使用REVOKE子句收回授权,取消授权的级联反应。 3、实验步骤

用SSMS在数据库University_Mis中建立三个用户USER1、USER2和USER3,他们在数据库中的角色是PUBLIC。请按以下要求,分别以管理员身份或这三个用户的身份登陆到数据库中,进行操作,并记录操作结果。

(1) 授予所有用户对表Courses的查询权限。以USER1的身份登陆到SSMS,用SQL语言查询Courses和Students表,查询结果如何?

(2) 授予用户USER1对表Students插入和更新的权限,但不授予删除权限,并且授予用户USER1传播这两个权限的权利。以USER1的身份登陆到SSMS,用SQL语言插入和更新Students表,结果如何?(注意更新操作的授权)

grant select,update,insert

on Wangjy_Students to USER1o

with grant option insert

into Wangjy_Students

values('S09','张三','zs@qq.com','20','男') 结果:成功

update Wangjy_Students set wjy_Sname='李四' where wjy_Sno='S08' 结果:成功

(3) 允许用户USER2在表Reports中插入元组,更新Score列,可以查询除了Sno以外的所有列。以USER2的身份登陆到SSMS,用SQL语言插入更新并查询reports表,

结果如何?(注意更新操作的授权)

更新:

查询:

(4) 用户USER1授予用户USER2对表Students插入和更新的权限,并且授予用户USER2传播插入操作的权利。分别以USER1和user2的身份登陆到SSMS,用SQL语言

验证以上授权操作,结果如何?

以USER1和USER2执行更新和插入的条件,都能够完成操作。

(5) 收回对用户USER1对表Courses查询权限的授权。分别以USER1和USER2的身份登陆到SSMS,用SQL语言查询Courses表,查询结果如何? REVOKE SELECT

ON Wangjy_Courses FROM USER1

USER1: 拒绝了对对象Wangjy_Courses' (数据库'University_Mis',架构'dbo')的SELECT 权限。 USER2: 成功

(6) 由上面(2)和(4)的授权,再由用户USER2对用户USER3授予表Students插入和更新的权限,并且授予用户USER3传播插入操作的权力。这时候,如果USER3对USER1授予表Students的插入和更新权限是否能得到成功?如果能够成功,那么如果有用户USER2取消USER3的权限,对USER1会有什么影响?如果再由DBA取消USER1的权限,对USER2有什么影响?

能够成功。

取消对USER3的权限 通过这个指令,USER3赋予USER1的相应权限也被收回,但最初管理员赋予USER1的权限还在


实验六 数据控制.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浅谈秘书语言艺术

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: