实验七.sql语言之dcl

上传人:第*** 文档编号:38878757 上传时间:2018-05-08 格式:DOC 页数:9 大小:243.50KB
返回 下载 相关 举报
实验七.sql语言之dcl_第1页
第1页 / 共9页
实验七.sql语言之dcl_第2页
第2页 / 共9页
实验七.sql语言之dcl_第3页
第3页 / 共9页
实验七.sql语言之dcl_第4页
第4页 / 共9页
实验七.sql语言之dcl_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《实验七.sql语言之dcl》由会员分享,可在线阅读,更多相关《实验七.sql语言之dcl(9页珍藏版)》请在金锄头文库上搜索。

1、实验七实验七 SQL 语言的语言的 DCL一、实验目的一、实验目的SQL 的数据控制通过 DCL(数据控制语言) 实现。DCL 通过对数据库用户的授权和收权命令来实现有关数据的存取控制,以保证数据库的安全性。本次实验了解 DCL 语言的 GRANT 和 REVOKE 语句对数据库存取权限的控制,学会在 Oracle SQL Developer 中用 DCL 语言对数据库存取权限进行设定。二、实验步骤及结果二、实验步骤及结果1.运行 SQL Developer,使用系统管理用户 system(密码也是 system)建立连接,然后登录 Oracle 数据库。此用户为权限较高之用户,在后续的实验内

2、容中,对学生用户进行权限的授予和回收,使学生用户能完成设定的操作或者看到预计的系统错误信息。运行如下 SQL 语句在 HR 用户的模式下建立一个表。create table hr.dcltest(id varchar2(10),name varchar2(20),age number);如图 7-1 所示:图 7-12. 运行另外一个 SQL Developer 副本,使用学生用户建立连接,然后登录Oracle 数据库。用户名为 B+学号(如学号为 05100709,则用户名为 B05100709)和密码为 111, 运行如下查询语句,检索刚才建立的表:select * from hr.dcl

3、test92150033;如图 7-2 所示:图 7-23.返回 system 用户所在 SQL Developer,将 SELECT 权限授予学生用户。使得学生用户在表 HR.dcltest92150033 上有查询的权限,如图 73 所示:图 7-34.返回学生用户所在 SQL Developer,运再次执行前面查询语句,检索刚才建立的表,如图 7-4 所示:select * from hr.dcltest92150033;图 7-4到这里,我们发现,当我们将相应数据库对象的 SELECT 权限赋给用户后,用户就能执行相应的查询操作。5.接下来我们看看 INSERT 权限的例子。首先使用学

4、生用户在 SQL Developer 中对表 HR.dcltest92150033 进行插入元组的操作,insert into hr.dcltest92150033 values (B92150033,吴思远,35);系统给出了如下错误:Error starting at line 1 in command:insert into hr.dcltest92150033 values (B92150033,吴思远,35)Error at Command Line:1 Column:15Error report:SQL Error: ORA-01031: 权限不足01031. 00000 - “i

5、nsufficient privileges“如图 75 所示:图 756. 返回 system 用户所在 SQL Developer,将 INSERT 权限授予学生用户。使得学生用户在表 HR.dcltest92150033 上能完成插入元组的操作,如图 76 所示:图 767.返回学生用户所在 SQL Developer,再次执行前面的进行插入元组的操作。insert into hr.dcltest92150033 values (B92150033,吴思远,35);结果如图 7-7 所示:图 7-78.接下来看权限回收 REVOKE。 返回 system 用户所在 SQL Develop

6、er,将学生用户的 SELECT 权限回收。 如图 7-8 所示:如图 7-8 所示:9.返回学生用户所在 SQL Developer,再次执行前面查询语句,检索前面可以正常查询的表,结果如图 7-10 所示:select * from hr.dcltest92150033;图 7-1010.返回 system 用户所在 SQL Developer,将学生用户的所有权限回收。 执行如下 SQL 语句: revoke all on hr.dcltest92150033 from b92150033; 如图 7-11 所示:图 7-1111. 返回学生用户所在 SQL Developer,再次执行

7、前面查询语句,检索前面报权限不足的表,结果如图 7-12 所示:图 7-1212.UPDATE 和 DELETE 的权限授予与回收操作中涉及到的 SQL 语句保留如下, 备查。 create table hr.dcltest_08450214(id varchar2(10),name varchar2(20),age number);(id varchar2(10),name varchar2(20),age number);Grant insert on hr.dcltest_08450214 to hr;insert into hr.dcltest_08450214 values (B92

8、150033,吴思远,35);在没有权限下进行操作 Update hr.dcltest_08450214 set id=08450214 where id=B92150033; 在有权限下进行操作 Grant update on hr.dcltest_08450214to hr; Update hr.dcltest_08450214 set id=08450214 where id=B92150033; 收回权限后在进行操作 Revoke update on hr.dcltest_08450214 from hr; Update hr.dcltest_08450214set id=084502

9、14 where id=B92150033;在没有权限下进行操作 Delete name from hr.dcltest_08450214; 在有权限下进行操作 Grant delete on hr.dcltest_08450214 to hr; Delete name from hr.dcltest_08450214; 收回权限后在进行操作 Revoke delete on hr.dcltest_08450214 from hr; Delete name from hr.dcltest_08450214;三、心得体会:三、心得体会:通过这次实验,我知道了 SQL 的数据控制通过DCL(数据控制语言) 实现。DCL 通过对数据库用户的授权和收权命令来实现有 关数据的存取控制,以保证数据库的安全性。我以后需要多多上机练习,才能 把理论和实践相联系起来!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号