当前位置:首页 » 数据仓库 » oracle数据库同义词
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

oracle数据库同义词

发布时间: 2022-07-04 12:40:17

‘壹’ Oracle中的Dblink和同义词有什么区别吗

Oracle中的Dblink和同义词有什么区别吗
dblink:当用户要跨本地数据库访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。
同义词:同义词(synonyms)从字面上理解就是别名的意思,和试图的功能类似,就是一种映射关系,此外如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问。

‘贰’ Oracle中视图和同义词的区别

Oracle中视图和同义词的区别如下:
视图和同义词分别都是数据库中的对象名称,它们都不对应实际的数据存储,都依赖其他对象的存在而存在。
一、视图:视图可以被看成是虚拟表或存储查询。除非是索引视图,否则视图的数据不会作为非重复对象存储在数据库中。一般是基于一个或多个数据表经数据查询语句构建而成;视图可以再被用于数据查询语句中。
二、同义词:是架构范围内的对象的另一名称。通过使用同义词,客户端应用程序可以使用由一部分组成的名称来引用基对象,而不必使用由两部分、三部分或四部分组成的名称。可以理解为是对数据库中一个对象的快捷方式或者在特定范围内的别名;不限于数据表,几乎所有的数据库对象都可以建立同义词。
1.视图可以对应一张或多张表,同义词只能对应一张表名称
2.视图可以设置其他约束条件
3.可以在同义词上建立视图:
例如,已经存在一个名为synonym_city的同义词和一个名为table_citys的表,可以创建视图:CREATE OR REPLACE NOFORCE VIEW view_city AS SELECT * FROM synonym_city,table_citys;
4.可以通过对同义词进行任何DML操作,对表数据进行插入、更新、删除,通过对视图只能进行更新和删除操作。
值得注意的是:视图和同义词都可以屏蔽用户访问其他用户拥有的表。
例如:现在存在两个用户:scott、sys,以sys用户登录
创建跨用户表的同义词:
CREATE OR REPLACE PUBLIC SYNONYM SYN_EMP for scott.emp;
创建跨用户的表的视图:
CREATE OR REPLACE VIEW view_EMP AS SELECT * FROM scott.emp
然后进行查询操作:
SELECT * FROM SYN_EMP ;
SELECT * FROM view_EMP ;
查询结果是一样的。

‘叁’ ORACLE 创建同义词 是否可加WHERE条件

同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。 Oracle的同义词有两种类型:公有同义词与私有同义词。 1:公有同义词由一个特殊的用户组Public所拥有。 2:私有同义词是由创建他的用户所有。创建同义词的语法: Create [public] synonym 同义词名称 for [username.]objectName 删除同义词的语法: Drop [public] synonym 同义词名称 查看所有同义词: select * from dba_synonyms

‘肆’ oracle同义词是什么意思

相当于alias(别名),比如把user1.table1在user2中建一个同义词table1
create synonym table1 for user1.table1;
这样当你在user2中查select * from table1时就相当于查select * from user1.table1;
优点自己总结吧。

例如:
在oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必须得有权限,但是如果是别人将权限授予了我们,我们也是能对数据库进行操作的,但是我们必须要已授权的表的名称前键入该表所有者的名称,所以这就是比较麻烦的,遇到这种情况,我们该怎么办呢?创建个同义词吧!这样我们就可以直接使用同义词来使用表了。

‘伍’ oracle数据库中循环同义词,怎么处理

1、 当用程序连接或者用plsql查询同义词时,如果出现ora-01775:同义词的循环链这样的问题。
一般是因为存在同义词,但同义词没有相应的对象。

2、 先查有没有循环的同义词。
select * from dba_synonyms
where table_owner='TEST'
and synonym_name<>table_name;

没有记录。

3、 再查同义词没有对象的数据库对象
select * from dba_synonyms
where table_owner='TEST'
and
synonym_name in
(select a.synonym_name from dba_synonyms a where a.table_owner='TEST'
minus
select object_name from user_objects)

4、 把查询出来的结果进行查询表
select * from DRILL_PRESON
如果该同义词没有相应的对象,则会包ora-01775的错误

5、 把这个同义词删除
drop public synonym DRILL_PRESON

‘陆’ oracle 中怎么创建同义词

我们需要准备的材料分别是:电脑、oracle。

1、首先打开oracle,如果想要实现表空间的方法,则输入以下代码:

‘柒’ oracle里synonym的作用是什么

Oracle同义词的作用是:

1、 多用户协同开发中,可以屏蔽对象的名字及其持有者。如果没有同义词,当操作其他用户的表时,必须通过user名.object名的形式,采用了Oracle同义词之后就可以隐蔽掉user名。

当然这里要注意的是:public同义词只是为数据库对象定义了一个公共的别名,其他用户能否通过这个别名访问这个数据库对象,还要看是否已经为这个用户授权。

2、为用户简化sql语句。上面的一条其实就是一种简化sql的体现,同时如果自己建的表的名字很长,可以为这个表创建一个Oracle同义词来简化sql开发。

3、为分布式数据库的远程对象提供位置透明性。

(7)oracle数据库同义词扩展阅读:

Oracle数据库中提供了同义词管理的功能。同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。

在Oracle数据库中的大部分数据库对象,如表、视图、同义词、序列、存储过程、包等等,数据库管理员都可以根据实际情况为他们定义同义词。Oracle同义词有两种类型,分别是公用Oracle同义词与私有Oracle同义词。

参考资料来源:网络-同义词

‘捌’ oracle同义词

Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;Oracle数据库中提供了同义词管理的功能。同义词是数据库对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义
创建同义词
CREATE SYNONYM SYSN_TEST FOR TEST;
查看同义词
SELECT * FROM USER_SYNONYMS

使用同义词
SELECT * FROM SYSN_TEST;
删除同义词
DROP SYNONYM SYSN_TEST;

‘玖’ Oracle怎样创建同义词

同义词可分为两种:1)公有同义词。2)私有同义词。
create public synonym 同义词名称 for 数据库对象名;----公有同义词
create synonym 同义词名称 from 数据库对象;-----私有同义词

‘拾’ oracle数据库同义词导入错误,怎么重新导入

oracle导入的同义词其实就是一个创建语句而已,如果同义词很多的话,直接用PL/SQL Developer的菜单栏的工具=>导出对象里面选择需要导出的同义词 命名为imp_synonym.sql 导出路径比如设置位D盘根目录 D:\ imp_synonym.sql 完成后 打开cmd窗口 输入 D:
进入到D盘,然后sqlplus到目标数据库,然后输入 @imp_synonym.sql 或者直接写全路径
@D:\imp_synonym.sql直接执行这个脚本文件就导入同义词了。