본문 바로가기
Work/DataBase

[Oracle] Synonym 시노님이란?

 

시노님이란?

시노님(Synonym)은 Alias와 비슷하게 테이블에 별칭을 주는것이다.

- 단순히 테이블명에 별칭을 붙이는것이 아니라, 어떤 유저(스키마)의 테이블인지를 특정하여 지정한다.

- SYNONYM을 통해 유저의 이름과 객체의 이름을 감추어 데이터베이스의 보안을 개선하기위해 사용되어집니다.

 

접근제한자

시노님은  접근제한자(PUBLIC / PRIVATE)가 존재한다 

- PUBLIC  해당 테이블에 권한을 가지고 있는 모든 유저가 시노님을 사용할 수 있다.

- PRIVATE 시노님을 선언한 해당 유저만 시노님을 사용할 수 있다. 

 

시노님의 필요성

  • 오브젝트명을 짧게하여 SQL문을 단순화 시킬수 있다.
  • 스키마, 오브젝트명(테이블명 등)이 변경 되어도 시노님만 재생성하면 SQL문은 변경하지 않아도 된다.
  • 오브젝트를 외부에 제공할 경우 스키마, 오브젝트명을 숨길 수 있어서 보안에 도움이 된다.
  • 시노님은 Table뿐 아니라 View, Procedure, Function, Sequence 등의 오라클 오브젝트에도 사용 가능하다.
  • 다른 DB와의 링크 기술자까지도 시노님을 사용해 줄일 수 있다. 

 

시노님 CRUD문

조회

SELECT * FROM ALL_SYNONYMS

생성 / 변경

CREATE OR REPLACE [PUBLIC / PRIVATE] SYNONYM [사노님명]
FOR [스키마명.테이블명]

삭제

DROP SYNONYM employees;
DROP PUBLIC SYNONYM employees;

 

PUBLIC 시노님은 꼭 PUBLIC를 붙여서 삭제해야 합니다