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