-
Oracle - SYNONYM데이터베이스/Oracle 2020. 11. 28. 16:45728x90반응형
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