[ORACLE]Oracle 同义词(synonym)

同义词(synonym):

也是数据库中的常见对象,可以看作是为表、视图、物化视图、序列、过程、函数、包、类型(type)、Java 类对象(Java class schema object)、用户定义对象类型 (user-defined object type)或是另一个同义词所创建的别名。
        使用同义词是出于方便或安全上的考虑。例如,可以使用同义词进行以下工作:

  •         隐藏一个数据库对象的名字和拥有者(owner)
  •         隐藏分布式环境(distributed database)中远程对象(remote object)的位置
  •         简化数据库用户的 SQL 语句
  •         和视图类似能够限制访问,用于实现更精细的访问控制(fine-grained access control)

    用户可以创建公共(public)或私有(private)的同义词。公共同义词由特殊的用户组 PUBLIC所拥有,数据库中的每个用户都能够访问。而私有同义词属于某个用户,此用户能够控制哪些
    用户可以使用这些私有同义词。

    CREATE PUBLIC SYNONYM sales FOR eygle.sales_data;

    如果要查看数据库中有哪些同义词,可用过以下视图查询:
        ALL_SYNONYMS:描述当前用户可访问的全部同义词
        DBA_SYNONYMS:描述数据库中的全部同义词
        USER_SYNONYMS:描述当前用户拥有的全部同义词

原文地址:https://www.cnblogs.com/tingxin/p/12860065.html