南邮数据库实验(2)

实验名称 :DBMS的数据库保护

一、 实验目的和要求
(1) 巩固事务的概念
(2) 正确理解并发及锁机制
(3) 熟悉DBMS的安全控制

二、实验原理及内容
1. 创建用户U1和U2

CREATE USER U1 IDENTIFIED BY B123;
GRANT CONNECT, RESOURCE TO U1; 
CREATE USER U2 IDENTIFIED BY B1234;
GRANT CONNECT, RESOUECE TO U2;

2. 对系统中SCOTT用户的员工(emp)表,用授权机制完成以下存取控制:
(1) 所有用户具有对员工编号 EMPNO、姓名 ENAME 和所在部门 DEPTNO 的查询权限。

    以SCOTT的身份进入SQL *Plus
         建立视图  CONNECT SCOTT/TIGER;
         CREATE VIEW EMP VIEW(EMPNO,ENAME,DEPTNO) AS SELECT EMPNO,ENAME,DEPTNO 
FROM EMP;
         授予权限  GRANT SELECT ON EMP VIEW TO PUBLIC;

(2) 使用户 U1 拥有对表 EMP 的删除权限和对奖金(COMM)的修改权限,并具备转授这些
权限的权力。

GRANT DELETE,UPDATE(COMM) ON EMP TO U1 WITH GRANT OPTION;

(3) 用户 U1 授予用户 U2 对员工表的删除权限。

CONNECT U1/B213;
 GRANT DELECT ON SCOTT.EMP TO U2;

(4) 回收用户 U1 和用户 U2 对员工表的删除权限。

CONNECT SCOTT/TIGER;
 REVOKE DELECT ON EMP FROM U1;

3.为自己的用户授予对scott用户的员工表EMP的所有操作权

  CONNECT SCOTT/TIGER;
   GRANT ALL PRIVILEGES ON EMP TO U1 WITH GRANT OPTION.

4.观察多事务并发时的数据库保护
(1) 分别以 scott 和自己的用户名登录到 SQL PLUS,并分别输入命令 SET AUTO OFF。

SQL>CONNECT SCOTT/TIGER;
  SQL>SET AUTO OFF;
  在另一个窗口:
  SQL>CONNECT U1/B123;
  SQL> SET AUTO OFF;

(2) SCOTT 将 EMP 表中 10 号部门所有员工工资(SAL)增加 200 元,此即事务 1。

	SQL>UODATE EMP
    SET SAL=SAL+200 WHERE DEPTNO=10;

(3) 自己的用户将 EMP 表中工号以 77 开头的员工工资增加 300 元,此即事务 2。

   SQL>UPDATE SCOTT EMP
     SET SAL=SAL+300 WHERE EMPNO LIKE77%”;

(4) 观察发生现象,分析原因,找出解决办法。

    发生现象:事务二处于等待状态。
    原因:SCOTT用户的加X锁作用。
    解除事务2挂起的方法是,在SCOTT窗口中键入命令COMMIT或者是ROLLBACK.

(5)SCOTT 分别输入 COMMIT 和 ROLLBACK 命令时,观察两个 SQL * Plus 界面的信息及变化,并用 SELECT 语句查看将 EMP 表中的 SAL 属性的值的变化。

  SQL> SELECT SAL FROM EMP WHERE DEPTNO=10 AND EMPNO LIKE77%’;
  SQL>SELECT SAL FROM SCOTT. EMP WHERE DEPTNO=10 AND AMPNO LIKE77%’;
  SQL>COMMIT;
  • 6
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值