同义词+同义词类别+创建同义词+删除同义词+同义词的作用

来源:互联网 发布:壳中少女知乎 编辑:程序博客网 时间:2024/04/29 11:26

同义词

1同义词是表、视图、序列、存储过程、包等模式对象的一个别名。
2与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。
3在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。
4经常用于简化对象访问和提高对象访问的安全性。

同义词类别
1公用同义词
1)由一个特殊的用户组Public所拥有。
2)数据库中所有的用户都可以使用公用同义词。
3)往往用来标示一些大家都需要引用数据库对象。
2私有(专有)同义词
1)他是由创建他的用户所有。
2)可以通过授权控制其他用户是否有权使用属于自己的私有同义词。

创建同义词
 create 【public】 synonym synonym _name
 for schema_object;
 public:定义公有同义词,不使用该关键字,定义的是私有(专有)同义词
 schema_object:同义词针对的对象

 create public synonym stu_synonym for zhou.stu;

这里写图片描述
删除同义词
drop 【public】 synonym synonym_name
drop public synonym stu_synonym
这里写图片描述
同义词的作用
1 多用户协同开发中,可以屏蔽对象的名字及其持有者。如果没有同义词,当操作其他用户的表时,必须通过 schema.object名的形式,采用了同义词之后就可以隐蔽掉 schema,当然这里要注意的是:public同义词只是为数据库对象定义了一个公共的别名,其他用户能否通过这个别名访问这个数据库对象,还要看是否已经为这个用户授权。
2 为用户简化sql语句。如果自己建的表的名字很长,可以为这个表创建一个同义词来简化。
3为分布式数据库的远程对象提供位置透明性。
4.在数据库链中的作用
数据库链是一个命名的对象,说明一个数据库到另一个数据库的路径,通过其可以实现不同数据库之间的通信。
Create database link 数据库链名 connect to user名 identified by 口令 using ‘Oracle连接串’;
访问对象要通过 object名@数据库链名。同义词在数据库链中的作用就是提供位置透明性

原创粉丝点击