SYNONYM
- SYNONYM은 오라클에서 제공하는 객체로 데이터베이스 객체에 별칭을 생성한다.
- SYNONYM을 사용하면 다른 사용자가 제공하는 객체를 참조할 때 간단하게 사용할 수 있다.
SYNONYM 생성
- SYNONYM은 CREATE 구문을 사용해서 생성한다.
1) 비공개 SYNONYM
- 객체에 대한 접근 권한을 부여받은 사용자가 정의한 동의어로 해당 사용자만 사용이 가능하다.
-- 사용자 계정에서 실행한다.
CREATE SYNONYM EMP FOR EMPLOYEE;
-- KH 계정으로 접속
CREATE SYNONYM EMP FOR EMPLOYEE;
-- 권한이 없어서 오류
-- 관리자 계정으로 KH 계정에 SYNONYM 생성 권한을 준다.
GRANT CREATE SYNONYM TO KH;
-- 다시 KH 계정으로 돌아오기
-- 비공개 SYNONYM 생성
CREATE SYNONYM EMP FOR EMPLOYEE;
SELECT * FROM EMPLOYEE;
SELECT * FROM EMP;
2) 공개 SYNONYM
- 관리자 권한을 가진 사용자(DBA)가 정의한 동의어로 모든 사용자가 사용이 가능하다. (ex. DUAL)
-- 관리자 계정에서 실행한다.
CREATE PUBLIC SYNONYM DEPT FOR KH.DEPARTMENT;
-- 관리자 계정으로 접속
CREATE PUBLIC SYNONYM DEPT FOR KH.DEPARTMENT;
SELECT * FROM KH.DEPARTMENT;
SELECT * FROM DEPT;
-- 현재는 다른 계정으로는 접근이 불가능하다.
-- PUBLIC이지만 객체에 대한 권한이 있어야 접근이 가능하다.
-- 관리자 계정으로 접속해서 STUDY 계정에 권한주기
GRANT SELECT ON KH.DEPARTMENT TO STUDY;
SYNONYM 사용
- 테이블명 대신에 동의어를 통해서 테이블의 사용이 가능하다.
-- 동일한 결과를 수행한다.
SELECT * FROM EMPLOYEE;
SELECT * FROM EMP;
SELECT * FROM DEPARTMENT;
SELECT * FROM DEPT
SYNONYM 삭제
- SYNONYM 삭제 시 DROP 구문을 사용해서 삭제한다.
'DB > SQL' 카테고리의 다른 글
OBJECT - FUNCTION (0) | 2022.09.12 |
---|---|
OBJECT - PROCEDURE (0) | 2022.09.11 |
OBJECT - INDEX (0) | 2022.09.09 |
OBJECT - SEQUENCE (0) | 2022.09.08 |
OBJECT - VIEW (1) | 2022.09.07 |