华南农业大学数据库系统概念实验报告五.doc
数据库系统实验报告五学号姓名实验时间2014-12-10实验名称权限与事务管理实验学时2准备材料1. SQL Plus命令手册2. Oracle数据字典扩展实验1. 利用企业管理器的图形界面进行创建用户、角色并进行管理2.利用企业管理器的图形 界面完成对数据操纵权限的授权与回收工作(此部分内容不要求在实验室完成,不用写入实验报告。)实验环境Oracle 9i(及以上版本)服务器SQL Plus/ SQL Plus work sheet客户端实验目的1掌握权限管理语句与视图进行安全性控制的方法 实验内容及步骤每两个同学一组,自由组合完成下列操作要求(使用grant, revoke语句和视图):1. 执行教师提供的命令文件,建立university数据库,并输入数据。2. 同学A设置同学B对A.course表具有查询权限,对A.instructor表中salary字段具有更新权限;同学B使用命令检查授权是否成功。grant select on course to cs113;grant update(salary) on instructor to cs113;3. 同学B授权同学A对B. instructor表具有插入数据、删除数据的权限,同学A用命令试验能否完成相应操作。select * from cs113.instructor;insert into cs113.instructor values(21313,JDY,Comp. Sci.,745363);select * from cs113.instructor;delete from cs113.instructor where salary = 92000;select * from cs113.instructor;4. 同学A授权同学B,对A.student表具有修改表结构的权限,同学B得到修改表结构的命令验证授权是否成功。grant alter,select on student to cs113;5. 同学B授权同学A对B. student表具有增、删、改、查的权限,并允许他将权限授权给其它同学。同学A验证授权是否成功,并试验能否将权限授予其它同学(例如同学C)。select * from cs113.student;insert into cs113.student values(13221,KJDFH,Comp. Sci.,123);update cs113.student set tot_cred = 456 where ID = 13221;select * from cs113.student;delete from cs113.student where ID = 13221;select * from cs113.student;grant select on cs113.student to cs110;6. 同学A收回授权同学B的student表上的所有权限,同学B验证是否回收成功。revoke all on student from cs113;7. 同学A授权同学B具有察看每个部门职工最高、最低、平均工资的权限,但不允许他察看每个人的工资。同学B验证授权是否成功。create view rop_salary as (select dept_name, min(salary) as MIN,max(salary) AS MAX,avg(salary) AS AVG from instructor group by dept_name);select * from rop_salary;grant select on rop_salary to cs113;8. 同学A、B撤销所有已授给对方的权限,如果同学C从同学A得到对同学B student表的访问 权限,察看其权限是否一并收回。revoke all on course from cs113;revoke all on instructor from cs113;revoke all on student from cs113;revoke all on rop_salary from cs113;同学C对同学B的访问权限也一并收回;9.事务的提交方式有三种:显式提交隐式提交和自动提交。SQL PLUS中可通过命令可进行提交方式设置,设置不同提交方式。事务命令有:COMMIT、ROLLBACK、SAVEPOINT、SET ISOLATION LEVEL,查询不同用户操作的结果。完成下列和事务相关的操作:(1)修改事务隔离级别,AB两同学一起操作同一张表,A.instructor,B同学修改数据,A同学查询数据,查看在什么情况下可查看到B同学刚刚修改的数据。set transaction isolation level Read Committed;grant update on instructor to cs113;select * from instructor;(2)设置自动提交,A、B同学同时操作同一张表的数据,察看是否可看到最新修改结果.set autocommit on;(3)B同学设置SAVEPOINT,进行数据操作、rollback,A同学察看数据变化情况。在不同隔离级别下执行相同操作,察看数据的不同点。SAVEPOINT之前的操作被提交,之后被撤销;出现问题解决方案(列出遇到的问题及其解决方法)
收藏
编号:2584398
类型:共享资源
大小:1.10MB
格式:DOC
上传时间:2020-04-22
8
金币
- 关 键 词:
-
华南
农业大学
数据库
系统
概念
实验
试验
报告
讲演
呈文
- 资源描述:
-
^`
《数据库系统》实验报告五
学号
姓名
实验时间
2014-12-10
实验名称
权限与事务管理
实验学时
2
准备材料
1. SQL Plus命令手册
2. Oracle数据字典
扩展实验
1. 利用企业管理器的图形界面进行创建用户、角色并进行管理
2.利用企业管理器的图形 界面完成对数据操纵权限的授权与回收工作
(此部分内容不要求在实验室完成,不用写入实验报告。)
实验环境
Oracle 9i(及以上版本)服务器
SQL Plus/ SQL Plus work sheet客户端
实验目的
1.掌握权限管理语句与视图进行安全性控制的方法
实验内容及步骤
每两个同学一组,自由组合完成下列操作要求(使用grant, revoke语句和视图):
1. 执行教师提供的命令文件,建立university数据库,并输入数据。
2. 同学A设置同学B对A.course表具有查询权限,对A.instructor表中salary字段具有更新权限;同学B使用命令检查授权是否成功。
grant select on course to cs113;
grant update(salary) on instructor to cs113;
3. 同学B授权同学A对B. instructor表具有插入数据、删除数据的权限,同学A用命令试验能否完成相应操作。
select * from cs113.instructor;
insert into cs113.instructor values(21313,JDY,Comp. Sci.,745363);
select * from cs113.instructor;
delete from cs113.instructor where salary = 92000;
select * from cs113.instructor;
4. 同学A授权同学B,对A.student表具有修改表结构的权限,同学B得到修改表结构的命令验证授权是否成功。
grant alter,select on student to cs113;
5. 同学B授权同学A对B. student表具有增、删、改、查的权限,并允许他将权限授权给其它同学。同学A验证授权是否成功,并试验能否将权限授予其它同学(例如同学C)。
select * from cs113.student;
insert into cs113.student values(13221,KJDFH,Comp. Sci.,123);
update cs113.student set tot_cred = 456 where ID = 13221;
select * from cs113.student;
delete from cs113.student where ID = 13221;
select * from cs113.student;
grant select on cs113.student to cs110;
6. 同学A收回授权同学B的student表上的所有权限,同学B验证是否回收成功。
revoke all on student from cs113;
7. 同学A授权同学B具有察看每个部门职工最高、最低、平均工资的权限,但不允许他察看每个人的工资。同学B验证授权是否成功。
create view rop_salary as (select dept_name, min(salary) as MIN,max(salary) AS MAX,avg(salary) AS AVG from instructor group by dept_name);
select * from rop_salary;
grant select on rop_salary to cs113;
8. 同学A、B撤销所有已授给对方的权限,如果同学C从同学A得到对同学B student表的访问 权限,察看其权限是否一并收回。
revoke all on course from cs113;
revoke all on instructor from cs113;
revoke all on student from cs113;
revoke all on rop_salary from cs113;
同学C对同学B的访问权限也一并收回;
9.事务的提交方式有三种:显式提交\隐式提交和自动提交。SQL PLUS中可通过命令可进行提交方式设置,设置不同提交方式。
事务命令有:COMMIT、ROLLBACK、SAVEPOINT、SET ISOLATION LEVEL
,查询不同用户操作的结果。
完成下列和事务相关的操作:
(1)修改事务隔离级别,A\B两同学一起操作同一张表,A.instructor,B同学修改数据,A同学查询数据,查看在什么情况下可查看到B同学刚刚修改的数据。
set transaction isolation level Read Committed;
grant update on instructor to cs113;
select * from instructor;
(2)设置自动提交,A、B同学同时操作同一张表的数据,察看是否可看到最新修改结果.
set autocommit on;
(3)B同学设置SAVEPOINT,进行数据操作、rollback,A同学察看数据变化情况。在不同隔离级别下执行相同操作,察看数据的不同点。
SAVEPOINT之前的操作被提交,之后被撤销;
出现问题
解决方案
(列出遇到的问题及其解决方法)
展开阅读全文
淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。