다연이네

[days04] SQL synonym 본문

Oracle

[days04] SQL synonym

 다연  2020. 11. 3. 17:34
반응형

DUAL

DUAL이라는 테이블은 SYS 사용자가 소유하는 오라클의 표준 테이블로서 (오라클 설치시 자동생성), 오직 한 행(row)에 한 컬럼만 담고 있는 dummy 테이블로 일시적인 산술연산이나 날짜 연산을 위하여 주로 쓰인다.

sys껀데 왜 다른 테이블에서도 사용 가능하지 ?

  sys사용자가 모든 계정에게 사용할 수 있도록 이 테이블에 PUBLIC synonym을 주었기 때문이다.

synonym이 뭐야 ?

  데이터베이스 전체에서 사용할 수 있는 객체이다.
  종류는 2가지이다. ( private(소유자만 사용) , public(전체 사용자 사용) ) 
  public은 오직 dba만 생성/삭제 가능 

 

예)

scott은 emp테이블의 소유자이다.

scott에서 아래 코딩이 가능하다. (원래 정석은 스키마명.객체명인데 스키마명은 생략 가능하다) 

<SCOTT>

아래 코딩도 가능하다. emp를 이용할 수 있는 권한을 HR에게 주고(grant) 뺏는다(revoke)는 의미이다.

<HR>

scott이 HR에게 권한을 부여했기 때문에 HR 내에 다음 코딩이 가능하다.

<SYS>

sys계정으로 가서 첫번째 사진처럼 코딩을 한 후 HR에 가서 두번째 사진 코딩을 하면, scott.emp할 필요 없이 시노님 이름으로 사용이 가능하다.

SYS코딩
HR 코딩

 

 

 

반응형
Comments