본문 바로가기
정보관리(데이터베이스, DB)/오라클

오라클 SQL 동의어(SYNONYM, 시노님)

by 3604 2023. 12. 7.
728x90

출처: https://m.blog.naver.com/regenesis90/222233196337

 

오라클 SQL에서 동의어(SYNONYM, 시노님)란, SQL에서 객체에 붙인 별명과 유사한 개념입니다.

- 테이블, 뷰 등 객체의 이름이 너무 길 경우

- 다른 소유자가 가진 객체를 참조하려는 경우

등, 주로 참조의 목적으로 데이터를 조회하고자 할 때 동의어를 생성하여 대신 사용하는 것이 하나의 방법이 될 수 있습니다.

1. CREATE SYNONYM의 사용

CREATE SYNONYM 는 동의어를 생성해 주는 명령어입니다.

(1) 기본식 : 객체A에 's'라는 (전용)동의어를 생성하기 (private synonym)

기본적으로 생성되는 것은 특정 사용자가 소유한 전용 동의어입니다.

create synonym 동의어이름s for 객체A;

(2) 기본식 : 동의어를 새로 생성하거나, 같은 이름의 동의어를 대체(갱신) 하는 경우

CREATE OR REPLACE SYNONYM 명령어를 사용하면, 같은 이름의 동의어가 있을 시 덮어쓰기 됩니다.

 
create or replace synonym 동의어이름s for 객체A;

(3) 기본식 : 객체A에 's'라는 공용 동의어(PUBLIC SYNONYM) 생성하기

공용 동의어를 사용할 경우, 'PUBLIC'을 붙여 줍니다. 공용 동의어는 모든 사용자가 사용할 수 있는 동의어입니다.

* 단, PUBLIC SYNONYM을 생성하려면 이에 걸맞는 권한이 GRANT 명령어로 부여된 상태여야 합니다.

create public synonym 동의어이름s for 객체A;

2. 예제 : CREATE SYNONYM의 사용

* 이하의 예제에서는 hr 연습계정에서 employees 테이블을 복사해 만든 employees_t 테이블을 사용합니다.

1) 예제 : employees_t 테이블의 동의어인 'et' 만들기

다음의 문장을 실행하면, employees_t 테이블을 나타내는 'et'라는 동의어를 생성합니다.

create or replace synonym et for employees_t;

'Synonym ET가 생성되었습니다' 라는 메시지가 나타난다면 동의어가 정상적으로 만들어진 것입니다.

좌측 '접속' 탭, hr 계정 접속 하위메뉴 중 '동의어' 하위에 'ET'가 추가되었습니다.

 

생성된 동의어 'ET'를 클릭하면, 중앙의 영역에 동의어 ET의 생성 정보가 나타납니다.

2) 예제 : 동의어 'et'로 테이블 조회하기

SELECT-FROM 구문으로 'et'의 전체 컬럼과 레코드를 조회하면, 마치 employees_t 테이블과 같이 전체 테이블의 모습이 나타납니다.

select * from et;

3) 예제 : 생성된 SYNONUM 목록 조회 방법

만들어진 동의어들은 좌측의 '접속' 탭 하위 메뉴(동의어, 공용 동의어)를 살펴볼 수도 있지만, SQL 데이터 레퍼런스(디렉토리)를 통하여 조회할 수도 있습니다.

다음은 사용자가 가진 동의어의 이름, 테이블 소유자, 테이블 이름을 조회하는 SQL 문장입니다.

select synonym_name, table_owner, table_name from user_synonyms;

* 참고하면 좋은 다른 페이지 :

DROP SYNONYM : 동의어(시노님) 삭제

https://blog.naver.com/regenesis90/222234538006

728x90