7.SQL语言之DCL

7.SQL语言之DCL

ID:37857914

大小:242.50 KB

页数:9页

时间:2019-06-01

7.SQL语言之DCL_第1页
7.SQL语言之DCL_第2页
7.SQL语言之DCL_第3页
7.SQL语言之DCL_第4页
7.SQL语言之DCL_第5页
资源描述:

《7.SQL语言之DCL》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验七SQL语言的DCL一、实验目的SQL的数据控制通过DCL(数据控制语言)实现。DCL通过对数据库用户的授权和收权命令来实现有关数据的存取控制,以保证数据库的安全性。本次实验了解DCL语言的GRANT和REVOKE语句对数据库存取权限的控制,学会在OracleSQLDeveloper中用DCL语言对数据库存取权限进行设定。二、实验内容1.启动OracleSQLDeveloper,用GRANT语句对数据库存取权限进行授权操作,语法格式如下:GRANTprivilege[,...]ONobject[,...]TO{PUBLIC

2、GRO

3、UPgroup

4、username}输入privilege可能的权限有:SELECT访问声明的表/视图的所有列/字段。INSERT向声明的表中插入所有列字段。UPDATE更新声明的所有列/字段。DELETE从声明的表中删除所有行。RULE在表/视图上定义规则(参见CREATERULE语句)。ALL赋予所有权限.object赋予权限的对象名.可能的对象是:table(表)view(视图)sequence(序列)index(索引)PUBLIC代表是所有用户的简写.GROUPgroup将要赋予权限的组group.目前的版本中,组必须是用下面方

5、法显式创建的。username将要赋予权限的用户名.PUBLIC是代表所有用户的简写。输出Grant/Revoke权限Succeeded。如果成功,返回此信息.ERROR:ChangeAcl:class"object"notfound如果所声明的对象不可用或不可能对声明的组或用户赋予权限。2.启动OracleSQLDeveloper,用REVOKE语句将DBA(数据库管理员)、DBO(建库用户)授与其它用户对数据库的操作权收回,语法格式如下:REVOKEprivilege[,...]ONobject[,...]FROM<用户组名>

6、P

7、UBLICON用于被回收特权的对象,ALLPRIVILEGES指回收所有特权,PUBLIC指数据库的所有用户。具体参数详见前面的GRANT输入部分。三、实验任务1.运行SQLDeveloper,使用系统管理用户system(密码也是system)建立连接,然后登录Oracle数据库。此用户为权限较高之用户,在后续的实验内容中,对学生用户进行权限的授予和回收,使学生用户能完成设定的操作或者看到预计的系统错误信息。运行如下SQL语句在HR用户的模式下建立一个表。(同学们建表的时候,用自己的学号后缀。)createtablehr.dclte

8、st(idvarchar2(10),namevarchar2(20),agenumber);如图7-1所示:图7-12.运行另外一个SQLDeveloper副本,使用学生用户建立连接,然后登录Oracle数据库。用户名为B+学号(如学号为05100709,则用户名为B05100709)和密码为111,登录数据库服务器后,可修改密码。修改密码SQL语句:alteruserB5100709identifiedbyabc123;(abc123为新密码)。运行如下查询语句,检索刚才建立的表:select*fromhr.dcltest92150

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

10、SQLDeveloper中对表HR.dcltest92150033进行插入元组的操作,insertintohr.dcltest92150033values('B92150033','吴思远',35);系统给出了如下错误:Errorstartingatline1incommand:insertintohr.dcltest92150033values('B92150033','吴思远',35)ErroratCommandLine:1Column:15Errorreport:SQLError:ORA-01031:权限不足01031.0000

11、0-"insufficientprivileges"如图7-5所示:图7-56.返回system用户所在SQLDeveloper,将INSERT权限授予学生用户。使得学生用户在表HR.dcltest92150033上能完

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。