개인공부

동의어 본문

데이터베이스

동의어

풀스택개발 2018. 4. 26. 18:35


동의어 개념


 데이터베이스의 객체에 대한 소유권은 해당 객체를 생성한 사용자에게 있습니다. 따라서 다른 사용자가 객체에 접근하기 위해서는 소유자로부터 접근 권한을 부여받아야 합니다. 또한 다른 사용자가 소유한 객체에 접근하기 위해서는 소유자의 이름을 객체 앞에 지정해야 합니다.


 이렇게 객체를 조회할 때마다 일일이 객체의 소유자를 지정하는 것이 번거로울 경우 동의어를 정의하면 긴 이름대신 간단한 이름으로 접근할 수 있게 됩니다.









동의어 종류


 동의어는 개별 사용자를 대상으로 하는 비공개 동의어와 전체 사용자를 대상으로 한 공개 동의어가 있습니다.


비공개 동의어

 

객체에 대한 접근 권한을 부여받은 사용자가 정의한 동의어로 해당 사용자만 사용할 수 있다.


공개 동의어


 권한을 주는 사용자가 정의한 동의어로 누구나 사용할 수 있다. 공개 동의어는 DBA 권한을 가진 사용자만이 생성할 수 있다. SYNONYM 앞에 PUBLIC를 붙여서 정의한다





동의어 생성


CREATE [PUBLIC] SYNONYM synonym_name

FOR user_name.object_name;


synonym_nameuser_name.object_name에 대한 별칭입니다.

user_name은 객체를 소유한 오라클 사용자이고 object_name는 동의어를 만들려는 데이터베이스 객체 이름입니다.




CREATE SYNONYM 권한이 불충분할 경우에는 DBA 관리자에서 권한을 부여해야 합니다.


CONN system/1234

GRANT CREATE SYNONYM TO scott;

 



SCOTT 계정으로 접속하여 비공개 동의어를 생성합시다.


CONN scott/tiger

CREATE SYNONYM PriSYSTBL FOR system.SYSTBL;

SELECT * FROM PriSYSTBL;




공개 동의어 생성


CONN system/1234

CREATE PUBLIC SYNONYM PubDEPT FOR scott.DEPT;




'데이터베이스' 카테고리의 다른 글

PL / SQL - 2  (0) 2018.04.29
PL / SQL - 1  (0) 2018.04.27
롤 권한 제어  (0) 2018.04.26
사용자 관리 - 2  (0) 2018.04.26
사용자 관리 - 1  (0) 2018.04.25
Comments