同义词的概念

在Oracle中,要想使用数据库,就必须拥有对应的权限,且还要在已授权的表名前添加该表的用户名。
同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。在Oracle数据库中的大部分数据库对象,如表、视图、同义词、序列、存储过程、包等等,数据库管理员都可以根据实际情况为他们定义同义词。

同义词的分类

  1. 公用同义词:由一个特殊的用户组Public所拥有。顾名思义,数据库中所有的用户都可以使用公用同义词。公用同义词往往用来标示一些比较普通的数据库对象,这些对象往往大家都需要引用。
  2. 私有同义词:它是跟公用同义词所对应,他是由创建他的用户所有。当然,这个同义词的创建者,可以通过授权控制其他用户是否有权使用属于自己的私有同义词。

同义词的创建、删除、查询

创建

create [public] synonym 同义词名 for 用户名.对象名;

此外如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问。然后使用如下语句创建数据库同义词:
create synonym 同义词名 for 用户名.对象名@DB_Link;

当然,你可能需要在user用户中给当前用户(user2)授权:grant select/delete/update on user2;

创建好同义词之后,你可以对它进行DML(insert,update,delete)操作,当然select语句肯定是支持的。

删除

drop [public] synonym 同义词名;

查询

select * from dba_synonyms;
select * from user_synonyms;

同义词的作用

  1. 多用户协同开发中,可以屏蔽对象的名字及其持有者。如果没有同义词,当操作其他用户的表时,必须通过user名.object名的形式,采用了Oracle同义词之后就可以隐蔽掉user名。当然这里要注意的是,public同义词只是为数据库对象定义了一个公共的别名,其他用户能否通过这个别名访问这个数据库对象,还要看是否已经为这个用户授权。
  2. 为用户简化sql语句。上面的一条其实就是一种简化sql的体现,同时如果自己建的表的名字很长,可以为这个表创建一个Oracle同义词来简化sql开发。
  3. 为分布式数据库的远程对象提供位置透明性。

Oracle - 同义词相关推荐

  1. Oracle同义词创建及其作用(转载)

    Oracle的同义词(synonyms)从字面上理解就是别名的意思,和试图的功能类似,就是一种映射关系.本文介绍如何创建同义词语句,删除同义词以及查看同义词语句.  oracle的同义词总结:  从字 ...

  2. Oracle 同义词的创建及其作用

    在Oracle中对用户管理是使用权限的方式来管理.也就是说,我们想使用数据库,就必须的有权限.但是如果别人将权限授予我们, 我们也能对数据库进行操作,但是我们必须要在已授权的表前键入该表owner的名 ...

  3. 图解Oracle同义词

    Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系.它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够 ...

  4. Oracle 同义词、DBLINK、表空间的使用

    Oracle 同义词 Oracle同义词创建及其作用 Oracle的同义词(synonyms)从字面上理解就是别名的意思,和试图的功能类似,就是一种映射关系.本文介绍如何创建同义词语句,删除同义词以及 ...

  5. oracle序列的描述,Oracle同义词和序列的基本使用方法

    Oracle同义词通俗的讲就是某个对象的替代名称,其主要的作用就是利用相关的同义词方便的操纵各种不同用户模式下的相关对象.我们通过select user from dual来对当前使用的用户进行查看. ...

  6. Oracle同义词总结

    Oracle同义词总结 同义词概念 Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系. 它可以节省大量的数据库空间,对不同用户的操作同一张表没有多 ...

  7. Oracle 同义词总结

    Oracle 同义词总结 同义词是其它对象(例如表.实体.存储过程.函数.包.序列)的别名.同义词也可以是另一个同义词的别名.同义词的优点主要体现在以下几个方面: l  当使用对象时,不需要指出对象的 ...

  8. Oracle --- 同义词

    资源转载自:https://www.cnblogs.com/kerrycode/archive/2012/12/19/2824963.html 同义词概念 Oracle的同义词(synonyms)从字 ...

  9. oracle同义词创建(synonym)

    原文章:https://blog.csdn.net/wangwuyilove/article/details/46469965 在现在的项目中会有很多接口,数据来源也可能是不同数据库或者是不同的用户下 ...

  10. Oracle同义词创建及其作用

    Oracle的同义词(synonyms)从字面上理解就是别名的意思,和试图的功能类似,就是一种映射关系.本文介绍如何创建同义词语句,删除同义词以及查看同义词语句. oracle的同义词总结: 从字面上 ...

最新文章

  1. Cookie与Session的区别
  2. 一种利用ADO连接池操作MySQL的解决方案(VC++)
  3. Java设计模式之行为型:模板方法模式
  4. 运算符之:2、算术运算符(7个)
  5. 19、任务十八——事件委托、数组处理
  6. qpsk 锁相环_本科毕业设计课题—QPSK相干解调的MATLAB仿真(4)
  7. 软件:常用 Linux 软件汇总,值得收藏!
  8. 机器学习问题总结(04)
  9. js hover 触发事件_为什么说JS的DOM操作很耗性能
  10. WAS6.1在JDK1.5环境下JSP无法编译问题
  11. get和post混合提交
  12. linux系统文件查找及管理
  13. TensorFlow中的优化算法
  14. Debug与Release版本的区别详解
  15. 2020寒假第二周总结
  16. Dapr for dotnet | 发布与订阅- Publish Subscribe
  17. java 龙卷风_java8-lamba表达式的使用-遁地龙卷风
  18. windows上datax的使用记录
  19. Dynamics 365 设置Postman environment For WebAPI
  20. 推荐一首歌 - Just Another (Pete Yorn)

热门文章

  1. 动环视频监控在配电房智能化改造中应用
  2. BIM——建筑信息模型 工程造价培训班
  3. 互联网、电话订票起售时间(时刻)
  4. python 断点续传
  5. 后期强美颜大师完整破解版
  6. HTB靶场系列 linux靶机 Nineveh靶机
  7. 前端第五次培训(JS语法)
  8. 【花雕体验】09 行空板硬件控制pinpong库的系列测试(之二)
  9. 网易邮箱登陆页面HTML5
  10. ES--索引生命周期管理