빅데이터/SQL
동의어 SYNONYM
예캉
2018. 1. 4. 10:02
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | -- 대표적인 동의어 SELECT FROM all_objects; DESC user_objects; -- data dictionary view 내가 가진 객체를 보여주는 뷰 -- all 은 내가 가지진 않았지만 볼 수 있는 객체를 보여주는 뷰 -- dba는 없다고 뜬다. 왜냐하면 dba를 볼 수 있는건 dba나 sys정도 되야하기 때문이다. -- 참고 레퍼런스 : https://docs.oracle.com/cloud/latest/db112/REFRN/statviews_1158.htm#REFRN20146 SELECT * FROM user_objects; DESC user_tables; -- 주로 복수형이다. --USER_TABLES describes the relational tables owned by the current user. This view does not display the OWNER column. SELECT * FROM user_tables; -- 사실 얘 자체(user_tables)도 동의어다. SELECT * FROM tabs; -- user_tables의 synonym SELECT owner, object_name,object_type FROM all_objects WHERE object_name = 'DUAL'; -- 우리가 쓰는 실체는 owner sys의 테이블인데 -- synonym이 없었다면 sys.dual을 사용했어야 했음. -> public dual을 쓰고 있다!! | cs |
* 동의어 : 객체에 다른 이름을 부여한다. 다른 이름으로 테이블을 호출할 수 있는 데이터베이스
- 다른 유저가 소유한 테이블을 쉽게 참조할 수 있다 ( sys.dual -> dual)
- 내가 소유한 긴 객체 이름을 짧게 만들 수 있다.
- [PUBLIC] 유무로 다른계정에서도 SYNONYM 쓸 수 있는지 결정할 수 있다. default는 private이다.