Oracle 数据库对象

Posted xiren88

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 数据库对象相关的知识,希望对你有一定的参考价值。

 

总结:

  同义词是现有数据库对象的别名
       序列用于生成唯一、连续的序号
       视图是基于一个或多个表的虚拟表
       索引是与表相关的一个可选结构,用于提高 SQL 语句执行的性能
       索引类型有标准索引、唯一索引、反向键索引、位图索引

同义词是现有对象的一个别名。
  
简化SQL语句

  隐藏对象的名称和所有者
  提供对对象的公共访问

  私有同义词:只能被当前模式的用户访问
  共有同义词:需有create public synonym权限 
    创建用户——赋予权限——新用户登录——创建同义词
    Resource权限:该角色包含了开发人员所需要的基本权限。
    replace:若同义词已存在,替换该同义词

 

序列:

  序列是用于生成唯一、连续序号的对象
  序列可以是升序的,也可以是降序的
  使用CREATE SEQUENCE语句创建序列

 

 通过序列的伪列来访问序列的值
NEXTVAL 返回序列的下一个值
CURRVAL 返回序列的当前值

视图

  视图以经过定制的方式显示来自一个或多个表的数据
  视图可以视为“虚拟表”或“存储的查询”
  创建视图所依据的表称为“基表”
  视图的优点有:
  提供了另外一种级别的表安全性
  隐藏的数据的复杂性
  简化的用户的SQL命令
  隔离基表结构的改变
  通过重命名列,从另一个角度提供数据

 语法:

CREATE [OR REPLACE] [FORCE] VIEW  
  view_name [(alias[, alias]...)]
  AS 
  select_statement
  [WITH CHECK OPTION]
  [WITH READ ONLY];

  [说明] force:无论基表是否存在都创建视图
with check option:若没有此选项,则可将符合条件的记录(在视图中)改为视图中不可见的记录
如果选择特定的列来创建视图,则通过该视图只能更新这些列(与表的近似之处)
with read only:不能通过视图修改数据

--查看当前用户的系统权限
select * from user_sys_privs;
--查看当前用户角色权限
select * from user_role_privs;
--查看某个角色权限
select * from role_sys_privs where role =‘RESOURCE’;

 

以上是关于Oracle 数据库对象的主要内容,如果未能解决你的问题,请参考以下文章

oracle数据库对象

oracle导出数据库的时候提示:这些对象由***导出,而不是当前用户

Oracle数据库对象

如何查看oracle 用户权限

Oracle数据库对象,同义词序列视图索引

浅谈Oracle数据库的对象