[Database/Oracle] 데이터베이스 동의어

2022. 6. 27. 16:41
반응형

앞에서 데이터베이스 링크와 스키마를 이용하여 DB 객체 참조하는 것을 다루었었다.

그런데 다음을 보자

 

select * from "BOB"."ALICE.TEST_TABLE"@"OTHER_DATABASE"

다음 쿼리는 다른 데이터베이스에서 BOB 스키마 이름에 있는 ALICE 스키마 이름로 접근하여 테이블을 조회한다.

무언가.. 길어 보인다.

 

이를 위해서 데이터베이스 동의어라는 기능을 만들어 두었다.

 

  • 동의어(Synonym) : 여러 소유자나 링크 등으로 인해 객체를 참조할 때 번거로울 경우 긴 이름 대신 간단한 이름으로 대체할 수 있도록 하는 기능.
  CREATE OR REPLACE SYNONYM "MY_SCHEMA"."MY_TABLE" FOR "BOB"."ALICE.TEST_TABLE"@"OTHER_DATABASE";

다른 데이터베이스의 다른 스키마 이름의 소유의 객체를 자신의 소유의 객체 이름으로 재정의하여 간편하게 접근 가능하도록 Synonym(동의어)를 만든다.

 

이러면 위의 쿼리가 이렇게 바뀐다.

select * from "MY_TABLE"

매우 사용하기 간편해졌다.

반응형

BELATED ARTICLES

more