同义词

发布时间 2023-07-13 09:56:33作者: WeChat2834
同义词

同义词(synonym)是为模式对象起的别名,可以为表,视图,序列,过称,函数,和包等数据库模式对象创建同义词。同义词有两种:公有同义词和私有同义词。公有同义词对所有用户都可以用。创建公有同义词必须拥有系统权限CREATE PUBLIE SYNONYM;创建私有同义词需要create synonym。私有同义词只对拥有同义词的账号有效,但私有同义词也可以通过授权,使其对其他用户有效。同义词通过给本地或远程对象分配一个通用或简单的名称,隐藏了对象的拥有者和对象的真实名称,也简化了SQL语句。

如果同义词名称重名,识别顺序怎样呢,如果存在对象名,则优先识别,起床识别私有同义词,最后识别公有同义词。

同义词的创建和使用
create [public] synonym 同义词名
for [模式名.]对象名[@数据库链名];

其中:public代表公有同义词,若省略则创建私有同义词。模式名代表拥有对象的模式账号名,不加就代表当前用户。

删除同义词的语法
drop synonym 同义词名;

删除同义词的认必须是同义词的拥有者或有drop any synonym权限的人,删除同义词不会删除对应的对象。

同义词的查看

通过查询数据字典USER_OBJECTS和USER_SYNONYMS,可以查看同义词信息。

系统定义的同义词对象
同义词对象名称作用
DICT DICTIONARY 数据字典
cat user_catalog 用户拥有的表,视图,同义词和序列
clu user_clusters 用户拥有的聚簇
ind user_indexes 用户拥有的索引
obj user_objects 用户拥有的对象
seq user_sequences 用户拥有的序列
syn user_synonym 用户拥有的同义词
cols user_tab_columns 用户拥有的表,视图和聚簇的列
tabs user_tables 用户拥有的表