°ü¸® ¾È³»¼­


ºä ÀÛ¼º

ºä´Â Çϳª ÀÌ»óÀÇ ±âº» Å×À̺í, º°¸í ¶Ç´Â ºä¿¡¼­ ÆÄ»ýµÇ°í µ¥ÀÌÅÍ °Ë»ö½Ã ±âº» Å×À̺í°ú ÇÔ²² ±³È¯µÇ¾î »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ºä¿¡ Ç¥½ÃµÈ µ¥ÀÌÅ͸¦ º¯°æÇϸé, Å×ÀÌºí ³»ÀÇ µ¥ÀÌÅ͵µ º¯°æµË´Ï´Ù.

ºä´Â °¨Áö °¡´ÉÇÑ µ¥ÀÌÅÍ¿¡ ´ëÇÑ ¾×¼¼½º¸¦ Á¦ÇÑÇϸ鼭, ¹Ý¸é¿¡ ±âŸ µ¥ÀÌÅÍ¿¡ ´ëÇÑ ÀϹÝÀûÀÎ ¾×¼¼½º´Â Á»´õ ¸¹ÀÌ Çã¿ëÇϵµ·Ï ÀÛ¼ºµÉ ¼ö ÀÖ½À´Ï´Ù.

ºä Á¤ÀÇÀÇ SELECT ¸ñ·ÏÀÌ Á÷Á¢ ¶Ç´Â °£Á¢À¸·Î ±âº» Å×À̺íÀÇ ½Äº° Ä÷³ À̸§À» Æ÷ÇÔÇÏ´Â ºä¿¡ »ðÀÔÇÒ ¶§, INSERT¹®ÀÌ ±âº» Å×À̺íÀÇ ½Äº° Ä÷³À» Á÷Á¢ ÂüÁ¶ÇÑ °Íó·³ µ¿ÀÏÇÑ ±ÔÄ¢À» Àû¿ëÇÕ´Ï´Ù. INSERT¹®¿¡ ´ëÇØ¼­´Â SQL ÂüÁ¶¼­¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

À§¿¡¼­ ¼³¸íµÈ ´ë·Î ºä¸¦ »ç¿ëÇÏ´Â °Í ¿Ü¿¡µµ, ºä´Â ´ÙÀ½ÀÇ °æ¿ì¿¡µµ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.

ºä¸¦ ÀÛ¼ºÇÏ´Â ¶ÇÇϳªÀÇ ÀÌÀ¯´Â Áßø ¶Ç´Â °øÅë Å×À̺í Ç¥Çö½ÄÀ» »ç¿ëÇÏ¿© īŻ·Î±× Á¶»ç¸¦ ÁÙÀÌ°í ¼º´ÉÀ» °³¼±Çϱâ À§Çؼ­ÀÔ´Ï´Ù. °øÅë Å×À̺í Ç¥Çö½Ä¿¡ ´ëÇØ¼­´Â SQL ÂüÁ¶¼­¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

Á¦¾î ¼¾Å͸¦ »ç¿ëÇÏ¿© º¸±â¸¦ ÀÛ¼ºÇϽʽÿÀ.
  1. ºä Æú´õ¸¦ ãÀ» ¶§±îÁö ¿ÀºêÁ§Æ® Æ®¸®¸¦ È®ÀåÇϽʽÿÀ.
  2. ºä Æú´õ¸¦ ¿À¸¥ÂÊ ¸¶¿ì½º ¹öưÀ¸·Î Ŭ¸¯Çϰí, ÆË¾÷ ¸Þ´º¿¡¼­ ÀÛ¼ºÀ» ¼±ÅÃÇϽʽÿÀ.
  3. Á¤º¸¸¦ ¿Ï·áÇϰí, È®ÀÎÀ» Ŭ¸¯ÇϽʽÿÀ.

¸í·ÉÇàÀ» »ç¿ëÇÏ¿© º¸±â¸¦ ÀÛ¼ºÇϽʽÿÀ.

   CREATE VIEW <name> (<column>, <column>, <column>)
      SELECT <column_names> FROM <table_name>
      WITH CHECK OPTION

