您的位置:首页 > 数据库 > Oracle

【DB.Oracle】同义词——SYNONYM

2014-09-22 18:06 435 查看
Oracle中同义词是任何表、视图、物化视图、序列、存储过程、函数、包、类型、JAVA类对象、用户定义类型,或是其他的同义词的别名。由于其只是一个别名,所以除了在数据字典中的定义外不占任何空间

同义词常用于安全和方便。例如,它们可以做:

伪装对象名称和其所有者。
为分布式数据库远程对象提供位置透明性
简化数据库用户访问对象所使用的SQL语句

同义词的优势体现在如果其底层的对象重命名或者转移,那么只需要重定义该同义词。基于该同义词的应用则无需任何修改。

你可以创建public和private同义词。public同义词属于PUBLIC组,每个用户都可以访问。private同义词属于对象所有者,只有其显式授权后其他用户才可访问。

CREATE SYNONYM创建同义词



创建同义词需要有相应的系统权限:

To create a private synonym in your own schema, you must have the CREATE SYNONYM
system privilege.
To create a private synonym in another user's schema, you must have the
CREATE ANY SYNONYM system privilege.
To create a PUBLIC synonym, you must have the
CREATE PUBLIC SYNONYM system privilege.

DROP SYNONYM删除同义词



删除同义词需要相应的系统权限:

To drop a private synonym, either the synonym must be in your own schema or you must have the
DROP ANY SYNONYM system privilege.
To drop a PUBLIC synonym, you must have the
DROP PUBLIC SYNONYM system privilege.

同义词的操作权限

用户对同义词的操作权限取决于对底层对象有哪些操作权限。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: