반응형
이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 |
시노님(SYNONYM)
개념
우리말 그대로 해석해 동의어라고도 칭한다. 주로 테이블 이름이 너무 길어 사용이 불편할 때 좀 더 간단하고 짧은 이름을 하나 더 만들어 주기 위해 사용하는 객체.
테이블, 뷰, 시퀀스 등 객체 이름 대신 사용할 수 있는 다른 이름을 부여함.
문법 및 사용 예시
시노님 생성
CREATE [PUBLIC] SYNONYM [동의어명] FOR [사용자.][객체명];
PUBLIC : 동의어를 데이터베이스 내 모든 사용자가 사용할 수 있도록 설정. 생략할 경우 동의어를 생성한 사용자만 사용 가능. 단, PUBLIC으로 생성되어도 본래 객체의 사용 권한이 있어야 사용 가능함(선택)
동의어명 : 생성할 동의어 이름(필수)
사용자. : 생성할 동의어의 본래 객체 소유 사용자를 지정. 생략할 경우 현재 접속한 사용자로 지정(선택)
객체명 : 동의어를 생성할 대상 객체 이름(필수)
생성에 앞서 시노님의 생성에는 별도 권한 부여가 필요하다. 따라서 시도를 할 경우 아래와 같은 오류 메시지를 보게 될 수도 있다.
사용 중인 계정에 아래와 같은 명령어를 입력해 주자. (GRANT, REVOKE 관련 포스트 → 링크)
GRANT CREATE SYNONYM TO [계정명];
GRANT CREATE PUBLIC SYNONYM TO [계정명];
권한을 설정했으면 아래 쿼리를 실행해 보자.
-- DEPT 테이블의 시노님 생성
CREATE SYNONYM S_D FOR DEPT;
-- 시노님을 통한 DEPT 테이블 조회
SELECT * FROM S_D;
시노님 삭제
DROP SYNONYM [동의어명];
DROP SYNONYM S_D;
SELECT * FROM S_D;
시노님은 제거되었지만, 본래 테이블에는 영향을 주지 않는다.
SELECT * FROM DEPT;
반응형
'개발 지식 > [DBMS] Oracle' 카테고리의 다른 글
[Oracle] 제약 조건(1) - 제약 조건(CONSTRAINT) 제어, NOT NULL (0) | 2022.06.23 |
---|---|
[Oracle] DDL(8) - 시퀀스(SEQUENCE) (0) | 2022.06.22 |
[Oracle] DDL(6) - 뷰(VIEW) (0) | 2022.06.20 |
[Oracle] DDL(5) - 인덱스(INDEX) (0) | 2022.06.19 |
[Oracle] DDL(4) - 테이블명 변경(RENAME) / 테이블 데이터 삭제(TRUNCATE) / 테이블 삭제(DROP) (0) | 2022.06.17 |