¿¹¸¦ µé¾î, EMPLOYEE Å×ÀÌºí¿¡´Â ¾Æ¹«³ª »ç¿ëÇÒ ¼ö ¾ø´Â ±Þ¿© Á¤º¸°¡ µé¾î ÀÖ½À´Ï´Ù. ±×·¯³ª, »ç¿øÀÇ ÀüÈ­¹øÈ£´Â ÀϹÝÀûÀ¸·Î ¾×¼¼½ºÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌ °æ¿ì, LASTNAME ¹× PHONENO Ä÷³¿¡¼­¸¸ ºä°¡ ÀÛ¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. ºä¿¡ ´ëÇÑ ¾×¼¼½º´Â PUBLICÀ¸·Î ±ÇÇÑ ºÎ¿©µÇ´Â ¹Ý¸é¿¡, Àüü EMPLOYEE Å×ÀÌºí¿¡ ´ëÇÑ ¾×¼¼½º´Â ±Þ¿© Á¤º¸¸¦ º¼ ¼ö ÀÖ´Â ±ÇÇÑÀ» °¡Áø »ç¿ëÀÚ·Î Á¦ÇÑµÉ ¼ö ÀÖ½À´Ï´Ù. Àбâ Àü¿ë ºä¿¡ ´ëÇØ¼­´Â SQL ÂüÁ¶¼­ ¸Å´º¾óÀ» ÂüÁ¶ÇϽʽÿÀ.

ºä¸¦ »ç¿ëÇÏ¿©, ÀÀ¿ëÇÁ·Î±×·¥¿¡ ´ëÇØ »ç¿ë °¡´ÉÇÑ Å×ÀÌºí µ¥ÀÌÅÍ ºÎ¼Ó ÁýÇÕÀ» ¸¸µé°í, »ðÀԵǰųª °»½ÅµÉ µ¥ÀÌÅÍÀÇ À¯È¿¼º °Ë»ç¸¦ ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ºä¿¡¼­´Â ¿ø·¡ Å×À̺íÀÇ ÇØ´ç Ä÷³ À̸§°ú´Â ´Ù¸¥ Ä÷³ À̸§À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

ºä¸¦ »ç¿ëÇϸé, »ç¿ëÀÚ ÇÁ·Î±×·¥¿¡ À¶Å뼺À» ´õÇÒ ¼ö ÀÖ°í ÀÏ¹Ý »ç¿ëÀÚ Á¶È¸¿¡¼­ Å×ÀÌºí µ¥ÀÌÅ͸¦ º¼ ¼ö ÀÖ½À´Ï´Ù.

´ÙÀ½ SQL¹®Àº EMPLOYEE Å×ÀÌºí¿¡ A00 ºÎ¼­ÀÇ ¸ðµç »ç¿ø°ú ÀüÈ­¹øÈ£¸¦ ³ª¿­ÇÏ´Â ºä¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

   CREATE VIEW EMP_VIEW (DA00NAME, DA00NUM, PHONENO)
      AS SELECT LASTNAME, EMPNO, PHONENO FROM EMPLOYEE
      WHERE WORKDEPT = 'A00'
      WITH CHECK OPTION

ÀÌ ¸í·É¹®ÀÇ Ã¹¹øÂ° Çà¿¡¼­´Â ºä¸¦ À̸§ ÁöÁ¤Çϰí Ä÷³À» Á¤ÀÇÇÕ´Ï´Ù. À̸§ EMP_VIEW´Â SYSCAT.TABLESÀÇ ½ºÅ°¸¶¿¡¼­ °íÀ¯ÇØ¾ß ÇÕ´Ï´Ù. ºä À̸§Àº ¾È¿¡ µ¥ÀÌÅͰ¡ µé¾î ÀÖÁö ¾Ê´õ¶óµµ Å×À̺í À̸§À¸·Î ³ªÅ¸³³´Ï´Ù. ºä´Â EMPLOYEE Å×À̺íÀÇ Ä÷³ LASTNAME, EMPNO, PHONENO¿¡ ÇØ´çÇÏ´Â DA00NAME, DA00NUM, PHONENO¶ó´Â ¼¼ °³ÀÇ Ä÷³À» °¡Áö°Ô µË´Ï´Ù. ³ª¿­µÈ Ä÷³ À̸§Àº SELECT¹®ÀÇ ¼±Åà ¸ñ·Ï¿¡ ÀÏ´ëÀÏ·Î Àû¿ëµË´Ï´Ù. Ä÷³ À̸§ÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é, ºä¿¡¼­´Â SELECT¹®ÀÇ °á°ú Å×À̺íÀÇ Ä÷³°ú µ¿ÀÏÇÑ À̸§À» »ç¿ëÇÕ´Ï´Ù.

