일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 백준 10950번 c
- 오라클
- 티스토리 초대장 이벤트
- 백준10950번 c++
- 백준 10951번
- 백준 1000번
- 백준 1000번 java
- 이클립스 알고리즘 환경
- 자바스크립트
- 백준 10950번 java
- 이클립스 알고리즘 세팅
- Eclipse Althrithm
- 백준 10950번
- RETURN ROW IF NO DATA FOUND
- 펭수 달력
- JavaScript
- 백준 알고리즘
- 포항 지진
- oracle
- 티스토리 초대장
- 백준 1000번 c
- 펭수 2020 달력
- 백준 10951번 c
- 2020 펭수 달력
- 백준 1000번 c++
- 백준 10951번 c++
- 배열 복사
- nodejs
- 지진
- 백준 10951번 java
- Today
- Total
스노우보드 참 좋아하는데 맨날 키보드 앞에만 있네
ORACLE Synonym 본문
Synonym
목적
Synonyms 오라클 데이터베이스 객체인 테이블, 뷰, 시퀀스, 프로시저 등을 참조하는 Alias이다.
(객체 자체가 아닌 참조만하는 것에 유의한다.)
기본적으로 데이터베이스에서 개체를 찾으면 자신의 스키마에서 개체를 검색한다. 따라서 타 사용자의 스키마에서 객체를 조회하려고 하면 오라클이 오류를 반환한다.
장점 및 사용이유
1. Synonyms은 객체의 참조를 보다 쉽게 만든다.
다른 스키마의 객체를 참조할 때, Synonym을 사용하여야만 해당 테이블을 참조할 수 있다. 이는 데이터베이스의 위치 투명성을 제공한다.
2. 유지보수에 편리성을 제공한다.
실무에서 객체의 이름을 바꾸거나 이동할 경우, Synonym을 사용하면, 해당 객체를 사용하는 SQL문을 모두 고치지 않고, Synonym만 재정의하면 되므로 편리하다. SQL 하드코딩을 지양함에 따른 장점인 것이다.
3. 객체의 이름이 길 경우 사용하기 편한 짧은 대체이름으로 사용하여 SQL문을 단순화 시킬 수 있다.
4. 객체를 참조하는 사용자의 오브젝트 세부사항을 감출 수 있어 보안을 유지할 수 있다.
Synonym을 사용하는 유저들은 Synonym이 참조하는 객체에 대한 소유자, 이름, 서버이름을 몰라도 Synonym 명칭만 알면 사용가능하다.
종류
1. Private Synonyms : Synonym을 생성하는 데이터베이스 사용자는 소유자로써 액세스 할 수 있는 유일한 사용자가 된다.
2. Public Synonyms : 공용 사용자 그룹이 소유하며, 모든 데이터베이스 사용자가 액세스할 수 있다. Public Synonym을 생성한 개인 사용자가 소유권한을 갖는 것이 아니며, Public 사용자 그룹에 소유가 된다.
기본문법
private synonym 생성과 삭제
1 2 |
sql> CREATE SYNONYM synonym_name FOR object_name;
sql> DROP SYNONYM synonym_name; |
|
public synonym 생성과 삭제
1
2 |
sql> CREATE PUBLIC SYNONYM synonym_name FOR object_name;
sql> DROP SYNONYM synonym_name; |
|
우선순위
같은 이름의 로컬 데이터베이스 객체가 있는 경우 우선순위는 다음과 같다.
1. local object
2. private synonym
3. public synonym
예제
-- 1. 먼저 scott/tiger USER로 접속해서 test USER에게 emp 테이블을 조작할 권한을 부여한다.
-- 2. test USER로 접속해 SYNONYM을 생성한다. -- scott USER가 소유하고 있는 emp 테이블에 대해 scott_emp라는 일반 SYNONYM을 생성했다.
-- 3. SYNONYM을 이용한 쿼리 -- 일반 테이블 쿼리
EMPNO ENAME
-- 4. SYNONYM 삭제 -- SYNONYM을 이용한 조회
|
'개발 > Oracle SQL' 카테고리의 다른 글
[ORACLE] 조회된 ROW가 없을 때, RETURN 하는 방법 (0) | 2019.12.18 |
---|---|
[ORACLE] 다중 ROW를 그룹화하여 하나의 컬럼으로 조회하기 (LISTAGG WITHIN GROUP 함수) (0) | 2019.12.17 |
ORACLE XE에서 8080 포트번호 변경방법, 톰캣 충돌 시 해결방법 (1) | 2018.06.19 |
데이터베이스 정규화 (0) | 2018.06.01 |
Mac OS에서 인코딩 UTF-8 설정하기 (한글 깨질 때 해결방법) (0) | 2017.12.04 |