第四章:同义词、用户、权限、约束、修改表、闪回

本文详细介绍了Oracle SQL中的同义词概念,包括私有同义词和公共同义词的创建与使用。接着讲解了用户创建、权限管理,包括创建用户、分配权限以及角色的使用。此外,还深入探讨了表的修改,如添加、修改和删除列,以及管理约束,如主键、外键、检查约束的启用、禁用和删除。最后,提到了闪回操作,用于恢复误删表以及事务级别的数据恢复。
摘要由CSDN通过智能技术生成

- -创建使用同义词
- -同义词就是给表、视图等对象取得别名,用于简化对
- -其的访问

- -分为 2种:
- -私有同义词:用户自己创建自己使用的
- -公共同义词:dba创建,给其它用户使用的

- -为dept_sum_vu视图创建一个同义词
- -不使用 public关键字创建的同义词就叫做私有同义词
create synonym d_sum
   for dept_sum_vu;

- -通过同义词访问视图
select *
   from d_sum;

- - SQL 错误: ORA - 01031: 权限不足
create public synonym hremp1
   for employees;  

- -以下操作由sys操作  
- -为hr的copy_emp表创建公共同义词
create public synonym hrcemp1
   for hr.copy_emp;

- -将访问同义词的权限给所有用户  
grant select on hrcemp1 to public;

- -权限控制:
- - schema是表、视图、序列等对象的集合。
- - schema被一个数据库用户拥有并且和用户有相同的名字。

- -以下操作由sys完成
- -创建新用户
create user demo
  identified by demo;

- -授予demo登录到数据库的权限
grant create session
   to demo;

- -授予demo创建各种对象的权限
grant create table, create view, create sequence,
       create procedure
   to demo;  

- -为了简化权限管理,使用角色
- - 1、创建角色
create role manager;

- - 2、给角色授权
grant create table, create view
   to manager;

- - 3、将角色授给用户,那么用户就拥有了角色拥有的权限  
grant manager
   to demo;

- -修改自己的口令
- -由hr操作
alter user hr
  identified by hr;

- -授予对象权限给其它用户

- -将hr的dept80表的查询权限授给demo
grant select
   on dept80
   to demo;

- -将hr的dept80表的last_name和annsal列的修改权限授给demo
grant update(last_name,annsal)
   on dept80
   to demo;

- -授权时使用 with grant option选项
- -它的含义是:允许被授权的用户继续将同样的权限授给其它用户

- -以下由sys操作
create user demo1
  identified by demo1;

grant create session
   to demo1;

- -以下由hr操作
grant select
   on dept80
   to demo
   with grant option;

- -以下由demo操作
grant select
   on hr.dept80
   to demo1
   with grant option;

- - - -以下由hr操作
- -查询数据字典得到有关权限的信息

DESC role_sys_privs;

- -查看角色具备的系统权限
select *
   from role_sys_privs;

- -查看自己把哪些对象的访问权限授给了哪些用户
select *
   from user_tab_privs_made;

- -查看其它用户把哪些对象的访问权限授给了自己
select *
   from user_tab_privs_recd;  

- -废除对象权限
revoke select
   on dept80
   from demo;

- -注意:demo通过传递授权授给demo1的访问hr的dept80
- -表的权限同时被废除。

- -系统权限也可以进行传递授权,使用 with admin option选项
- -废除系统权限时,通过传递授权授予的系统权限不会被同时废除


- -管理 schema对象
- -使用 alter table语句添加、修改、删除列

- - 1alter table... add
- -给表添加一个新的列
- - 1)不能指定列要出现在哪里。新列成为最后的列。
- - 2)当添加列时,如果表中已经包含了行,对所有的行来讲,
- -新的列被初始化为 null,或者赋予默认值。

- -给dept80表添加一个job_id列
alter table dept80
   add (job_id varchar2( 9));

alter table dept80
   add (job_id1 varchar2(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值