µÎ¹øÂ° ÇàÀº µ¥ÀÌÅͺ£À̽º¿¡¼­ ¾î´À °ªÀÌ ¼±ÅÃµÉ °ÍÀÎÁö¸¦ ¼³¸íÇÏ´Â SELECT¹®ÀÔ´Ï´Ù. ¿©±â¿¡ ALL, DISTINCT, FROM, WHERE, GROUP BY ¹× HAVINGÀýÀ» Æ÷ÇÔÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ºä¿¡ ´ëÇÑ Ä÷³À» ¼±ÅÃÇÒ µ¥ÀÌÅÍ ¿ÀºêÁ§Æ®ÀÇ À̸§(µé)ÀÌ FROMÀý µÚ¿¡ ¿Í¾ß ÇÕ´Ï´Ù.

WITH CHECK OPTIONÀýÀº °»½ÅµÇ°Å³ª ºä¿¡ »ðÀÔµÈ ÇàÀ» ºä Á¤ÀÇ¿¡ ´ëÇØ Á¡°ËÇØ¾ß Çϸç, ¸ÂÁö ¾ÊÀ» °æ¿ì °ÅºÎµÊÀ» ³ªÅ¸³À´Ï´Ù. ÀÌ·Î ÀÎÇØ, µ¥ÀÌÅÍ ¹«°á¼ºÀº °­È­µÇÁö¸¸ Ãß°¡ 󸮰¡ ¿ä±¸µË´Ï´Ù. ÀÌ ÀýÀ» »ý·«Çϸé, »ðÀÔ ¹× °»½Å ³»¿ëÀÌ ºä Á¤ÀÇ¿¡ ¸Â´ÂÁö Á¡°ËµÇÁö ¾Ê½À´Ï´Ù.

´ÙÀ½ SQL¹®Àº SELECT ASÀýÀ» »ç¿ëÇÏ¿© EMPLOYEE Å×ÀÌºí¿¡ ´ëÇØ µ¿ÀÏÇÑ ºä¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

   CREATE VIEW EMP_VIEW
      SELECT LASTNAME AS DA00NAME,
             EMPNO AS DA00NUM,
             PHONENO
     FROM EMPLOYEE
      WHERE WORKDEPT = 'A00'
      WITH CHECK OPTION

»ç¿ëÀÚ´Â Á¤ÀÇ ¾È¿¡ UDF¸¦ »ç¿ëÇÏ´Â ºä¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ÀÌ ºä¸¦ °»½ÅÇÏ¿© ÃÖ±Ù ÇÔ¼ö¸¦ Æ÷ÇÔÇÏ·Á¸é, ºä¸¦ »èÁ¦ÇÑ ÈÄ ´Ù½Ã ÀÛ¼ºÇØ¾ß ÇÕ´Ï´Ù. ºä°¡ UDF¿¡ Á¾¼ÓÀûÀ̸é, ÇØ´ç ÇÔ¼ö´Â »èÁ¦µÉ ¼ö ¾ø½À´Ï´Ù.

´ÙÀ½ SQL¹®Àº Á¤ÀÇ¿¡ ÇÔ¼ö°¡ ÀÖ´Â ºä¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

   CREATE VIEW EMPLOYEE_PENSION (NAME, PENSION)
     AS SELECT NAME, PENSION(HIREDATE,BIRTHDATE,SALARY,BONUS)
     FROM EMPLOYEE

UDF ÇÔ¼ö PENSIONÀº °ø½Ä¿¡ µû¶ó HIREDATE, BIRTHDATE, SALARY ¹× BONUS¸¦ ºñ·ÔÇÏ¿© »ç¿øÀÌ ¹Þ¾Æ¾ß ÇÒ ÇöÀçÀÇ ¼ö´çÀ» °è»êÇÕ´Ï´Ù.

ÀÔ·ÂµÈ ºä ÀÛ¼º

CREATE VIEW¹®À» »ç¿ëÇÏ¿© ÀÔ·ÂµÈ ºä¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß ¾È³»¼­¿¡¼­ ÀÔ·ÂµÈ ºä¿¡ ÇÊ¿äÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.


[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]