什么是同义词
同义词实质上是指定方案对象的一个别名。通过屏蔽对象的名称和所有者以及对分布式数据库的远程对象提供位置透明性,同义词可以提供一定程度的安全 性。同时,同义词的易用性较好,降低了数据库用户的 SQL 语句复杂度。 同义词允许基对象重命名或者移动,这时,只需对同义词进行重定义,基于同义 词的应用程序可以继续运行而无需修改。
你可以创建公共同义词和私有同义词。其中,公共同义词属于 PUBLIC 特殊用户组,数据库的所有用户都能访问;而私有同义词包含在特定用户的方案中, 只允许特定用户或者有基对象访问权限的用户进行访问。同义词本身不涉及安全,当你赋予一个同义词对象权限时,你实质上是在给同义词的基对象赋予权限,同义词只是基对象的一个别名。
创建与使用同义词
创建同义词的具体语法是:
create [public] SYNONYM synooym for object;
其中 synonym 表示要创建的同义词的名称,object 表示表,视图,序列等我们要创建同义词的对象的名称。
案例
1.私有同义词
需求:为表 T_OWNERS 创建( 私有 )同义词 名称为 OWNERS
create synonym OWNERS for T_OWNERS;
使用同义词:
select * from OWENRS;
同义词区分大小写
2.公有同义词
需求:为表 T_OWNERS 创建( 公有 )同义词 名称为 OWNERS2:
create public synonym OWNERS2 for T_OWNERS
以另外的用户登陆,也可以使用公有同义词:
select * from OWNERS2 ;