대덕인재/Oracle

[Oracle D-16] SYNONYM 객체

꼬마버거 2025. 4. 22. 18:58

✅ SYNONYM(시노님)이란?

다른 객체(테이블, 뷰, 시퀀스 등)에 대한 별명(alias)을 만들어주는 객체야!

즉, 진짜 이름 대신 짧고 쓰기 쉬운 이름을 만들어주는 별명 기능이라고 보면 돼.


🎯 왜 사용할까?

상황설명
📦 객체 이름이 너무 길 때 길거나 복잡한 이름 대신 간단하게 쓸 수 있어
🧑‍💻 다른 사용자의 객체에 접근할 때 사용자 계정 이름 없이 접근 가능하게 해줌
🔄 시스템 이관, 구조 변경 대비 원본이 바뀌어도 시노님만 바꾸면 됨 (코드 영향 ↓)

✅ 사용 예시

예시 1: 다른 사람의 테이블을 자주 쓸 때 

SELECT * FROM C##KJM00.CUSTOMERS;
 
 

너무 길어… 😫

 

👉 이렇게 시노님으로 등록하면!

CREATE SYNONYM cust FOR C##KJM00.CUSTOMERS;

 

이제 이렇게 쓸 수 있어!

SELECT * FROM cust;

→ 훨씬 간단하지? 😄


✅ 시노님 종류

 

종류 설명
Private Synonym 기본값. 특정 사용자만 사용 가능
Public Synonym CREATE PUBLIC SYNONYM 사용 시, 모든 사용자가 사용 가능

 

✅ 시노님 만들기 문법

CREATE [PUBLIC] SYNONYM 시노님이름 FOR 원래객체이름;

✅ 삭제할 때는?

DROP [PUBLIC] SYNONYM 시노님이름;

💡 주의사항

  • 시노님은 진짜 객체가 아님!
  • 원본 객체가 삭제되면 시노님도 무용지물이야 (에러 남)
  • 권한이 있어야 사용 가능 (CREATE SYNONYM, CREATE PUBLIC SYNONYM)

🎓 비유로 쉽게 요약

📦 CUSTOMERS라는 진짜 상자(테이블)가 있고
🏷️ 거기에 cust라는 라벨(시노님)을 붙인 거야.

라벨만 보고도 안에 뭐가 있는지 쉽게 꺼내올 수 있는 느낌!