实验七.SQL语言之DCL.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验七.SQL语言之DCL

实验七 SQL语言的DCL 一、实验目的 SQL的数据控制通过DCL(数据控制语言) 实现。DCL通过对数据库用户的授权和收权命令来实现有关数据的存取控制,以保证数据库的安全性。 本次实验了解DCL语言的GRANT和REVOKE语句对数据库存取权限的控制,学会在Oracle SQL Developer中用DCL语言对数据库存取权限进行设定。 二、实验步骤及结果 1.运行SQL Developer,使用系统管理用户system(密码也是system)建立连接,然后登录 Oracle数据库。此用户为权限较高之用户,在后续的实验内容中,对学生用户进行权限的授予和回收,使学生用户能完成设定的操作或者看到预计的系统错误信息。 运行如下SQL语句在HR用户的模式下建立一个表。 create table hr.dcltest (id varchar2(10), name varchar2(20), age number); 如图7-1所示: 图7-1 2. 运行另外一个SQL Developer副本,使用学生用户建立连接,然后登录Oracle数据库。用户名为B+学号(如学号则用户名为和密码为111, 运行如下查询语句,检索刚才建立的表: select * from hr.dcltes 如图7-2所示: 图7-2 3.返回system用户所在SQL Developer,将SELECT权限授予学生用户。使得学生用户在表HR.dcltes有查询的权限,如图7-3所示: 图7-3 4.返回学生用户所在SQL Developer,运再次执行前面查询语句,检索刚才建立的表,如图7-4所示: select * from hr.dcltes 图7-4 到这里,我们发现,当我们将相应数据库对象的SELECT权限赋给用户后,用户就能执行相应的查询操作。 5.接下来我们看看INSERT权限的例子。首先使用学生用户在SQL Developer中对表HR.dcltes行插入元组的操作, insert into hr.dcltesvalues (吴思远,35); 系统给出了如下错误: Error starting at line 1 in command: insert into hr.dcltesvalues (吴思远,35) Error at Command Line:1 Column:15 Error report: SQL Error: ORA-01031: 权限不足 01031. 00000 - insufficient privileges 如图7-5所示: 图7-5 6. 返回system用户所在SQL Developer,将INSERT权限授予学生用户。使得学生用户在表HR.dcltes能完成插入元组的操作,如图7-6所示: 图7-6 7.返回学生用户所在SQL Developer,再次执行前面的进行插入元组的操作。 insert into hr.dcltesvalues (吴思远,35); 结果如图7-7所示: 图7-7 8.接下来看权限回收REVOKE。 返回system用户所在SQL Developer,将学生用户的SELECT权限回收。 如图7-8所示: 如图7-8所示: 9.返回学生用户所在SQL Developer,再次执行前面查询语句,检索前面可以正常查询的表,结果如图7-10所示: select * from hr.dcltes 图7-10 10.返回system用户所在SQL Developer,将学生用户的所有权限回收。 执行如下SQL语句: revoke all on hr.dcltesfrom 如图7-11所示: 图7-11 11. 返回学生用户所在SQL Developer,再次执行前面查询语句,检索前面报权限不足的表,结果如图7-12所示: 图7-12 12.UPDATE和DELETE的权限授予与回收操作中涉及到的SQL语句保留如下,备查。 create table hr.dcltest_ (id varchar2(10), name varchar2(20), age number); (id varchar2(10), name varchar2(20), age number); Grant insert on hr.dcltest_to hr

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档