zoukankan      html  css  js  c++  java
  • [Oracle]同义词(synonym)

    (一)同义词的概念

    同义词是数据库中表、视图、索引或其他模式对象的别名,与视图相似,同义词不占用实际的存储空间,在数据字典中只存同义词的定义。

    在开发数据库时,应尽量避免直接引用表、视图或其他数据库对象,否则,当表的结构发生了改变,就会影响应用程序的使用,这个时候需要重新编译程序,如果为数据库对象创建了同义词,就可以在程序中使用同义词,这样表的结构发生变化,也不会影响到应用程序。此外,运用同义词还可以隐藏数据库对象名称以及对象所有者的信息,还可以简化对数据库对象的访问。

    (二)同义词分类

    同义词分为私有同义词和公有同义词,私有同义词只能被创建他的用户拥有,该用户可以控制其他用户对其同义词的使用权。公有同义词被用户组PUBLIC所拥有,数据库所有用户都可以使用共有同义词。

    (三)同义词相关权限

    (1)系统权限:

    SYSTEM PRIVILEGE MARK
    CREATE SYNONYM 在当前Schema中创建私有同义词。同时可以修改、删除同义词
    CREATE PUBLIC SYNONYM 在当前 Schema中创建公有同义词
    CREATE ANY SYNONYM 在任意Schema中创建私有同义词
    DROP ANY SYNONYM 删除任意Schema中的私有同义词
    DROP PUBLIC SYNONYM 删除当前Schema中的公有同义词

    (2)对象权限

    无(不确定)

    (四)同义词的使用

    (1)创建同义词

    CREATE [OR REPLACE] [PUBLIC] SYNONYM synonym_name FOR [Schema.]object;

    (2)使用同义词

    用户可以使用自己Schema中的同义词,也可以使用PUBLIC同义词,还可以使用其他Schema中的同义词,但是用户还必须具有与同义词对应的数据库对象的操作权限。

    (3)删除同义词

    DROP [PUBLIC] SYNONYM synonym_name

    *用户可以删除自己Schema下的私有同义词,要删除公有同义词,需具有DROP PUBLIC SYNONYM权限,要删除其它Schema中的同义词,需要具有DROP ANY SYNONYM权限。

    (5)与同义词相关的数据字典

    VIEW MARK
    DBA_SYNONYMS 查看数据库全部同义词
    ALL_SYNONYMS 查看当前用户可以看到的全部同义词
    USER_SYNONYMS 查看当前用户拥有的同义词
  • 相关阅读:
    Windows程序设计6(内存、线程、进程)
    Windows程序设计5(MDI、库程序、文件)
    Windows程序设计4(文字、对话框、各控件)
    大数据开发学习之构建Hadoop集群-(0)
    杂谈
    Windows程序设计2(消息机制、菜单)
    QT 学习笔记概述(一)
    Linux/Windows 实用工具简记
    读书笔记《深度探索c++对象模型》(0)
    读书笔记《深入理解计算机系统》(第三版) 概述
  • 原文地址:https://www.cnblogs.com/lijiaman/p/6629227.html
Copyright © 2011-2022 走看看