1HOON
논리적 코딩
1HOON
전체 방문자
오늘
어제
  • HOME (186)
    • ☕️ JAVA (28)
      • WhiteShip Java LIVE Study (6)
      • Effective JAVA (10)
    • 🔮 KOTLIN (4)
    • 🌱 SPRING (51)
      • 스프링 인 액션 (22)
      • JPA (18)
    • ☕️ JAVASCRIPT (6)
    • 📃 DATABASE (40)
      • ORACLE (37)
      • MSSQL (2)
    • 🐧 LINUX (4)
    • 🐳 DOCKER (5)
    • 🐙 KUBERNETES (4)
    • 🏗️ ARCHITECTURE (8)
    • 📦 ETC (26)
      • TOY PROJECT (5)
      • RECRUIT (1)
      • 그냥 쓰고 싶어서요 (14)
    • 🤿 DEEP DIVE (1)
    • 🚽 Deprecated (9)
      • PYTHON (3)
      • AWS (2)
      • HTTP 완벽가이드 (3)
      • WEB (1)

블로그 메뉴

  • 홈
  • 방명록
  • 관리

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
1HOON

논리적 코딩

📃 DATABASE/ORACLE

[SQL] 데이터베이스 객체_시노님(SYNONYM)

2017. 11. 11. 15:06

시노님(Synonym) : 동의어

/*

 *    개정 이력

 *    2017.11.28    첫번째 줄 오타 수정('동의오'->'동의어')

 */


데이터베이스 객체는 각자 고유한 이름이 있다. 이 객체들에 대한 동의어를 만드는 것이 시노님이다.

가령, 내가 이 글을 작성하는데 나를 아는 사람들은 제외한, 나를 모르는 사람들은 나를 '논리코더'로 알고있을 것이다. 

이때, 내 실명이 객체의 이름이고, '논리코더'는 시노님이라고 볼 수 있다.



시노님을 사용하는 이유

1. 데이터베이스의 투명성을 제공한다.

2. 시노님이 참조하고있는 객체의 이름이 바뀌어도 시노님을 이용한 SQL문은 수정될 필요가 없다.

3. 시노님의 원 객체를 숨길 수 있어 보안에 유리하다. 이 부분은 뷰(VIEW)와 유사한 특징이다.



시노님 생성

1
2
CREATE OR REPLACE [PUBLIC] SYNONYM [SYNONYM_NAME]
FOR [OBJECT_NAME]
Colored by Color Scripter
cs


[PUBLIC] 에는 PUBLIC 혹은 PRIVATE 가 들어가며, 생략시 기본값은 PRIVATE이다. PUBLIC 시노님은 DBA 권한을 가진 사용자만 생성/삭제가 가능하다.

[SYNONYM_NAME] 에는 시노님명이, [OBJECT_NAME] 에는 객체명이 들어가는데, 객체에는 테이블, 뷰, 프로시저, 함수, 패키지, 시퀀스가 올 수 있다.


1
2
3
-- 시노님 생성
CREATE OR REPLACE PUBLIC SYNONYM SYNONYM_TEST
FOR TEST_TABLE;
cs



시노님 제거

1
DROP [PUBLIC] SYNONYM [SYNONYM_NAME]
cs


생성된 시노님은 DROP문을 이용해 제거할 수 있다.

PRIVATE 시노님을 제거하기 위해서는 DROP SYNONYM 이나 DROP ANDY SYNONYM 권한이 있어야하며,

PUBLIC 시노님을 제거하기 위해서는 DROP PUBLIC SYNONYM 권한이 있어야한다.

[PUBLIC] 위치에 PUBLIC이 표기되지 않을 경우, 기본값인 PRIVATE 시노님이 제거가 되므로 유의한다.


1
2
-- 시노님 제거
DROP SYNONYM SYNONYM_TEST;
cs




반응형
저작자표시 비영리 변경금지 (새창열림)

'📃 DATABASE > ORACLE' 카테고리의 다른 글

[SQL] 분석 함수  (0) 2018.01.15
[SQL] WITH절과 순환 서브쿼리  (1) 2018.01.15
[SQL] 계층형 쿼리  (0) 2018.01.09
[SQL] 내부조인과 외부조인  (0) 2018.01.08
[SQL] 집합 연산자  (0) 2018.01.04
    '📃 DATABASE/ORACLE' 카테고리의 다른 글
    • [SQL] WITH절과 순환 서브쿼리
    • [SQL] 계층형 쿼리
    • [SQL] 내부조인과 외부조인
    • [SQL] 집합 연산자
    1HOON
    1HOON

    티스토리툴바