Synonym ์ด๋?
Oracle์๋ Synonym์ด๋ ๊ฐ์ฒด๊ฐ ์์ต๋๋ค.
๊ฐ์ฒด์ ๋ํด์ ์์์ ์ผ๋ก ๋ณ๋ช ์ ์ง์ด์ฃผ๋ ๊ฒ.
ํ ์ด๋ธ ALIAS์๋ ๋ค๋ฅด๊ฒ ์์์ ์ธ ๋ณ๋ช ์ด ์๋ ์์์ ์ผ๋ก ๋ณ๋ช ์ ๋ถ์ฌํ๋ ๊ฒ์ด Synonym์ ๋๋ค. Oracle Database๋ฅผ ์ฌ์ฉํด๋ณด๋ฉด์ ํ๋ฒ๋ Synonym์ ๋ง๋ค์ด๋ณด์ง ์์์ ์ฌ์ฉ์ ํ๋ฒ๋ ์ํ๋ค! ๋ผ๊ณ ์๊ฐํ์ค์๋ ์๋๋ฐ... ์ฐ๋ฆฌ๋ ์ด๋ฏธ Synonym์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
1
|
SELECT SYSDATE FROM DUAL;
|
DUAL์ด๋ผ๋ ์์ ํ ์ด๋ธ์ SYNONYM์ ๋๋ค. DUALํ ์ด๋ธ์ ๋ชจ๋ ๊ณ์ ์์ ์คํค๋ง ์์ด DUAL์ด๋ผ๋ ๋ช ์นญ์ผ๋ก ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. DUAL๋ ์์์ ์ผ๋ก ์ฌ์ฉ๋๋ ํ ์ด๋ธ์ธ๋ฐ ์ ์คํค๋ง ์์ด DUAL์ด๋ผ๋ ๋ช ์นญ์ผ๋ก ์ฌ์ฉ์ด ๊ฐ๋ฅํ์๊น์? DUAL ํ ์ด๋ธ์ ์ด๋ ๊ณ์ ์ ์์ ๋ ํ ์ด๋ธ์ผ๊น์?
1
|
SELECT SYSDATE FROM SYS.DUAL;
|
DUAL ํ ์ด๋ธ์ ์ฌ์ค SYS ๊ณ์ ์ด ์์ ํ๊ณ ์๋ ํ ์ด๋ธ์ ๋๋ค. Public ๊ถํ์ผ๋ก ๋์์ด๋ฅผ ์์ฑํ์ฌ ๋ชจ๋ ๊ณ์ ์์๋ DUAL์ด๋ผ๋ Synonym์ ์ฌ์ฉํ๋ ๊ฒ์ด์์ต๋๋ค.
Synonym์ ์ ์ฌ์ฉํ ๊น?
ํ ์ด๋ธ ์์ ๋ณด์
DUAL ํ ์ด๋ธ ์ฒ๋ผ ๊ธด์ด๋ฆ์ ์งง๊ฒ ํน์ ์งง์ ์ด๋ฆ์ ๊ธธ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด Synonym์ ์ด์ฉํ๊ธฐ๋ ํ์ง๋ง, ์ค์ ๋ก๋ ๋ณด์์ ๋ชฉ์ ์ผ๋ก ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. ์ ์ด๋ฏธ์ง์ฒ๋ผ ์ฌ์ฉ์๊ฐ EMP๋ผ๋ ํ ์ด๋ธ์ ๋ํ ์ ๋ณด๊ฐ ํ์ํ ๋ ํ ์ด๋ธ์ด ์ด๋ค ์คํค๋ง์ ์๋์ง ๋ ธ์ถ์์ผ์๋ ์๋ฉ๋๋ค. ๊ทธ๋์ EMP๋ผ๋ SYNONYM์ ์์ฑํ์ฌ ํด๋น SYNONYM์ ๋ํ ๊ถํ์ ์ฌ์ฉ์์๊ฒ ๋ถ์ฌํ์ฌ ๋ณด์์ ๊ฐํํ ์ ์์ต๋๋ค.
Database ์์น ํฌ๋ช ์ฑ
Database์ ์ ๊ทผํ๊ธฐ ์ํด์๋ Protocol, IP, Listener Port, SID, ๊ณ์ ์ ๋ณด๋ฅผ ๋ค๊ณ Database Link๋ฅผ ํตํด ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์์ต๋๋ค.
DEPT๋ผ๋ ํ ์ด๋ธ์ USA์ ์๋ ์ ๋ณด์ด๊ณ EMP ํ ์ด๋ธ์ ํ๊ตญ์ ์๋ ์ ๋ณด๋ผ๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค.
1
|
SELECT * FROM EMP;
|
ํ์ฌ ์ ์ํ ์ ์ ์ ๊ถํ์ผ๋ก EMP ํ ์ด๋ธ์ ์ฝ์ผ๋ฉด LOCAL์ ์๋ Database์ Schema๋ฅผ ์ฝ๊ฒ ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ USA์ ์๋ DEPTํ ์ด๋ธ์ ์ฝ์ด์ผํ๋ ์ํฉ์ด๋ผ๋ฉด
1
|
SELECT * FROM DEPT@USA;
|
USA๋ผ๋ DB LINK๋ฅผ ์์ฑํ์ฌ @USA๋ก DB๋ฅผ ์กฐํํด์ผํฉ๋๋ค. ์ฌ์ฉ์ ์ธก์์ @USA DB LINK ์ ๋ณด๋ฅผ ๊ฐ์ด ์ฌ์ฉํ๋๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ค๋ฉด DEPT ํ ์ด๋ธ์ USA์ ์กด์ฌํ๊ณ EMP ํ ์ด๋ธ์ ํ๊ตญ์ ์กด์ฌํ๋ค๋ ๊ฒ์ ์๊ฒ ๋ฉ๋๋ค.
์ ์ฒ๋ผ Database์ ์์น ํฌ๋ช ์ฑ์ ์๋ฐ๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Synonym์ ์์ฑํด์ค ๋ DB Link์ ๋ํ ์ ๋ณด๋ฅผ ๋ฃ์ด ์์ฑํ๊ณ Synonym์ ๋ํ ์ ๋ณด๋ง ์ ๊ณตํ๋ค๋ฉด ์ฌ์ฉ์๋ก๋ถํฐ Database์ ์์น๋ฅผ ํฌ๋ช ํ๊ฒ ๊ฐ๋ ค์ค ์ ์์ต๋๋ค.
์ ๋ฌด์ ํธ์
์ ๋ฌด์ ํธ์๋ฅผ ์ํด ์ฌ์ฉ๋๊ธฐ๋ ํฉ๋๋ค. HR SCHEMA์์ ์ฌ์(EMP)์ ๋ํ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๊ณ ์์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ํ์ฌ ์ ์ฑ ์ PROD SCHEMA๋ก ์ฌ์์ ๋ํ ๊ด๋ฆฌ ์ ๋ฌด๊ฐ ๋์ด๊ฐ์ต๋๋ค. ๋ง์ฝ ๊ธฐ์กด ์์คํ ์์ ๊ฐ๋ฐ ์ Synonym์ผ๋ก DB ์ ๋ณด๊ฐ ์ ๊ณต๋์ง ์๊ณ ํ ์ด๋ธ์ ๋ํ SCHEMA๊ฐ ์ ๊ณต๋์๋ค๋ฉด, ์ฟผ๋ฆฌ๋ฅผ HR.EMP๋ก ๋ฐ์ดํฐ๋ฅผ ์กฐํ ํ์๊ฒ๋๋ค. PROD SCHEMA๋ก ํ ์ด๋ธ ์ ๋ณด๊ฐ ๋์ด๊ฐ๋ฉด ๊ธฐ์กด์ ๊ฐ๋ฐ๋์๋ ํ๋ก๊ทธ๋จ์์ HR.EMP ๋ก ๊ตฌ์ฑํ๋ ์ฟผ๋ฆฌ๋ฅผ PROD.EMP๋ก ๋ชจ๋ ๋ณ๊ฒฝํด์ผํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์๊น๋๋ค.
๋ง์ฝ EMP๋ผ๋ Synonym์ ์ ๊ณตํ๋ค๋ฉด, ๋ฒ๊ฑฐ๋ก์ด ํ๋ก๊ทธ๋จ ๋ณ๊ฒฝ์์ด Synonym์ ๋ํ ์ ๋ณด๋ง ์์ ํ๋ฉด ํด๊ฒฐ ๊ฐ๋ฅํฉ๋๋ค. ์ด์๋๊ณ ์๋ ์์คํ ์ด๋ผ๋ฉด ๋๋์ฑ Synonym์ ํ์ฉ์ด ์ ์ฉํ ๊ฒ ๊ฐ์ต๋๋ค.
Synonym ์์ฑ
1
|
GRANT CREATE PUBLIC SYNONYM TO HR;
|
SYNONYM ์์ฑ์ ๋ํ ๊ถํ์ด ์๋ค๋ฉด DBA ๊ถํ์ ๊ณ์ ์์ ๊ถํ์ ๋ถ์ฌํด์ค๋๋ค.
CREATE ์๋ต๊ฐ๋ฅ[PUBLIC] SYNONYM Synonym๋ช FOR ๊ฐ์ฒด;
1
|
CREATE PUBLIC SYNONYM EMP FOR EMPLOYEES;
|
PUBLIC ์ต์ ์ ์ฌ์ฉํด์ฃผ๋ฉด Synonym์ ์์ฑํ ๊ณ์ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๊ณ์ ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
1
|
CREATE PUBLIC SYNONYM DEPT FOR DEPARTMENTS@USA;
|
DB LINK๋ฅผ ์ฌ์ฉํด์ค๋ค๋ฉด ์์ ๊ฐ์ด ์์ฑํด์ฃผ๋ฉด ๋ฉ๋๋ค.
1
|
SELECT * FROM EMP;
|
SYNONYM ์์ฑ ํ ํด๋น ๊ฐ์ฒด๋ฅผ SYNONYM๋ช ์ผ๋ก ์กฐํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ๋ฌผ๋ก ๋ค๋ฅธ ๊ณ์ ์์ ์ฌ์ฉํ ๋๋ ํด๋น Synonym ๊ฐ์ฒด์ ๊ถํ์ ๋ถ์ฌํด์ค์ผํฉ๋๋ค.
๋๊ธ