[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"
매우 사용하기 간편해졌다.
반응형
'Database > 데이터베이스' 카테고리의 다른 글
[Database] 낙관적 락과 비관적 락 (0) | 2023.05.10 |
---|---|
[Database] 트랜잭션(Transaction), ACID 및 Isolation Level (0) | 2023.02.25 |
[Database] 데이터베이스 정규화 (0) | 2023.02.04 |
[Database/Oracle] 스키마 이름과 데이터베이스 링크 (0) | 2022.06.27 |