위로
아래
SYNONYM
시노늄
- 동의어
- 다른 USER가 소유한 테이블이나 오브젝트를 사용할 때 간편하게 만들어주는 별명
- 데이터베이스 OBJECT들은 생성하는 자에게 소유되는데 다른 USER에 대한 접근을 명시적으로 하지 않은 경우 사용할 수 없게 됨
- 외부에서 ACCESS할 때 참조를 간단하게 해 주는 역할
종류
- Private SYNONYM : 개별 동의어. 특정 스키마에서 생성되고 단지 그것을 갖는 스키마에 의해 접근할 수 있다
- 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
- 여기서 말하는 스키마는 USER와 같다.
- object의 소유자 또는 생성자를 의미
- scott으로 접속하여 emp1이라는 테이블을 만들었다면, emp1의 schema는 scott이다
Schema의 사전적 의미
- 데이터베이스에 저장된 모든 자료들의 모든 논리적 구조 및 관계를 일컫는 말.
- 데이터베이스의 논리적 구조와 내용을 DDL(데이터 정의 언어)로 기술한 것
- 종류
- 개념스키마 (Conceptual) : 데이터베이스의 구조를 추상적인 결과로 기술한 것
- 내부 스키마 (Intenal) : 컴퓨터의 견지에서 기술한 것
- 외부 스키마(External) : USER의 견지에서 기술한 것
- 서브 스키마(Sub) : 응용 프로그램의 견지에서 기술한 것
- 외부 스키마 = 서브 스키마