数据库中的同义词synonym
一、Oracle数据只有一个实例(简单理解就是Oracle 只能建立一个数据库,不像MySQL,它下面可以创建N个库),那么Oracle是根据用户灵活去管理的;这点读起来、理解
起来也不那么难,但是除非自己亲自实现一把才理解深入点,刚接触数据库可能不是很理解这些;
二、Oracle中可以建立多个用户,那么这些用户刚建立是得授权的,不让没有权限做任何事情,(举个栗子:用户 ‘AA’ 是授权的DBA用户,此用户下面有 N 张表,如果再创建
一个用户 “BB” ,那么 “BB” 是没有权限读取 “AA” 中表的,有人可能就会说给他授权不就行了么,给 “BB” 授予超级权限,抱歉,那也不行,你同样么有机会访问 “AA”
中的表的,你虽然授予了超级权限,那是在你名下的,在 “AA” 起不了作用),是不是很是揪心,同一个库下两个 超级用户 还不能访问。
三、是不是在 “BB” 用户下在把 “AA” 下的表 复制一遍不就好了,没错,这样也能实现,但是这样会浪费很多资源,而且不能同步数据;这种情况下 同义词 就有用武之地了,
其实 同义词 也相当于一个视图 可以这个么理解,可以进行对表的 增删改查,(省资源,数据同步);
四、注意事项
0》接上面的举例子:新建的用户 “BB” 要在不复制资源的请款下建立一个同义词 要可以对 “AA” 下的表 操作(除了删除)
建立:create 【public】 synonym 同义词名称(一般可以与表名不同,这样不容易混淆) for AA.table_name;--在当前用户下建立一个同义词(去同义“AA”中的表:table_name,public的是可选参数,本人建议尽量建立公用的 同义词)
删除:DROP 【public】 SYNONYM 同义词名称; ---------此处特别注意 关键字 public 的存在--------;
查看:select * from user_synonyms sy where sy.synonym_name ='A_CODEMAPPING'; --查看私有的同义词,自己看到自己创建的;
select * from all_synonyms sy where sy.synonym_name ='A_CODEMAPPING'; --可以查看到 某某创建的 公共的 同义词
参看信息中包括,同义词拥有者,表拥有者,是否public的等信息;
1》同义词 分为私有的 和公共的两种;
私有的:
也只有 本用户使用,包括别的用户查不到 用户 “BB” 有这个同义词(这点很重哟奥);
共有的:
可以被其它的任何用户使用, 也可以被人家查到,看到这个同义词,当然最重要的也可以被别的用户删除;
什么是同义词
同义词相当于是对象的小名,作用是缩短对象的长度,便于书写与访问。
同义词的创建
假设有表s_student如图所示:
为表t_student创建同义词std
create synonym std
for t_student
此时使用同义词std查询表t_student中所有数据
select * from std
查询结果:
删除同义词
drop synonym std
数据库中的同义词synonym的更多相关文章
- SQLServer中同义词Synonym的用法
以前一直认为SqlServer中的同义词(Synonym)没有什么用处,所以也一直没有去查它的语法格式.今天碰到一个问题,用Synonym来解决再好不过了.问题是这样子的,我的系统中用到了多个数据库, ...
- 数据库中使用 Synonym和openquery
如果,你想在一台数据库服务器上,查询另一个台数据服务器的数据该如何做呢?如果,你想在同一台数据服务器上,在不同的数据库之间查询数据,又该怎么办呢?那就让我为你介绍Synonym和openquery吧. ...
- 由浅入深讲解数据库中Synonym的使用方法
1.Synonym的概念 Synonym(同义词)是SQL Server 2005的新特性.推出已经有几年的时间了.我们可以简单的理解Synonym为其他表的别名.本文中使用Northwind数据库为 ...
- Oracle数据库对象_同义词
同义词是一种数据库对象,它是为一个数据库对象定义的别名,使用同义词的主要目的是为了简化SQL语句的书写. 同义词的概念和类型 利用同义词可以为用户的一个对象,或者其他用户的一个对象定义别名,从而简化命 ...
- Oracle数据库中的重要对象
数据库中的重要对象:表.视图.序列.函数.存储过程.索引.同义词1.表:用PL/SQL Developer 软件打开 Scott的DEPT表查看SQL,可以看见DEPT表创建的脚本-- Create ...
- oracle数据库链路和同义词
Oracle数据库链路的建立和使用 先来一个例子: --创建数据库链路create public database link xaffdblink connect to zdcl identi ...
- DB-概念-同义词:同义词/Synonym
ylbtech-DB-概念-同义词:同义词/Synonym 同义词的概念 :英文(synonym)是指向其它数据库表的数据库指针.同义词有私有(private)和公共(public)两种类型. 1.返 ...
- 通过jdbc获取数据库中的表结构
通过jdbc获取数据库中的表结构 主键 各个表字段类型及应用生成实体类 1.JDBC中通过MetaData来获取具体的表的相关信息.可以查询数据库中的有哪些表,表有哪些字段,字段的属性等等.Met ...
- SQlServer 从系统表 sysobjects 中获取数据库中所有表或存储过程等对象
[sysobjects] 一.概述 系统对象表. 保存当前数据库的对象,如约束.默认值.日志.规则.存储过程等,该表中包含该数据库中的表 存储过程 视图等所有对象 在sqlserver2005,sql ...
随机推荐
- urllib模块中parse函数中的urlencode和quote_plus方法
本来只是向看一下quote_plus的作用,然后发现urlencode方法也是很方便的一个组合字符串的方法首先是介绍一下urlencode,他是将一些传入的元素使用&串联起来,效果如下: &g ...
- Linux命令——e2fsck
简介 e2fsck字面意义上理解时,Ext2 FileSystem Check,但他实际上不仅仅对Ext2有用,对Ext家族都有用,即Ext2/3/4d都也可以使用. 5 UNIX / Linux e ...
- 【HCIA Gauss】学习汇总-数据库管理(数据库基本概念)-3
数据库:操作系统文件或磁盘数据块的集合数据库实例: 指操作系统中一系列进程以及为这些进程分配的内存块 通常来说一个数据库实例对应着一个数据库[数据库实例是访问数据的通道] 多实例:利用多实例 可以充分 ...
- 14.专攻python和centos7
大牛博客:https://blog.51cto.com/yangrong/p5 用户接口应用程序: [root@python01 ~]# ps aux|grep bashroot 23860 ...
- 浅谈CopyOnWriteArraySet
CopyOnWriteArraySet结构图 CopyOnWriteArraySet.png CopyOnWriteArraySet主要方法 public boolean add(E e); pu ...
- Kotlin泛型与协变及逆变原理剖析
在上一次https://www.cnblogs.com/webor2006/p/11234941.html中学习了数据类[data class]相关的知识,这次会学习关于泛型相关的东东,其中有关于泛型 ...
- Caused by: java.nio.charset.MalformedInputException: Input length = 1
java.lang.IllegalStateException: Failed to load property source from location 'classpath:/applicatio ...
- kafka一致性语义保证
一.消息传递语义:三种,至少一次,至多一次,精确一次 1.at lest once:消息不丢,但可能重复 2.at most once:消息会丢,但不会重复 3.Exactly Once:消息不丢,也 ...
- [NgRx] NgRx Data Fetching Solution - How to Load Data Only If Needed
We have a reoslver, which everytime we want visit '/courses' route, it will be triggered, then api w ...
- 既然 transform 不适用于某些内联元素,那咱们就把这些元素变成 inline-block 或 block 就行了。
既然 transform 不适用于某些内联元素,那咱们就把这些元素变成 inline-block 或 block 就行了.