위로 아래

SYNONYM

시노늄

  1. 동의어
  2. 다른 USER가 소유한 테이블이나 오브젝트를 사용할 때 간편하게 만들어주는 별명
  3. 데이터베이스 OBJECT들은 생성하는 자에게 소유되는데 다른 USER에 대한 접근을 명시적으로 하지 않은 경우 사용할 수 없게 됨
  4. 외부에서 ACCESS할 때 참조를 간단하게 해 주는 역할

 

 

종류

  1. Private SYNONYM : 개별 동의어. 특정 스키마에서 생성되고 단지 그것을 갖는 스키마에 의해 접근할 수 있다
  2. Public SYNONYM : 공용 동의어. PUBLIC SCHEMA에 의해 소유되며 모든 DB 스키마는 그것을 참조한다.

 

SYSTEM에서 권한 부여

GRANT CREATE SYNONYM to C##SCOTT;

 

개인 예시

--C##scott의 salgrade테이블의 시노늄으로 salpay를 생성하시오 (개인)
CREATE SYNONYM salpay FOR salgrade;

SELECT * FROM salgrade;
SELECT * FROM salpay;

--C##scott의 temp 테이블의 시노늄으로 insa를 생성하시오 (개인)
CREATE SYNONYM insa FOR temp;

SELECT * FROM temp;
SELECT * FROM insa;


--개인용 시노늄 삭제
DROP SYNONYM pdept;

 

공용 예시

--tdept테이블의 시노늄으로 pdept을 생성하시오(공용)
--공용은 개인스키마에서 만들 수 없고 매니저이상의 권한을 가진 스키마(사용자)에서 만들 수 있다.
--SYSTEM 접속후 사용해야 함
CREATE PUBLIC SYNONYM pdept
FOR C##scott.tdept;

--C##SCOTT에서 권한 부여
GRANT SELECT ON tdept
TO PUBLIC;

--HAKSA 사용자에서 pdept 조회하기
SELECT * FROM pdept;

--공용 시노늄 삭제
DROP PUBLIC SYNONYM plevel;

 

 


스키마

Schema

  1. 여기서 말하는 스키마는 USER와 같다.
  2. object의 소유자 또는 생성자를 의미
  3. scott으로 접속하여 emp1이라는 테이블을 만들었다면, emp1의 schema는 scott이다

 

Schema의 사전적 의미

  1. 데이터베이스에 저장된 모든 자료들의 모든 논리적 구조 및 관계를 일컫는 말.
  2. 데이터베이스의 논리적 구조와 내용을 DDL(데이터 정의 언어)로 기술한 것
  3. 종류
    1. 개념스키마 (Conceptual) : 데이터베이스의 구조를 추상적인 결과로 기술한 것
    2. 내부 스키마 (Intenal) : 컴퓨터의 견지에서 기술한 것
    3. 외부 스키마(External) : USER의 견지에서 기술한 것
    4. 서브 스키마(Sub) : 응용 프로그램의 견지에서 기술한 것 
    5. 외부 스키마 = 서브 스키마