...더보기
TIPS
동의어에 대해 시작하기 전에 동의어는 권한을 받아서 사용할 때 객체 소유자 표시함에 있어 번거로움을 해소하기 위해 사용된다고 합니다. 주로 분업을 하는 실무에서 굉장히 유용하다고 합니다.
# 동의어
- 동의어란? 하나의 객체에 대해 다른 이름을 정의하는 방법
- 동의어의 필요성: 데이터베이스 객체의 소유권은 해당 객체를 생성한 사용자에게 있어, 다른 사용자에게 접근 권한을 부여 받아 사용가능하다. 하지만, 객체를 조회할 때마다 객체의 소유자를 일일이 지정해줘야되어 매우 번거롭다. ex) SELECT * FROM scott.student. 따라서 번거로움을 최소화하기 위해 동의어를 사용한다.
- 결론 --> 번거로움 해소
- 동의어와 별명(Alias) 차이: 동의어는 데이터베이스 전체에서 사용가능, 별명은 해당 SQL 명령문에서만 사용가능
- 동의어의 종류 : 전용 동의어(priavte synonym) VS 공용 동의어(public synonym)
# 동의어 SQL 예제
SQL> connect system/oracle;
SQL> grant select on project to scott;
SQL> conncet scott/tiger
SQL> select * from project; (X --> 오류. table 없음으로 나옴)
SQL> select * from system.project;
[전용 동의어]
SQL> create synonym my_project for system.project; -- 전용 동의어 생성. 계정안에서만 사용가능
[공용 동의어]
SQL> create public sysnonym pub_project for project; -- 공용 동의어를 생성하면 어디에서나 쓸수 있음.
SQL> select * from pub_project;
[ 참고 ] 오라클 중심의 SQL 배움터
'청년취업아카데미 > DayLog' 카테고리의 다른 글
[ JSP ] Day 10 - ① 조건에 따른 페이지 이동 (0) | 2019.07.23 |
---|---|
[ Database ] Day 07 - ② 계층적 질의문 (0) | 2019.07.17 |
[ Database ] Day 06. Deadlock and Log (0) | 2019.07.16 |
Day 05 - ② SQL (0) | 2019.07.15 |
[ Database ] Day 05 - ① Database Basic (0) | 2019.07.15 |