WEB/DB / / 2021. 11. 2. 00:15

[ORACLE] 오라클 SQL 시노님(synonym)

시노님 이란?

시노님은 영어로 동의어라는 뜻을 가진다.

시노님은 하나의 객체에 대해 다른 이름을 정의하는 방법이다.

 

예를 들어, scott 소유의 scott.emp 테이블에 대해 arirnag이라는 동의어를 정의할 경우, 질의어에서 scott.emp라는 긴 이름 대신에 arirang라는 간단한 이름으로 scott.emp 테이블을 조회할 수 있다.
동의어는 SQL 문에서 사용하는 테이블이나 컬럼의 별명과 유사한 개념이다. 하지만 별명은 해당 SQL 문 내에서만 사용할 수 있지만, 시노님은 데이터베이스 전체에서 사용할 수 있는 객체이다.


시노님의 종류

private 시노님(개인 시노님)는 특정 스키마에서 생성되고 단지 그것을 갖는 스키마에 의해 접근할 수 있다.
public 시노님(공용 시노님)는 PUBLIC schema에 의해 소유되며 데이터베이스 내의 모든 스키마는 그것을 참조한다.


시노님의 생성

create 문을 사용하여 만든다.

 

[ 형식 ]

CREATE [PUBLIC] SYNONYM [schema.]synonym명 FOR [schema.]object명;

• 디폴트는 private 시노님이다.
• PUBLIC 시노님은 모든 사용자가 접근 가능한 시노님을 생성한다.
• PUBLIC 시노님은 모든 사용자가 접근 가능하기 때문에 생성 및 삭제는 오직 DBA만이 할 수 있다.

 

[ 시노님 생성 순서 ]

1) SYSTEM 권한으로 접속한다.
2) PUBLIC 옵션을 사용하여 시노님을 생성한다.
3) 생성된 시노님에 대해 객체 소유자로 접속한다.
4) 시노님에 권한을 부여한다.


시노님의 삭제

• private 시노님은 생성자 스스로 삭제할 수 있다.
• public 시노님은 DBA만이 삭제할 수 있다.(public 시노님 생성과 삭제는 DBA만 가능)

 

[ 형식 ]

DROP [PUBLIC] SYNONYM synonym명;

시노님 조회

all_synonyms 모든 시노님 정보
user_synonyms 사용자가 만든 시노님 정보

예)

select * from user_synonyms;

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유