|
9.4 µ¿ÀǾî(SYNONYM)
- SYNONYMÀº ¿À¶óŬ °´Ã¼(Å×À̺í, ºä, ½ÃÄö½º, ÇÁ·Î½ÃÀú)¿¡ ´ëÇÑ ´ëüÀ̸§(Alias)¸¦ ¸»ÇÕ´Ï´Ù.
- SynonymÀº ½ÇÁúÀûÀ¸·Î ±× ÀÚü°¡ Object°¡ ¾Æ´Ï¶ó Object¿¡ ´ëÇÑ Á÷Á¢ÀûÀÎ ÂüÁ¶ ÀÔ´Ï´Ù.
- SynonymÀ» »ç¿ëÇÏ´Â ÀÌÀ¯´Â...
1) µ¥ÀÌÅͺ£À̽ºÀÇ Åõ¸í¼ºÀ» Á¦°øÇϱâ À§Çؼ »ç¿ë ÇÑ´Ù°í »ý°¢ÇÏ¸é µË´Ï´Ù.
SynonymÀº ´Ù¸¥ À¯ÀúÀÇ °´Ã¼¸¦ ÂüÁ¶ÇÒ ¶§ ¸¹ÀÌ »ç¿ëÀ» ÇÕ´Ï´Ù.
2) ¸¸¾à¿¡ ½Ç¹«¿¡¼ ´Ù¸¥ À¯ÀúÀÇ °´Ã¼¸¦ ÂüÁ¶ÇÒ °æ¿ì°¡ ÀÖÀ»¶§ SynonymÀ» »ý¼ºÇؼ »ç¿ëÀ» ÇϸéÀº ÃßÈÄ¿¡ ÂüÁ¶ÇÏ°í ÀÖ´Â ¿ÀºêÁ§Æ®°¡ À̸§À» ¹Ù²Ù°Å³ª À̵¿ÇÒ °æ¿ì °´Ã¼¸¦ »ç¿ëÇÏ´Â SQL¹®À» ¸ðµÎ ´Ù½Ã °íÄ¡´Â °ÍÀÌ ¾Æ´Ï¶ó Synonym¸¸ ´Ù½Ã Á¤ÀÇÇÏ¸é µÇ±â ¶§¹®¿¡ ¸Å¿ì Æí¸® ÇÕ´Ï´Ù.
3) °´Ã¼ÀÇ ±ä À̸§À» »ç¿ëÇϱâ ÆíÇÑ ÂªÀº À̸§À¸·Î Çؼ SQLÄÚµùÀ» ´Ü¼øÈ ½Ãų ¼ö ÀÖ½À´Ï´Ù.
4) ¶ÇÇÑ °´Ã¼¸¦ ÂüÁ¶ÇÏ´Â »ç¿ëÀÚÀÇ ¿ÀºêÁ§Æ®¸¦ °¨Ãâ ¼ö Àֱ⠶§¹®¿¡ ÀÌ¿¡ ´ëÇÑ º¸¾ÈÀ» À¯ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. SynonymÀ» »ç¿ëÇÏ´Â À¯Àú´Â ÂüÁ¶ÇÏ°í ÀÖ´Â °´Ã¼¿¡ ´ëÇÑ »ç¿ëÀÚÀÇ ¿ÀºêÁ§Æ®ÀÇ ¼ÒÀ¯ÀÚ, À̸§, ¼¹öÀ̸§À» ¸ð¸£°í Synonym À̸§¸¸ ¾Ë¾Æµµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
** Synonyms¸¦ »ç¿ëÇÏ´Â °æ¿ì **
- ¿ÀºêÁ§Æ®ÀÇ ½ÇÁ¦ À̸§°ú ¼ÒÀ¯ÀÚ ±×¸®°í À§Ä¡¸¦ °¨ÃãÀ¸·Î½á database º¸¾ÈÀ» °³¼±Çϴµ¥ »ç¿ë µË´Ï´Ù.
- object¿¡ÀÇ Public Access¸¦ Á¦°ø ÇÕ´Ï´Ù.
- Remote DatabaseÀÇ Table, View, Program Init¸¦ À§ÇØ Åõ¸í¼ºÀ» Á¦°ø ÇÕ´Ï´Ù.
- Database »ç¿ëÀÚ¸¦ À§ÇØ SQL¹®À» ´Ü¼øÈ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Synonym¿¡´Â µÎ°¡Áö Á¾·ù°¡ ÀÖ½À´Ï´Ù.
1) Private Synonym
- Àü¿ë SynonymÀº ƯÁ¤ »ç¿ëÀÚ¸¸ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
2) Public Synonym
- °ø¿ë SynonymÀº °í¿ë »ç¿ëÀÚ ±×·ìÀÌ¸ç ¼ÒÀ¯ÇÏ¸ç ±× Database¿¡ ÀÖ´Â ¸ðµç »ç¿ëÀÚ°¡ °øÀ¯
** Synonym »ý¼º ¹®¹ý **
**[ Syntax ]*************************************************
* CREATE [PUBLIC] SYNONYM synonym_name
* FOR object_name
*************************************************************
- Public : ¸ðµç »ç¿ëÀÚ°¡ Á¢±Ù °¡´ÉÇÑ ½Ã³ë´ÔÀ» »ý¼º ÇÕ´Ï´Ù.
Public SynonymÀÇ »ý¼º ¹× »èÁ¦´Â DBA¸¸ÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¡Ø scott USERÀÇ empÅ×À̺íÀ» test USER°¡ »ç¿ëÇÏ´Â ¿¹Á¦
1. ¸ÕÀú scott/tiger USER·Î Á¢¼ÓÇؼ test USER¿¡°Ô empÅ×À̺íÀ» Á¶ÀÛÇÒ ±ÇÇÑÀ» ºÎ¿©ÇÕ´Ï´Ù.
SQL> GRANT ALL ON emp TO test;
±ÇÇÑÀÌ ºÎ¿©µÇ¾ú½À´Ï´Ù.
test user¿¡ ´ëÇÏ¿© scottÀÇ empÅ×À̺íÀ» Á¶ÀÛÇÒ ¼ö ÀÖ´Â ±ÇÇÑÀ» ºÎ¿© ÇÕ´Ï´Ù.
±ÇÇÑÀÌ ÀÖ¾î¾ß selectÇϰųª update, insertÇÒ ¼ö ÀÖ½À´Ï´Ù.
2. test USER·Î Á¢¼ÓÇØ µ¿ÀǾ »ý¼ºÇÕ´Ï´Ù.
SQL> connect test/test
SQL> CREATE SYNONYM scott_emp FOR scott.emp;
½Ã³ë´ÔÀÌ »ý¼ºµÇ¾ú½À´Ï´Ù.
scott USER°¡ ¼ÒÀ¯ÇÏ°í ÀÖ´Â empÅ×ÀÌºí¿¡ ´ëÇØ scott_emp¶ó´Â ÀϹݽóë´ÔÀ» »ý¼º Çß½À´Ï´Ù.
scott »ç¿ëÀÚÀÇ empÅ×À̺íÀ» test»ç¿ëÀÚ°¡ scott_emp¶ó´Â µ¿ÀǾî·Î »ç¿ë ÇÕ´Ï´Ù.
-- ½Ã³ë´ÔÀ» ÀÌ¿ëÇÑ Äõ¸®
SQL> SELECT empno, ename FROM scott_emp;
-- ÀÏ¹Ý Å×À̺íÀ» Äõ¸®
SQL> SELECT empno, ename FROM scott.emp;
ÀÌ µÎÄõ¸®ÀÇ °á°ú´Â °°½À´Ï´Ù.
EMPNO ENAME
-------- ---------
7369 SMITH
7499 ALLEN
7521 WARD
7566 JONES
7654 MARTIN
7698 BLAKE
15 °³ÀÇ ÇàÀÌ ¼±ÅõǾú½À´Ï´Ù.
** µ¿ÀÇ¾î »èÁ¦ **
SQL> DROP SYNONYM scott_emp;
½Ã³ë´ÔÀÌ »èÁ¦ µÇ¾ú½À´Ï´Ù.
SQL> SELECT empno, ename FROM scott_emp;
¶óÀÎ 1¿¡ ¿À·ù:
ORA - 00942 : Å×ÀÌºí ¶Ç´Â ºä°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.
|