독도 광고 모금 캠페인

지식경제부 공고 제2008- 169호
 
2009년도 산업원천기술개발사업 연구기획
기술수요조사 공고
 

산업기술개발사업 운영요령 제13조의 규정에 따라 산업원천기술개발사업의 2009년도 기술개발 신규과제를 도출하기 위한 연구기획 수요조사를 다음과 같이 공고합니다.

2008년 7월 16일 지식경제부 장관
 
Posted by 하쿠아키


시노님은 오라클 객체(테이블, 뷰, 시퀀스, 프로시저)에 대한 대체이름(Alias)를 말합니다.
 
Synonym은 실질적으로 그 자체가 Object가 아니라 Object에 대한 직접적인 참조 입니다.
 
시노님을 사용하는 이유는..
 
데이터베이스의 투명성을 제공하기 위해서 사용 한다고 생각하면 됩니다.
    시노님은 다른 유저의 객체를 참조할 때 많이 사용을 합니다.
 
② 만약에 실무에서 다른 유저의 객체를 참조할 경우가 있을 때 시노님을 생성해서 사용을 하면은
    추후에 참조하고 있는 오프젝트가 이름을 바꾸거나 이동할 경우 객체를 사용하는 SQL문을 모두
    다시 고치는 것이 아니라 시노님만 다시 정의하면 되기 때문에 매우 편리 합니다.
 
객체의 긴 이름을 사용하기 편한 짧은 이름으로 해서  SQL코딩을 단순화 시킬 수 있습니다.
 
또한 객체를 참조하는 사용자의 오브젝트를 감추 수 있기 때문에 이에 대한 보안을 유지할 수
    있습니다
.  
   시노님을 사용하는 유저는 참조하고 있는 객체를에 대한 사용자의 object의 소유자, 이름,
   서버이름을  모르고 시노님 이름만 알아도 사용 할 수 있습니다.


Synonyms을 사용하는 경우

 - 오브젝트의 실제 이름과 소유자 그리고 위치를 감춤으로써 database 보안을 개선하는데 사용
   됩니다.
 - Object에의 Public Access를 제공 합니다.
 - Remote Database의 Table, View, Program Unit를 위해 투명성을 제공 합니다.
 - Database 사용자를 위해 SQL 문을 단순화 할 수 있습니다.


시노님에는 두가지 종류가 있습니다.  

Private Synonym  
   - 전용 시노님은 특정 사용자만  이용할 수 있습니다.
 
Public Synonym
  - 공용 시노님은 공용 사용자 그룹이 소유하며 그 Database에 있는 모든 사용자가 공유합니다.


 시노님 생성 문법(Syntax)




 - PUBLIC : 모든 사용자가 접근 가능한 시노님을 생성 합니다.
                PUBLIC  시노님의 생성 및 삭제는 DBA만이 할 수 있습니다.

 ※ scott USER의 emp테이블을 test USER가 사용 하는 예제

 1. 먼저 scott/tiger USER로 접속해서 test USER에게 emp테이블을 조작할 권한을 부여합니다.
 
 SQL>GRANT ALL ON  emp TO  test;
         권한이 부여되었습니다.

         test user에 대하여 scott의 emp테이블을 조작할 수 있는 권한을 부여합니다.
         권한이 있어야 select하거나 update, insert할수 있습니다.


 2. test USER로 접속해 동의어를 생성합니다.

 SQL> connect test/test

 SQL> CREATE SYNONYM  scott_emp FOR  scott.emp ;
         시노님이 생성되었습니다.

          scott USER가 소유하고 있는 emp 테이블에 대해 scott_emp라는 일반시노님을 생성
        
했습니다.
          scott 사용자의 emp테이블을 test 사용자가 scott_emp라는 동의어로 사용 합니다. 

  -- 시노님을 이용한 쿼리
 SQL> SELECT empno,  ename FROM  scott_emp;

 -- 일반 테이블을 쿼리
 SQL> SELECT empno,  ename FROM  scott.emp;
          이 두 쿼리의 결과는 같습니다.

  EMPNO   ENAME
--------   ---------
    7369      SMITH
    7499     ALLEN
    7521     WARD
    7566     JONES
    7654     MARTIN
    7698     BLAKE
 
15 개의 행이 선택되었습니다.


 동의어 삭제

 SQL> DROP SYNONYM  scott_emp;
         시노님이 삭제되었습니다.

 SQL> SELECT empno, ename FROM  scott_emp;
         라인 1 에 오류:
         ORA-00942: 테이블 또는 뷰가 존재하지 않습니다.



※ 자료출처     
================================================
  * 오라클 정보공유 커뮤니티 oracleclub.com 
  * http://www.oracleclub.com
  * http://www.oramaster.net
  * 강좌 작성자 : 김정식 (oramaster _at_ naver.com)
================================================

Posted by 하쿠아키
12345 ... 21

제가 배운 지식과 여러 생각을 기록하는 공간입니다. 이곳이 저 뿐만이 아니라 여러분에게도 조금이나마 도움이 되길 바랍니다.
하쿠아키

달력

  • TODAY : 0
  • TOTAL : 3,178