ORACLE数据库入门再在屋里坐会 (9)

概述:ORACLE 数据库是关系型数据库,同时也是面向对象关系型数据库,又称ORDBMS,因此,在 ORACLE 数据库中也有专属的 ORACLE 对象,主要有如下数据库对象:同义词 序列 表 表分区 视图 过程 索引。以下简单讲解同义词、序列、表分区、视图、索引

同义词 1、概念

同义词是数据库方案对象的一个“别名”,经常用于简化对象访问和提高对象访问的安全性。

同义词并不占用实际存储空间,只在数据字典中保存了同义词的定义。

Oracle同义词有两种类型,分别是公用 Oracle 同义词与私有 Oracle 同义词。

2、问题

select * from scott.emp;

当前登录的session是非scott用户,访问emp表时,必须指定schema.表名

3、解决:同义词

创建公用同义词

  create public synonym syn_emp for scott.emp;

通过访问同义词来简化对象的访问

  select * from syn_emp;

4、创建同义词的语法

      create [or replace] [public] synonym sys_name

      for [schema.]object_name

说明:

      create:创建同义词

      create or replace:没有则创建,有则替换

      public:声明公用同义词,不写则为私有同义词

      synonym:关键字

      sys_name:用户创建同义词的名称,建议以sys_为前缀

      for:关键字

schema:对象的集合,如包含tables, views, sequences, synonyms, indexes等;

      一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema

  object_name:对象名

eg1:公用同义词

  create public synonym syn_emp for scott.emp;

  select * from syn_emp;

eg2:私用同义词

  create or replace synonym syn_pri_emp for scott.emp

  select * from syn_pri_emp;

5、查看同义词

查看当前用户创建的私有同义词

  select * from user_synonyms;

查看当前用户创建的所有同义词

  select * from all_synonyms where table_owner='SCOTT';

  select * from dba_synonyms where table_owner='SCOTT';

6、删除同义词

  drop public synonym 公有同义词名称

  drop synonym 私有同义词名称

7、注意事项

1)用户必须拥有 Create public synonym 的系统权限才能创建公共同义词;只有Create any synonym 权限才能创建私有同义词

2)用户必须拥有同义词所定义对象的权限才能进行访问,同义词不代表权限

3)同义词不仅可以查询,还可以添加,删除,修改,但都作用于物理表

序列 1、概念

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzwgw.html