✅ 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라는 라벨(시노님)을 붙인 거야.라벨만 보고도 안에 뭐가 있는지 쉽게 꺼내올 수 있는 느낌!
'대덕인재 > Oracle' 카테고리의 다른 글
| [Oracle D-17] LOOP (0) | 2025.04.23 |
|---|---|
| [Oracle D-17] PL/SQL에서 사용되는 프로그래밍 구조(Program Units) (0) | 2025.04.23 |
| [Oracle D-16] 비트맵 인덱스(Bitmap Index) (0) | 2025.04.22 |
| [Oracle D-16] 시퀀스(Sequence) (0) | 2025.04.22 |
| [Oracle D-16] VIEW (0) | 2025.04.22 |