동의어(데이터베이스)

Synonym (database)

데이터베이스에서 동의어테이블, 보기, 시퀀스 또는 기타 스키마 오브젝트의 별칭 또는 대체 이름입니다.주로 사용자가 다른 사용자가 소유한 데이터베이스 개체에 쉽게 액세스할 수 있도록 하기 위해 사용됩니다.기본 개체의 ID를 숨기고 악의적인 프로그램 또는 사용자가 기본 개체를 대상으로 지정하기 어렵게 만듭니다.동의어는 개체의 대체 이름일 뿐이므로 정의 외에 저장소가 필요하지 않습니다.응용 프로그램이 동의어를 사용하는 경우 DBMS는 동의어의 기본 개체로 요청을 전달합니다.데이터베이스 객체 이름 대신 동의어를 사용하도록 프로그램을 코딩하면 이름, 소유권 또는 객체 위치의 변경으로부터 자신을 보호할 수 있습니다.이름이 긴 데이터베이스 개체를 자주 참조하는 경우 이름을 변경하거나 참조 코드를 변경할 필요 없이 짧은 이름으로 참조할 수 있습니다.

동의어는 스키마 내에 없는 오브젝트에 사용자가 접근할 수 있도록 하는 관점에서 매우 강력합니다.모든 동의어는 CREATE CYSONON 명령을 사용하여 명시적으로 생성해야 하며 기본 개체는 동일한 데이터베이스 또는 데이터베이스[clarify] 링크로 연결된 다른 데이터베이스에 배치할 수 있습니다.

동의어에는 주로 두 가지 용도가 있습니다.

  • 개체 표시 안 함:유사어를 생성하여 원래 개체를 사용자에게 숨길 수 있습니다.
  • 위치 표시 안 함:동의어는 로컬 데이터베이스의 일부가 아닌 테이블 및 기타 객체의 별칭으로 작성할 수 있습니다.

테이블 또는 프로시저가 생성되면 테이블 또는 프로시저는 특정 스키마에서 생성되며 다른 사용자는 해당 스키마의 이름을 개체 이름의 접두사로 사용해야만 액세스할 수 있습니다.스키마 소유자가 테이블 이름과 동일한 이름을 가진 동의어를 작성하는 방법은 다음과 같습니다.

공용 동의어

공용 동의어는 Oracle 데이터베이스의 PUBLIC이라는 특수 스키마에 의해 소유됩니다.앞에서 설명한 바와 같이 공용 동의어는 데이터베이스 내의 모든 사용자가 참조할 수 있습니다.공용 동의어는 일반적으로 애플리케이션 소유자가 테이블 및 프로시저나 패키지 등의 기타 오브젝트에 대해 작성하므로 애플리케이션 사용자가 오브젝트를 볼 수 있습니다.

다음 코드는 직원 테이블의 공용 동의어를 작성하는 방법을 보여 줍니다.

만들다 일반의 동의어 직원들. 위해서 시간.직원들.; 

이제 원래 테이블 이름만 입력하면 모든 사용자가 테이블을 볼 수 있습니다.원하는 경우 CREATE SYSONE 문에 해당 테이블에 다른 테이블 이름을 지정할 수 있습니다.DBA는 퍼블릭 동의어를 작성해야 합니다.퍼블릭(또는 프라이빗) 동의어를 통해 테이블을 볼 수 있다고 해서 테이블에서 SELECT, INSERT, UPDATE 또는 DELETE 작업을 수행할 수 있는 것은 아닙니다.이러한 작업을 수행하려면 사용자가 직접 또는 애플리케이션 소유자의 역할을 통해 기본 개체에 대한 특정 권한이 필요합니다.

개인 동의어

개인 동의어는 개발자가 일반적으로 응용 프로그램 스키마에서 테이블의 실제 이름을 마스킹하거나 저장 프로시저 또는 기타 데이터베이스 개체를 보기 위해 사용하는 데이터베이스 스키마 내의 동의어입니다.

공용 동의어와 달리 개인 동의어는 테이블 또는 개체를 소유하는 스키마에서만 참조할 수 있습니다.같은 테이블을 다른 컨텍스트에서 참조할 경우 개인 동의어를 작성할 수 있습니다.개인 동의어는 공용 동의어 정의를 재정의합니다.Public Synonym을 작성하는 것과 같은 방법으로 PUBLIC 키워드를 작성합니다만, CREATE 문에서는 PUBLIC 키워드를 생략합니다.

다음으로 로케이션테이블 주소라는 이름의 개인 동의어를 작성하는 예를 나타냅니다.개인 동의어를 작성하면 원래 테이블 이름과 동일하게 동의어를 참조할 수 있습니다.

만들다 동의어 어드레스 위해서 시간.장소; 

동의어를 삭제하다

private와 public 모두 DROP SYSONO 명령을 사용하여 동일한 방법으로 유사어를 폐기하지만 중요한 차이가1개 있습니다퍼블릭 동의어를 드롭하는 경우 키워드 DROP 뒤에 PUBLIC 키워드를 추가해야 합니다.

떨어지다 동의어 어드레스; 

ALL_SYNONYMS(또는 DBA_SYONYMS) 보기는 데이터베이스 내의 모든 동의어에 대한 정보를 제공합니다.

레퍼런스

  • Palinski, John Adolph (2002). Oracle SQL and PL/SQL Handbook: A Guide for Data Administrators, Developers, and Business Analysts. Addison–Wesley. ISBN 978-0-201-75294-6.
  • Gennick, Jonathan (2004). Oracle SQL*Plus: the definitive guide. O'Reilly Media. ISBN 978-0-596-00746-1.
  • Alapati, Sam R (2005). Expert Oracle Database 10g Administration. Apress. ISBN 978-1-59059-451-3.
  • Bobrowski, Steve. Hands-on Oracle Database 10g Express Edition for Windows. McGraw-Hill. ISBN 978-0-07-226331-2.