데이터베이스 객체의 이름에 대한 동의어를 지어주는 것을 뜻한다.
테이블의 alias와 비슷하지만, synonym은 임시적인 별명이 아닌, 영속적인 별명을 부여한다.
예를 들어, user2이 user1이 생성한 employee 테이블에 접근할 때는 다음과 같이 유저명과 테이블명을 사용해야 한다.
select *
from user1.employee;
여기서 synonym을 사용한다면, 테이블명으로만 접근이 가능하다.
CREATE [PUBLIC] SYNONYM 시노님 이름
FOR 객체이름
예시로 synonym을 만들어보자.
CREATE PUBLIC SYNONYM EMPLOYEE FROM USER1.EMPLOYEE;
이렇게 시노님을 생성해주면, user2는 employee로 테이블 접근이 가능하다.
SELECT * FROM ALL_SYNONYMS;
DELETE SYNONYM EMPLOYEE;