Work/DataBase
[Oracle] Synonym 시노님이란?
bangu4
2022. 5. 4. 11:14
시노님이란?
- 시노님(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를 붙여서 삭제해야 합니다