ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Oracle - SYNONYM
    데이터베이스/Oracle 2020. 11. 28. 16:45
    728x90
    반응형

    SYNONYM

    SYNONYM이란 사용자가 다른 사용자의 객체를 참조할 때

    [사용자ID].[테이블명]으로 표시하는데 이처럼 길게 표현되는 것을

    동의어(SYNONYM)로 설정 후 간단히 사용 가능한 객체이다.

    동의어는 비공개 동의어, 공개 동의어가 있다.

     

     

    비공개 동의어

    비공개 동의어란 객체에 대한 접근 권한을 부여 받은 사용자가 정의한 동의어해당 사용자만 사용이 가능하다.

     

    비공개 동의어 예시 ]

    CREATE SYNONYM EMP FOR EMPLOYEE; -- 권한 부여 전 에러 발생
    
    (SYSTEM 계정)
    GRANT CREATE SYNONYM TO EMPLOYEE; -- 권한 부여
    
    (EMPLOYEE 계정)
    CREATE SYNONYM EMP FOR EMPLOYEE; -- 생성 한다.

     

    조회하면 이러하다.

    SELECT * FROM EMPLOYEE;
    SELECT * FROM EMP;

     

     

    공개 동의어

    공개 동의어권한을 주는 사용자(DBA)정의한 동의어모든 사용자가 사용 가능(PUBLIC)

    예시로 DUAL이 있다.

     

    [ 공개 동의어 예시 ]

    (SYSTEM 계정)
    CREATE PUBLIC SYNONYM DEPT FOR kh.DEPARTMENT; -- PUBLIC이라 생성 가능

     

    어디서든 조회가 가능하다.

    (SYSTEM계정)
    SELECT * FROM kh.DEPARTMENT;
    SELECT * FROM DEPT;
    
    (EMPLOYEE계정)
    SELECT * FROM DEPARTMENT;
    SELECT * FROM DEPT;

     

     

     

     

    동의어 삭제

    삭제 방법은 이러하다.

     

    (SYSTEM 계정)
    DROP PUBLIC SYNONYM DEPT; -- SYSTEM 계정에서 삭제

     

    (EMPLOYEE계정)
    DROP SYNONYM EMP; -- EMPLOYEE 계정에서 삭제

    728x90
    반응형

    '데이터베이스 > Oracle' 카테고리의 다른 글

    Oracle - INDEX  (0) 2020.11.28
    Oracle - SEQUENCE  (0) 2020.11.28
    Oracle - View  (0) 2020.11.23
    Oracle - DDL (Data Definition Language) ALTER, DROP - Part 3  (0) 2020.11.22
    Oracle - DML(Data ManipulationLanguage) DELETE - Part 3  (0) 2020.11.20
Designed by Tistory.