• ÇÁ¸®Ä«¿îÅÍ
  • Ç÷¡½ÃºÏ
  • ÇÁ¸®º¸µå
  • Àü±¤ÆÇ
  • À¥°øºÎ¹æ
  • Ä¿¹Â´ÏƼ
µ¥ÀÌÅͺ£À̽º ±¸Ãà½Ã À̰͸¸Àº ÁÖÀÇÇÏÀÚ 2011.08.23 00:05
±Û¾´ÀÌ : ¿î¿µÀÚ Á¶È¸ : 197 Ãßõ : 0
µ¥ÀÌÅͺ£À̽º ±¸Ãà½Ã À̰͸¸Àº ÁÖÀÇÇÏÀÚ


±è¿ë¿ì(yongwoo@wisebook.com)


°æ¿µÇаú¿¡ ÀÔÇÐÇßÁö¸¸, ÄÄÇ»ÅÍ¿¡ ÀÚ½ÅÀÌ ¾ø¾î ¹è¿öº¸·Á°í µé¾î°¬´ø ÄÄÇ»ÅÍ µ¿¾Æ¸® ¶§¹®¿¡ ÀλýÀÌ ¹Ù²î¾ú½À´Ï´Ù. ´ëÇпø¿¡¼­ Á¤º¸½Ã½ºÅÛ(IS) ¼®»ç ÇÐÀ§¸¦ ÃëµæÇß°í, ½Ç¹«¿¡¼­´Â ¿©·¯ ÇÁ·ÎÁ§Æ®¿¡¼­ ½Ã½ºÅÛ ±¸Ãà°ú µ¥ÀÌÅͺ£À̽º ¼³°è ¾÷¹«¸¦ ¸Ã¾Ò½À´Ï´Ù. ÃÖ±Ù¿¡´Â ¿µÁøÃâÆǻ翡¼­ ¡®¼Ö¶ó¸®½º ¼­¹ö ¹ÙÀÌºí¡¯À̶ó´Â Ã¥À» ³»±âµµ Çß½À´Ï´Ù.

Áö³­ È£±îÁö ¿Ö °³¹ßÀÚ°¡ µ¥ÀÌÅͺ£À̽º ¼³°è±îÁö ¾Ë¾Æ¾ß µÇ´ÂÁö, ±×¸®°í ½Ç¹«¿¡¼­ µ¥ÀÌÅͺ£À̽º ¼³°è´Â ¾î¶»°Ô ÇØ¾Æ ÇÏ´ÂÁö¿¡ ´ëÇØ »ìÆ캸¾Ò½À´Ï´Ù. ¸¶Áö¸·À¸·Î À̹ø È£¿¡¼­´Â µ¥ÀÌÅͺ£À̽º¸¦ ±¸ÃàÇÏ°í »ç¿ëÇÒ ¶§ ÁÖÀÇÇÒ Á¡À» ÁßÁ¡ÀûÀ¸·Î ´Ù·ïº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.

À̹ø È£¿¡¼­´Â µ¥ÀÌÅͺ£À̽º¸¦ ±¸ÃàÇÏ°í »ç¿ëÇϴµ¥ ÁÖÀÇÇؾßÇÒ Á¡À» ¸»ÇÏ°íÀÚ ÇÕ´Ï´Ù. ¾Æ¹«¸® ¼³°è¸¦ ÀßÇß´Ù ÇÏ´õ¶óµµ Á¦´ë·Î ±¸ÃàÇÏ°í »ç¿ëÇÏÁö ¸øÇÑ´Ù¸é ¿øÇÏ´Â ¼º´ÉÀÌ Á¦´ë·Î ³ª¿Ã ¼ö ¾ø½À´Ï´Ù. Çϵå¿þ¾î »ç¾çÀÌ ¾Æ¹«¸® ÁÁ¾Æµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù. µ¥ÀÌÅͺ£À̽º¿¡ Àá±ÝÀÌ ¹ß»ýÇØ ¼Óµµ°¡ ´À·ÁÁ³´Âµ¥, CPU 64°³¸¦ ºÙ¿©³õÀº ¿£ÅÍÇÁ¶óÀÌÁî 12000 ¸ðµ¨À» ±¸¸ÅÇÑ´Ù°í Çؼ­ ¼º´ÉÀÌ Çâ»óµÉ ¸® ¾ø½À´Ï´Ù.

µ¥ÀÌÅͺ£À̽º¸¦ ±¸ÃàÇÒ ¶§ °í·ÁÇÒ °Í

µ¥ÀÌÅ͸¦ Ŭ¶óÀ̾ðÆ®¿¡ °¡Á®¿Í¼­ ó¸®ÇÏÁö ¸»ÀÚ

¼­¹ö¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ Ŭ¶óÀ̾ðÆ®·Î °¡Á®¿Í¼­ ó¸®ÇÏ°Ô²û ÇÁ·Î±×·¥À» ¸¸µå´Â °æ¿ì°¡ Á¾Á¾ Àִµ¥, ±× ¸¹Àº µ¥ÀÌÅ͸¦ Ŭ¶óÀ̾ðÆ®·Î °¡Á®¿À·Á¸é ¼Óµµ°¡ ¹«Ã´ ´À·ÁÁú»Ó´õ·¯ ³×Æ®¿öÅ© Æ®·¡Çȵµ »ó´çÈ÷ ´Ã¾î³³´Ï´Ù. °¡´ÉÇϸé ÇÁ·Î½ÃÀú µîÀ» ÅëÇØ ¼­¹ö¿¡¼­ µ¥ÀÌÅ͸¦ ó¸®ÇÏ°í ±× °á°ú °ª¸¸ Ŭ¶óÀ̾ðÆ®·Î °¡Á® ¿Àµµ·Ï ¸¸µå´Â °Ô ÁÁ½À´Ï´Ù.

DBMSÀÇ µ¥ÀÌÅÍ ¹«°á¼º À¯Áö ±â´ÉÀ» Àû±Ø È°¿ëÇÏÀÚ

Áֹεî·Ï¹øÈ£´Â 13ÀÚ¸®ÀÇ ¼ýÀÚ·Î ÀÌ·ç¾îÁ®¾ß ÇÕ´Ï´Ù. ¸¸¾à Áֹεî·Ï¹øÈ£°¡ 10ÀÚ¸®¶ó¸é °¡Â¥ Áֹεî·Ï¹øÈ£À̹ǷΠÀÔ·ÂÀ» ¸·¾Æ¾ß ÇÕ´Ï´Ù. ¿¹Àü¿¡´Â ÀÌ ÀÛ¾÷À» Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥¿¡¼­ ÇØÁ൵ ¾î´À Á¤µµ´Â µ¥ÀÌÅÍÀÇ ¾ÈÁ¤¼ºÀÌ º¸ÀåµÇ¾ú½À´Ï´Ù. Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥À¸·Î¸¸ ÀÔ·ÂÀÌ °¡´ÉÇßÀ¸´Ï±î¿ä. ÇÏÁö¸¸ ÀÌÁ¦´Â ÃÖÁ¾ »ç¿ëÀÚ°¡ ¾×¼¿ µîÀ» »ç¿ëÇؼ­ µ¥ÀÌÅ͸¦ ÀÓÀÇ·Î Á¢±ÙÇÏ´Â °Íµµ °¡´ÉÇÏ°Ô µÇ¾ú±â ¶§¹®¿¡ ¾î¶² Ŭ¶óÀ̾ðÆ® ÅøÀ» »ç¿ëÇؼ­ µ¥ÀÌÅÍ¿¡ Á¢±ÙÇϵçÁö ºñÁ¤»óÀûÀÎ µ¥ÀÌÅÍ´Â ÀÔ·ÂÀÌ µÇÁö ¾Ê°Ô²û ¸·¾Æ¾ßÇÒ Çʿ伺ÀÌ »ý°å½À´Ï´Ù. µû¶ó¼­ Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥¿¡¼­ µ¥ÀÌÅÍÀÇ ¾ÈÁ¤¼ºÀ» ÁöÅ°±âº¸´Ù´Â ¼­¹ö¿¡ ÁÖÅ° Á¦¾à, À¯ÀÏÅ° Á¦¾à, ÂüÁ¶Å° Á¦¾à, ¿µ¿ª Á¦¾à µîÀ» ¸ðµÎ »ç¿ëÇØ µ¥ÀÌÅÍÀÇ ¹«°á¼ºÀ» ÁöÅ°µµ·Ï ³ë·ÂÇØ¾ß ÇÕ´Ï´Ù.

¿µ¿ª Á¦¾àÀº Çã¿ëµÇ´Â µ¥ÀÌÅÍ °ª¿¡ ´ëÇÑ Á¦¾àÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, °í°´ÀÇ ¸¶Àϸ®Áö°¡ ±ÔÁ¤»ó 0 ÀÌÇÏ·Î ³»·Á°¥ ¼ö ¾ø´Ù¸é, 0 ÀÌ»óÀÇ Á¤¼ö¸¸ ÀÔ·ÂµÉ ¼ö ÀÖµµ·Ï ¿µ¿ª Á¦¾àÀ» »ç¿ëÇÏ´Â °ÍÀÌÁö¿ä. ÀÌ·± Á¦¾àÀ¸·Îµµ ó¸®Çϱâ Èûµç º¹ÀâÇÑ ¹«°á¼ºµµ ÇÁ·Î½ÃÀú³ª Æ®¸®°Å µî ¼­¹ö¿¡¼­ ó¸®ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» µ¿¿øÇÏ´Â °ÍÀÌ ¿©·¯¸ð·Î ÁÁ½À´Ï´Ù. ÀÌ·¸°Ô µÇ¸é ¾÷¹« ±ÔÄ¢ÀÌ ¹Ù²ï´Ù°í Çصµ ¼­¹ö ÇÑ ±ºµ¥¿¡¼­¸¸ ¹Ù²ãÁÖ¸é µÇ±â ¶§¹®¿¡ Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥ ¸ðµÎ¸¦ ¹Ù²ãÁÖ´Â °Íº¸´Ù ÈξÀ °£ÆíÇÕ´Ï´Ù. ±×·¸°Ô ÇÏ¸é µ¥ÀÌÅͺ£À̽º ¼­¹öÀÇ ºÎ´ãÀÌ °¡ÁߵǾî ÀüüÀûÀÎ ¼º´ÉÀÌ ³ªºüÁöÁö ¾Ê´À³Ä±¸¿ä? ¼³·É ±×·± °æ¿ì°¡ ÀÖ´Ù°í Çصµ Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥¿¡¼­ µ¥ÀÌÅÍÀÇ ¾ÈÁ¤¼ºÀ» º¸ÀåÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¾ÖÇø®ÄÉÀÌ¼Ç ¼­¹ö¸¦ ÀÌ¿ëÇØ 3Ƽ¾î(tier) ±¸Á¶·Î °¡´Â °ÍÀÌ ¹Ù¸¥ ±æÀÔ´Ï´Ù.

Æ®¸®°Å´Â ¼º´É¿¡ ¾Ç¿µÇâÀ» ¹ÌÄ£´Ù

ÇÑ Å×À̺íÀÇ µ¥ÀÌÅÍ°¡ º¯°æµÇ¾úÀ» ¶§ ÀÚµ¿ÀûÀ¸·Î ´Ù¸¥ Å×À̺íÀÇ µ¥ÀÌÅ͸¦ º¯°æÇØ¾ß ÇÑ´Ù¸é ¾î¶»°Ô ÇÒ±î¿ä? ±×¶§´Â Æ®¸®°Å¸¦ ¾²¸é µË´Ï´Ù. ´Ù¸¸ Æ®¸®°Å´Â »ó´ç ºÎºÐ ¼º´ÉÀ» ÀúÇϽÃÅ°°Ô µË´Ï´Ù. °Ô´Ù°¡ MS SQL ¼­¹ö¿Í °°Àº DBMS´Â ÃÖ±Ù ¹öÀü¿¡¼­µµ ¿©·¯ ·¹Äڵ尡 ÇѲ¨¹ø¿¡ º¯°æµÇ¾úÀ» ¶§ ù ¹ø° ·¹Äڵ忡¸¸ Æ®¸®°Å°¡ ½ÇÇàÀÌ µÇ´Â ¹®Á¦Á¡ÀÌ °íÃÄÁöÁö ¾Ê¾Ò½À´Ï´Ù. ±×·¯¹Ç·Î Ä¿¼­ µîÀ» ÀÌ¿ëÇؼ­ ÇÑ ¹ø¿¡ ÇϳªÀÇ ·¹Äڵ常 º¯°æÀÌ µÇµµ·Ï ¸¸µéÁö ¾ÊÀ¸¸é Æ®¸®°Å°¡ Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù.

µû¶ó¼­ °¡Àå ÁÁÀº °ÍÀº ¾Æ¿¹ Æ®¸®°Å¸¦ ¾µ ÇÊ¿ä°¡ ¾ø°Ô²û ¸¸µå´Â °ÍÀÔ´Ï´Ù. Á¤±ÔÈ­¸¦ öÀúÈ÷ ÇÏ¸é ´ëºÎºÐÀÇ Æ®¸®°Å´Â »ç¿ëÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. Á¤±ÔÈ­³ª Á¦¾àÀ¸·Îµµ ±¸ÇöÇÒ ¼ö ¾ø´Â º¹ÀâÇÑ ¹«°á¼º °­È­¿¡¸¸ Æ®¸®°Å¸¦ »ç¿ëÇϱ⠹ٶø´Ï´Ù.


null Çã¿ëÀ» ÇÇÇÏÀÚ

null Çã¿ëÀ» ÇÇÇÒ ¼ö ÀÖÀ¸¸é ÇÇÇÏ´Â °Ô ÁÁ½À´Ï´Ù. nullÀº ¡®ÇØ´çµÇ´Â °ªÀÌ ¾ø´Ù¡¯´Â ÀÇ¹Ì¿Í ¡®ÇØ´çµÇ´Â °ªÀÌ ÀÖÀ¸³ª ¾ËÁö ¸øÇÑ´Ù¡¯¶ó´Â µÎ °¡Áö Àǹ̷ΠÇؼ®µÉ ¼ö Àֱ⠶§¹®¿¡ °³¹ß¿¡ ¸¹Àº È¥¶õÀ» °¡Á®¿É´Ï´Ù. nullÀÌ ÀÖ´õ¶óµµ isnull ÇÔ¼ö µîÀ» ÀÌ¿ëÇØ ÀûÀýÇÑ ´Ù¸¥ µ¥ÀÌÅÍ·Î º¯°æÇØ Ã³¸®ÇÒ ¼öµµ ÀÖÁö¸¸ °¡´ÉÇÏ´Ù¸é ¾Æ¿¹ nullÀ» »ç¿ëÇÏÁö ¾Êµµ·Ï ÇÕ´Ï´Ù.


SQL¹®À» ÀÛ¼ºÇÒ ¶§ °í·ÁÇÒ °Í

Æ®·£Àè¼Ç ½ÃÀÛ ¸í·ÉÀ» »ç¿ëÇÏÀÚ

¹Ýµå½Ã commitÀ» ÇØÁà¾ß º¯°æ»çÇ×ÀÌ ¹Ý¿µµÇ´Â ¿À¶óŬ °°Àº DBMS¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é, µ¥ÀÌÅ͸¦ º¯°æÇÏ´Â insert, update, delete ¹®À» ¾²±â Àü¿¡ ¹Ýµå½Ã Æ®·£Àè¼Ç ½ÃÀÛ ¸í·ÉÀ» Àû¾îÁÖ´Â ½À°üÀ» µéÀÌ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. update ¹®À» ¾µ ¶§, ȤÀº delete ¹®À» ¾µ ¶§ ½Ç¼ö·Î where ÀýÀ» ¾È ½áÁÖ¸é ¸ðµç µ¥ÀÌÅÍ°¡ º¯°æµÇ¾î ¹ö¸®±â ¶§¹®¿¡ Áß¿äÇÑ µ¥ÀÌÅÍ°¡ ³¯¾Æ°© ¼ö ÀÖ´ä´Ï´Ù. ¿©·¯ºÐÀº ±×·± ½Ç¼ö ¾ÈÇÒ °Í °°ÁÒ? õ¸¸ÀÇ ¸»¾¸ÀÔ´Ï´Ù. ½ÇÁ¦·Î ±¹³»ÀÇ Àú¸íÇÑ ¸®Å©·çÆà ȸ»ç¿¡¼­ °³¹ßÀÚÀÇ ½Ç¼ö·Î ¸ðµç ȸ¿øÀÇ ¾ÏÈ£°¡ µ¿ÀÏÇÏ°Ô º¯°æµÇ¾î¼­ ȸ¿øµéÇÑÅ× »ç°úÇÏ°í ¾ÏÈ£¸¦ ´Ù½Ã ÀԷ¹޴ ÀÏÀÌ ¹ú¾îÁø ÀûÀÌ ÀÖ½À´Ï´Ù. ÇÊÀÚ°¡ ±Ù¹«Çϴ ȸ»ç¿¡¼­µµ º£Å׶û °³¹ßÀÚ°¡ A¶ó´Â ȸ¿øÀÇ Àû¸³±ÝÀ» ¿Ã·ÁÁÖ·Á°í Çߴµ¥ where À̸§ = ¡®A"¶ó´Â Á¶°ÇÀ» ±ôºý ÀØ°í ÇØÁÖÁö ¾Ê¾Æ ¸ðµç ȸ¿øÀÇ Àû¸³±ÝÀÌ µ¿ÀÏÇÏ°Ô º¯Çعö¸° °æ¿ì°¡ ÀÖ¾ú½À´Ï´Ù. ¸ð ¸®Å©·çÆà ȸ»ç¿Í´Â ´Þ¸® Ȳ±ÞÇÏ°Ô µ¥ÀÌÅͺ£À̽º¸¦ º¹¿øÇؼ­ º° ¹®Á¦¾øÀÌ Áö³ª°¡±ä Çß½À´Ï´Ù¸¸, ¹é¾÷¸¶Àú ¾ø¾ú´Ù¸é ´õ Å«ÀÏÀÌ ¹ú¾îÁ³°ÚÁÒ. ±× °³¹ßÀÚ ¿Ð ¿£ÅÍÅ°¸¦ Ä¡´Â ¼ø°£ ¡®¾ÆÂ÷¡¯ÇÏ´Â »ý°¢ÀÌ µé¸é¼­ ´«¾ÕÀÌ ³ë·¡Áö°í ¾Æ¹« °Íµµ »ý°¢ÇÒ ¼ö ¾ø´õ¶ó´Â ±º¿ä. ±×·± °æÇèÀº ¾È ÇÒ¼ö·Ï ÁÁ½À´Ï´Ù. ¿¹¸¦ µé¾î MS SQL ¼­¹ö¿¡¼­ Æ®·£Àè¼Ç ½ÃÀÛÀ» ¸í½ÃÀûÀ¸·Î ¼±¾ðÇØÁÖ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µË´Ï´Ù.

begin tran
delete ¾Æ½Ã¾Æ¿¡¼­_Á¦ÀÏ_Áß¿äÇÑ_Å×À̺í

½Ç¼ö¿´´Ù¸é rollback tran ¸í·ÉÀ» ³»·ÁÁÖ°í, ÀǵµÇÏ´Â ´ë·Î µÇ¾ú´Ù¸é commit tran ¸í·ÉÀ» ³»·ÁÁÖ¸é µË´Ï´Ù. ÀÌ¿Í °°ÀÌ ÀÏÀÏÀÌ begin tran ¸í·ÉÀ» ³»¸®±â ±ÍÂú´Ù¸é ÀÚµ¿ commitÀÌ ¾ÈµÇ°Ô²û ¼­¹ö ¼³Á¤°ªÀ» ¹Ù²Ù´Â °Íµµ °í·ÁÇغ¸±â ¹Ù¶ø´Ï´Ù.

Ä¿¼­ÀÇ »ç¿ëÀ» ÇÇÇÏÀÚ

Ä¿¼­¸¦ ºÒÇÊ¿äÇÏ°Ô »ç¿ëÇÏ´Â °ÍÀº µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇغ¸Áö ¾ÊÀº °³¹ßÀÚµéÀÌ ÈçÈ÷ ÀúÁö¸£´Â ¿À·ùÀÔ´Ï´Ù. Ä¿¼­¶õ Àüü µ¥ÀÌÅ͸¦ ÇѲ¨¹ø¿¡ ó¸®ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ÇÑ ·¹Äڵ带 ÀÐ¾î ¿Í¼­ ó¸®ÇÏ°í ±× ´ÙÀ½ ·¹Äڵ带 ÀÐ¾î ¿Í¼­ ó¸®ÇÏ´Â °úÁ¤À» ·çÇÁ¸¦ µ¹¸é¼­ ¹Ýº¹ÀûÀ¸·Î Çسª°¡´Â ±â¹ýÀÔ´Ï´Ù. ÀϹÝÀûÀÎ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­´Â ¹Ýº¹¹® µîÀ» ÀÌ¿ëÇØ ¸¹ÀÌ »ç¿ëÇÏ´Â ±â¹ýÀÌÁö¸¸, µ¥ÀÌÅͺ£À̽º´Â ¿ø·¡ ÁýÇÕ ÁöÇâÀûÀ¸·Î ¸¸µé¾îÁ®Àֱ⠶§¹®¿¡ Ä¿¼­¸¦ »ç¿ëÇÏ¸é »ó´çÈ÷ ¼º´ÉÀÌ ÀúÇϵ˴ϴÙ. Ä¿¼­´Â µÉ ¼ö ÀÖÀ¸¸é ÇϳªÀÇ insert, update, delete ¹®À¸·Î 󸮰¡ °¡´ÉÇϵµ·Ï ¹Ù²ã¾ß ÇÕ´Ï´Ù.

ÇÊ¿äÇÑ Ç׸ñ¸¸ ºÒ·¯¿ÀÀÚ

´ÙÀ½°ú °°Àº SQL¹®Àº ±×´ÙÁö ÁÁÀº °ÍÀº ¾Æ´Õ´Ï´Ù.

select * from °ø±ÞÀÚ where Áö¿ª = ¡®´ëÀü¡¯;
º°Ç¥(*)´Â from Àý¿¡¼­ ¸í½ÃÇÑ Å×ÀÌºí¿¡ ¼Ò¼ÓµÈ ¸ðµç Ç׸ñÀ» Ç¥½ÃÇÕ´Ï´Ù. ÇÏÁö¸¸ ²Ï ¸¹Àº ºÎÇϸ¦ °¡Á®¿É´Ï´Ù. »ç½Ç Å×À̺íÀÇ ¸ðµç Ç׸ñÀ» ´Ù °¡Á®¿Í¾ß ÇÏ´Â °æ¿ì´Â ±×·¸°Ô ¸¹Áö ¾Ê½À´Ï´Ù. ¹ø°Å·Ó´õ¶óµµ ÇÊ¿äÇÑ Ç׸ñ¸¸ Àû¾îÁÖ´Â °ÍÀÌ ÁÁÀº ½À°üÀÔ´Ï´Ù.
¿¬»êÀÚ ¿ÞÂÊÀÇ Çʵå´Â º¯ÇüÇÏÁö ¸»ÀÚ

´ÙÀ½°ú °°Àº SQL¹®Àº ¼º´ÉÀ» ÀúÇϽÃÅ°´Â ´ëÇ¥ÀûÀÎ ¿¹ÀÔ´Ï´Ù.

select »óÇ°¸í, ¼ö·® from ¹ßÁÖ where substr(»óÇ°¸í, 1, 2) = ¡®¸¶¼Ò¡¯;
À妽º¸¦ ÁöÁ¤ÇÏ¸é °Ë»ö¼Óµµ°¡ ºñ¾àÀûÀ¸·Î Çâ»óµÈ´Ù´Â °ÍÀº Áö³­ È£¿¡ ¸»ÇÑ ¹Ù ÀÖ½À´Ï´Ù¸¸, ÀÌ¿Í °°Àº SQL¹®Àº »óÇ°¸í Çʵ忡 À妽º¸¦ ÁöÁ¤Çß´Ù ÇÏ´õ¶óµµ À̸¦ »ç¿ëÇÏÁö ¸øÇϱ⠶§¹®¿¡ Å×À̺íÀÇ ¸ðµç µ¥ÀÌÅ͸¦ ÀÏÀÏÀÌ µÚÁ®¾ß¸¸ ÇÕ´Ï´Ù. ´ç¿¬È÷ ¾öû³­ ¼º´É ÀúÇÏ°¡ ¹ß»ýÇÏ°ÚÁÒ. µû¶ó¼­ SQL¹®Àº ´ÙÀ½Ã³·³ ¹Ù²ã¾ß ÇÕ´Ï´Ù.
select »óÇ°¸í, ¼ö·® from ¹ßÁÖ where »óÇ°¸í like "¸¶¼Ò%¡®;
´Ù¸¸ ÀÌ °æ¿ì¿¡µµ ¡®%¸¶¼Ò%¡¯³ª ¡®%¸¶¼Ò¡¯Ã³·³ ã°íÀÚ ÇÏ´Â ¹®ÀÚ¿­ÀÌ Áß°£¿¡ Àְųª ¸¶Áö¸·¿¡ ÀÖ´Ù¸é À妽º¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. Áï, À妽º°¡ °É·ÁÀÖ´Â Çʵ忡 ´ëÇØ like ¿¬»êÀÚ·Î ºñ±³ÇÒ ¶§ ¸Ç ¾Õ¿¡ ¡®%¡¯³ª ¡®_¡¯°¡ ¿À´Â °æ¿ì¿¡´Â À妽º¸¦ ÀÌ¿ëÇÏÁö ¾Ê½À´Ï´Ù.
select »óÇ°¸í, ¼ö·® from ¹ßÁÖ where °¡°Ý*100 > 100000;
ÀÌ SQL¹® ¿ª½Ã ¿¬»êÀÚ ¿ÞÂÊ Çʵ尡 º¯ÇüµÇ¾ú±â ¶§¹®¿¡ ¼Óµµ°¡ ¸¹ÀÌ ´À·ÁÁý´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ¹Ù²ã¾ß°ÚÁÒ.
select »óÇ°¸í, ¼ö·® from ¹ßÁÖ where °¡°Ý > 100000 / 100;
ƯÈ÷ ÇÊÀÚÀÇ °æÇè»ó °ÅÀÇ ´ëºÎºÐÀÇ Ãʺ¸ °³¹ßÀÚ°¡ ½Ç¼öÇÏ´Â ºÎºÐÀº ³¯Â¥ Çʵ忡 Á¶°ÇÀ» ÁÙ ¶§ÀÔ´Ï´Ù.
select »óÇ°¸í, ¼ö·® from ¹ßÁÖ where year(¹ßÁÖÀÏ) = 2003;
2003³â¿¡ ¹ßÁÖÇÑ »óÇ°¸í°ú ¼ö·®À» Á¶È¸ÇÏ´Â ÀÌ SQL¹®Àº ¹ßÁÖÀÏ ÇʵåÀÇ ¸ðµç µ¥ÀÌÅ͸¦ ÀÏ´Ü Çѹø year ÇÔ¼ö·Î ó¸®ÇÑ ´ÙÀ½ ±× °ªÀ» 2003°ú ºñ±³ÇÏ°Ô µË´Ï´Ù. µû¶ó¼­ À妽º¸¦ »ç¿ëÇÒ ¼ö ¾ø°í ºÎÇϵµ ¸¹ÀÌ °É¸³´Ï´Ù. µû¶ó¼­ ´ÙÀ½°ú °°ÀÌ ¹Ù²ã¾ß ÇÕ´Ï´Ù.
select »óÇ°¸í, ¼ö·® from ¹ßÁÖ where ¹ßÁÖÀÏ >= ¡®2003.1.1¡¯ and ¹ßÁÖÀÏ < ¡®2004.1.1¡¯;

not ¿¬»êÀÚ¸¦ ¾²Áö ¸»ÀÚ

not ¿¬»êÀÚ¸¦ »ç¿ëÇϸé À妽º¸¦ »ç¿ëÇÏÁö ¾Ê±â ¶§¹®¿¡ °¡´ÉÇÏ¸é »ç¿ëÇÏÁö ¾Ê´Â °Ô ÁÁ½À´Ï´Ù. ¿¹¸¦ µé¾î Áö³­ È£ ¼÷Á¦ ?¹øÀÇ ´äÀº ¾Æ·¡¿Í °°½À´Ï´Ù.

select °ø±ÞÀÚÀ̸§, Áö¿ª from °ø±ÞÀÚ where Áö¿ª not in ("¼­¿ï¡®, ¡¯´ëÀü¡®, ¡¯ÀÎõ¡®);
¸¸¾à Áö¿ªÀÌ ¡®¼­¿ï¡¯, ¡®´ëÀü¡¯, ¡®ÀÎõ¡¯, ¡®±¤ÁÖ¡¯, ¡®¼ö¿ø¡¯, ¡®ºÎ»ê¡¯, ¡®Á¦ÁÖ¡¯, ¡®¿ï»ê¡®¹Û¿¡ ¾ø´Ù¸é not ¿¬»êÀÚ¸¦ ¾²Áö ¾Ê°í ´ÙÀ½°ú °°ÀÌ º¯°æÇÏ´Â °ÍÀÌ À妽º¸¦ »ç¿ëÇÒ ¼ö Àֱ⠶§¹®¿¡ ÈξÀ ¼Óµµ Çâ»ó¿¡ µµ¿òÀÌ µË´Ï´Ù.
select °ø±ÞÀÚÀ̸§, Áö¿ª from °ø±ÞÀÚ where Áö¿ª in (¡®±¤ÁÖ¡¯, ¡®¼ö¿ø¡¯, ¡®ºÎ»ê¡¯, ¡®Á¦ÁÖ¡¯, ¡®¿ï»ê¡®);

»ó°ü³»Æ÷¹®À» ÇÇÇÏÀÚ.

ÀϹÝÀûÀÎ ÇÏÀ§ÁúÀÇ(³»Æ÷¹®)´Â ÇÏÀ§ÁúÀÇ°¡ ¿ÏÀüÈ÷ ½ÇÇàµÈ ÈÄ ±× °á°ú °ªÀ» ¹ÙÅÁÀ¸·Î »óÀ§ ÁúÀÇ°¡ ½ÇÇàµË´Ï´Ù. ±×·¯³ª ÇÏÀ§ÁúÀÇ¿Í »óÀ§ ÁúÀÇÀÇ °á°ú °ªÀÌ ¼­·Î ¿¬°áµÇ¾î ÀÖ´Â °æ¿ì°¡ Àִµ¥, À̸¦ »ó°ü³»Æ÷¹®À̶ó°í ÇÕ´Ï´Ù. »ó°ü³»Æ÷¹®Àº ÀϹÝÀûÀÎ ÇÏÀ§ÁúÀÇ¿Í ÇüÅ»óÀ¸·Î´Â ºñ½ÁÇØ º¸À̳ª ÇÏÀ§ÁúÀÇ¿¡¼­ »óÀ§ ÁúÀÇÀÇ Å×À̺í¸íÀÌ »ç¿ëµÇ´Â Á¡ÀÌ ´Ù¸¨´Ï´Ù. ¶ÇÇÑ »óÀ§ ÁúÀÇÀÇ °á°ú °ªÀ» ÇÏÀ§ÁúÀÇ°¡ ÀÌ¿ëÇϹǷΠÇÏÀ§ÁúÀǸ¸ µû·Î ½ÇÇà½ÃÄ×À» °æ¿ì ¿¡·¯°¡ ¹ß»ýÇÑ´Ù´Â °Íµµ Â÷ÀÌÁ¡ÀÔ´Ï´Ù. Áö³­ È£ÀÇ ¼÷Á¦ ??¹øÀÌ »ó°ü³»Æ÷¹®À» ½á¾ßÇÏ´Â ¿¹ÀÔ´Ï´Ù.

select »óÇ°¹øÈ£, °ø±ÞÀÚ¹øÈ£, ´Ü°¡ from ¹ßÁÖ o1 where ´Ü°¡ > (select avg(´Ü°¡) from ¹ßÁÖ o2 where o2.»óÇ°¹øÈ£ = o1.»óÇ°¹øÈ£);
ÀÌ SQL¹®ÀÌ ½ÇÇàµÇ´Â ¼ø¼­¸¦ º¸¸é ¸ÕÀú ÇÏÀ§ÁúÀǸ¦ ½ÇÇàÇϱâ À§ÇØ ÇöÀç »óÀ§ ÁúÀÇ¿¡¼­ °Ë»öµÈ ·¹ÄÚµåÀÇ »óÇ°¹øÈ£¿Í °°Àº ·¹Äڵ带 °Ë»öÇؼ­ Æò±Õ ´Ü°¡¸¦ ±¸ÇÕ´Ï´Ù. Áï, o1 Å×À̺íÀÇ Ã¹ ¹ø° »óÇ°¹øÈ£°¡ 105¹øÀ̹ǷΠ¾ÕÀÇ ÇÏÀ§ÁúÀÇ´Â ½ÇÁ¦·Î ´ÙÀ½°ú °°Àº SQL ¹®À» ½ÇÇàÇÏ´Â °Í°ú µ¿ÀÏÇÕ´Ï´Ù.

(select avg(´Ü°¡) from ¹ßÁÖ o2 where o2.»óÇ°¹øÈ£ = 105);
ÀÌ ÇÏÀ§ÁúÀÇÀÇ ½ÇÇà °á°ú, »óÇ°¹øÈ£ 105¹øÀÇ Æò±Õ ÁÖ¹®´Ü°¡°¡ 205À̹ǷΠÀÌÁ¦ »óÀ§ ÁúÀÇ´Â ½ÇÁ¦·Î ´ÙÀ½°ú °°Àº ÁúÀǸ¦ ½ÇÇàÇÏ´Â °Í°ú µ¿ÀÏÇØÁý´Ï´Ù.

select »óÇ°¹øÈ£, °ø±ÞÀÚ¹øÈ£, ´Ü°¡ from ¹ßÁÖ o1 where ´Ü°¡ > (205);
o1 Å×À̺íÀÇ Ã¹ ¹ø° ·¹ÄÚµåÀÇ ´Ü°¡°¡ 210À̹ǷΠÀڱ⠻óÇ°ÀÇ Æò±Õ ¹ßÁÖ ´Ü°¡º¸´Ù ³ôÀ¸¹Ç·Î °Ë»öµÇ°í, ´ÙÀ½ ·¹ÄÚµå·Î À̵¿Çؼ­ ¾ÕÀÇ °úÁ¤À» ¹Ýº¹ÇÏ°Ô µË´Ï´Ù.

Á¦´ë·Î ¾ËÁö ¸øÇÏ´Â °æ¿ì´Â ¾Æ¿¹ ¸ð¸£´Â °Íº¸´Ù ´õ ¾È ÁÁÀº °æ¿ìµµ ÀÖ½À´Ï´Ù. »ó°ü³»Æ÷¹®Àº ¾î·Á¿ö¼­ ÀÛ¼ºÇϱ⵵ ÈûµéÁö¸¸, »ó°ü³»Æ÷¹®À» °« ¹è¿î Ãʺ¸°³¹ßÀÚµéÀº ÀÚ±âÀÇ ½Ç·ÂÀ» °ú½ÃÇÒ °â ´Ù¸¥ ¹æ¹ýÀ¸·Î ±¸ÇÒ ¼ö ÀÖ´Â Á¤º¸¶óµµ ±»ÀÌ »ó°ü³»Æ÷¹®À¸·Î Ç¥ÇöÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

»ó°ü³»Æ÷¹®À» ¾²¸é ¼º´ÉÀÌ »ó´çÈ÷ ÀúÇÏ°¡ µË´Ï´Ù. ²À ½á¾ß ÇÏ´Â °æ¿ì¶ó¸é ÇÒ ¼ö ¾øÁö¸¸, ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ´Ù¸é »ç¿ëÇÏÁö ¾Êµµ·Ï ÇÕ´Ï´Ù. ±×¸®°í ÇÑ ÁÙÀÇ »ó°ü³»Æ÷¹®º¸´Ù Ä¿¼­¸¦ ½á¼­ ¹Ýº¹ÀûÀ¸·Î ·çÇÁ¸¦ µ¹·Á¼­ ó¸®ÇÏ´Â °Ô ¿ÀÈ÷·Á ºü¸¥ °æ¿ìµµ ÀÖ´Ù´Â °ÍÀ» ¸í½ÉÇϽʽÿÀ.

Æ®·£Àè¼Ç°ú Àá±Ý ¹®Á¦

°³¹ß ´ç½Ã¿¡´Â Àß ÀÛµ¿ÇÏ´ø ½Ã½ºÅÛÀÌ ½ÇÁ¦·Î ¾÷¹«¿¡ ÅõÀÔÀÌ µÇ¾úÀ» ¶§ ¹®Á¦°¡ µÇ´Â °æ¿ì°¡ Á¾Á¾ ÀÖ½À´Ï´Ù. °³¹ßÇÒ ¶§¿¡´Â ´Ù¼öÀÇ »ç¿ëÀÚ°¡ µ¿½Ã¿¡ ÇÑ µ¥ÀÌÅÍ¿¡ Á¢±ÙÇÏ´Â °æ¿ì°¡ º°·Î ¾ø½À´Ï´Ù¸¸, ½ÇÁ¦ ¾÷¹«¿¡¼­ µ¿½Ã¿¡ ´Ù¼öÀÇ »ç¿ëÀÚ°¡ ÇÑ µ¥ÀÌÅÍ¿¡ Á¢±ÙÇÏ°Ô µÇ¸é¼­ Æ®·£Àè¼Ç°ú °ü·ÃÇÑ ¹®Á¦°¡ ¹ß»ýÇϱ⠶§¹®ÀÔ´Ï´Ù. ¾ÕÀå¿¡¼­ Æ®·£Àè¼ÇÀÇ °³³ä°ú Çʿ伺, ±×¸®°í Æ®·£Àè¼Ç ·Î±×¸¦ ÀÌ¿ëÇÑ µ¥ÀÌÅͺ£À̽ºÀÇ º¹±¸¿¡ ´ëÇؼ­ °£´ÜÈ÷ »ìÆ캸¾Ò½À´Ï´Ù¸¸, ±× ¿Ü¿¡ ½Ç¹«¿¡¼­ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ´Ù ¸¸³ª°Ô µÇ´Â Æ®·£Àè¼Ç°ú °ü·ÃµÈ »çÇ×À» ¸î °¡Áö ´õ ¸»¾¸µå¸®°Ú½À´Ï´Ù.

½Ç¹«¿¡¼­ °¡Àå ¸¹ÀÌ ºÎµúÈ÷´Â »ç·Ê´Â »ç¿ë·®ÀÌ ¸¹Áöµµ ¾ÊÀºµ¥ µ¥ÀÌÅͺ£À̽º°¡ ¸ÔÅëÀÌ µÈ °Íó·³ ¾Æ¹« °Íµµ ó¸®ÇÏÁö ¸øÇÏ´Â °æ¿ìÀÏ °Ì´Ï´Ù. ÀÌ °æ¿ì´Â ½ÊÁßÆȱ¸ Æ®·£Àè¼ÇÀÌ ¿Ï·á(commit)µÇÁö ¾Ê¾Æ¼­ µ¥ÀÌÅͺ£À̽º°¡ Àá°Ü Àֱ⠶§¹®ÀÔ´Ï´Ù. º¸Åë ¶ô(lock)ÀÌ °É·ÁÀÖ´Ù°íµµ Ç¥ÇöÀ» ÇÕ´Ï´Ù.

Àá±ÝÀÌ ¹ß»ýÇÏ´Â ÀÌÀ¯

Àá±ÝÀÌ ¿Ö ¹ß»ýÇÏ´ÂÁö <±×¸² 2>¸¦ ¿¹·Î µé¾î ¼³¸íÇغ¸°Ú½À´Ï´Ù. Àç°í°¡ 10°³ÀÎ »óÅ¿¡¼­ ÁÖ¹® A, B°¡ µ¿½Ã¿¡ ¹ß»ýÇß´Ù°í »ý°¢Çغ¾½Ã´Ù. ÁÖ¹®ÀÌ µé¾î¿À¸é ÆÈ ¼ö ÀÖ´Â Àç°í¸¦ Çϳª °¨¼Ò½ÃÄÑ¾ß Çϱ⠶§¹®¿¡ ÁÖ¹® A¿¡¼­ Àç°í·®À» Çϳª ÁÙÀÎ 9°³·Î ¼öÁ¤Çؼ­ ÀúÀåÇÕ´Ï´Ù. ±×·³ ÁÖ¹® B¿¡¼­´Â ¾î¶³±î¿ä? ÁÖ¹® A¿Í µ¿½Ã¿¡ ÁÖ¹®µÈ °ÍÀ̹ǷΠÀç°í°¡ 9°³·Î ÁÙ¾îµé±â ÀÌÀü¿¡ Àç°í¸¦ ÀÐ°Ô µË´Ï´Ù. µû¶ó¼­ ÁÖ¹® B¿¡¼­µµ Àç°í·®Àº 10°³·Î ÀÐ¾î µéÀÔ´Ï´Ù. ´ç¿¬È÷ ÁÖ¹® B¿¡¼­µµ Àç°í·®À» Çϳª ÁÙÀÎ 9°³·Î ¼öÁ¤Çؼ­ ÀúÀåÇÏ°ÚÁÒ. ÁÖ¹® 2°³°¡ µé¾î¿Ô±â ¶§¹®¿¡ ½ÇÁ¦·Î ÆÈ ¼ö ÀÖ´Â Àç°í·®Àº 8°³°¡ µÇ¾î¾ß ÇÔ¿¡µµ ºÒ±¸ÇÏ°í 9°³°¡ ÀúÀåµÇ¾î ¹ö¸° °ÅÁÒ. ÀÌ·± ¹®Á¦°¡ ¹ß»ýÇÑ ÀÌÀ¯´Â Æ®·£Àè¼Ç »çÀÌÀÇ °£¼·ÀÌ ÀϾ±â ¶§¹®ÀÔ´Ï´Ù.

[±×¸² 1] µ¿½Ã º¯°æ½ÃÀÇ ¹®Á¦


´ëºÎºÐÀÇ DBMS¿¡¼­´Â ÀÌ·± °£¼·À» ÁÙÀ̱â À§ÇÑ ¸ÅÄ¿´ÏÁòÀ» Á¦°øÇϴµ¥, ±× Áß ´ëÇ¥ÀûÀÎ °ÍÀÌ µ¥ÀÌÅ͸¦ Àá°¡(lock)¹ö¸®´Â °ÍÀÔ´Ï´Ù. ÁÖ¹® A°¡ Àç°í·®À» º¯°æÇϱâ Àü¿¡ º¯°æÇÒ µ¥ÀÌÅ͸¦ ¹Ì¸® Àá°¡¹ö¸®°í Àç°í·® ¼öÁ¤ÀÌ ³¡³ª±â Àü±îÁö´Â ´Ù¸¥ »ç¿ëÀÚ°¡ ±× µ¥ÀÌÅÍ¿¡ Á¢±ÙÇÏ´Â °ÍÀ» Â÷´ÜÇÏ´Â °Ì´Ï´Ù. µû¶ó¼­ ÁÖ¹® B´Â ÁÖ¹® A°¡ Á¾·áµÈ ´ÙÀ½¿¡ ÁøÇàÀÌ µÇ±â ¶§¹®¿¡ Æ®·£Àè¼Ç »çÀÌÀÇ °£¼·ÀÌ ÀϾÁö ¾Ê½À´Ï´Ù.

[±×¸² 2] Àá±ÝÀ» ÀÌ¿ëÇÑ µ¿½Ã º¯°æ ¹®Á¦ ÇØ°á


ÀÌó·³ Àá±ÝÀº µ¿½Ã¿¡ ÇÑ µ¥ÀÌÅ͸¦ º¯°æÇÒ ¶§ÀÇ ¹®Á¦Á¡À» ÇØ°áÇϱâ À§ÇÑ °£´ÜÇÑ ¹æ¹ýÀÌÁö¸¸, ÀÌ·Î ÀÎÇÑ ¶Ç ´Ù¸¥ ¹®Á¦¸¦ ¹ß»ý½Ãŵ´Ï´Ù.

commit ÇÏÁö ¾ÊÀº Æ®·£Àè¼Ç

¿À¶óŬ¿¡¼­´Â µ¥ÀÌÅ͸¦ º¯°æÇصµ commit ¸í·ÉÀ» ³»·ÁÁÖ±â Àü±îÁö´Â Æ®·£Àè¼ÇÀ» ¿Ï·áÇÏÁö ¾Ê½À´Ï´Ù. Æ®·£Àè¼ÇÀÌ ¿Ï·áµÇÁö ¾Ê¾Ò±â ¶§¹®¿¡ Àá°ÜÀÖ´Â »óÅ·Π³²¾ÆÀÖ°í, ±× µ¥ÀÌÅÍ´Â ´Ù¸¥ »ç¿ëÀÚ°¡ ÀÌ¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ¹®Á¦´Â µ¥ÀÌÅ͸¦ º¯°æÇÑ ¼¼¼Ç¿¡¼­´Â º¯°æµÈ µ¥ÀÌÅ͸¦ ±×´ë·Î º¸¿©Áֱ⠶§¹®¿¡ »ç¶÷µéÀÌ Á¾Á¾ commitÇÏ´Â °ÍÀ» ±ôºý Àش´ٴ °Ì´Ï´Ù. ÀÌ·¸°Ô µÇ¸é »ç¹«½ÇÀÌ ³­¸®°¡ ³³´Ï´Ù. Àß µ¹¾Æ°¡´ø µ¥ÀÌÅͺ£À̽º´Â ¸ÔÅëÀÎ »óÅ·ΠÀÀ´äÀ» ÇÏÁö ¾Ê°í ¿©±âÀú±â¼­ ½Ã½ºÅÛÀÌ Á×¾ú´Ù´Â ÀüÈ­°¡ °É·Á¿É´Ï´Ù. commit ¸í·É¸¸ ³»·ÁÁÖ¸é ÇØ°áÀÌ °¡´ÉÇÑ °£´ÜÇÑ ¹®Á¦Áö¸¸, ¶§·Î´Â ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇÏÁö ¸øÇØ ÇÏ·ç Á¾ÀÏÀ» ¼Ò¸ðÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·± Ãʺ¸ÀûÀÎ ½Ç¼ö¸¦ ÇÏ´Â °æ¿ì°¡ Àֳı¸¿ä? ½Ç¹«¿¡¼­ ÀÌ·± °æ¿ì´Â ºñÀϺñÀçÇÏ°Ô ¹ß»ýÇÕ´Ï´Ù. ƯÈ÷ ÀÚµ¿ commitÀÌ µðÆúÆ® °ªÀÌ ¾Æ´Ñ ¿À¶óŬ µîÀÇ DBMS¸¦ »ç¿ëÇÏ´Â °æ¿ì¿¡´Â ¾Æ¿¹ óÀ½ºÎÅÍ µ¥ÀÌÅ͸¦ º¯°æÇÏ°í ³ª¸é commit ¸í·ÉÀ» »ç¿ëÇϰųª, ¿À¶óŬ Á¢¼ÓÀ» ²÷´Â ¹ö¸©À» µéÀÌ´Â °Ô ÁÁ½À´Ï´Ù. ÀÚµ¿ commitÀ» ÇÏ´Â DBMS¶óµµ ¸í½ÃÀûÀ¸·Î Æ®·£Àè¼Ç ½ÃÀÛ ¸í·ÉÀ» ³»¸° °æ¿ì¿£ commitÇÏÁö ¾Ê´Â ÇÑ °è¼Ó µ¥ÀÌÅÍ°¡ Àá°ÜÀÖ°Ô µÇ¹Ç·Î ÁÖÀÇÇØ¾ß ÇÕ´Ï´Ù.

±³Âø»óÅÂ

µÑ ÀÌ»óÀÇ Æ®·£Àè¼ÇÀÌ °¢±â ´Ù¸¥ µ¥ÀÌÅ͸¦ Àá±Ù ´ÙÀ½, ¼­·Î »ó´ë¹æÀÇ µ¥ÀÌÅÍ°¡ Àá±è¿¡¼­ Ç®¸®±â¸¦ ±â´Ù¸®´Â °æ¿ì¿¡´Â ´ë±â »óÅ°¡ ¿µ¿øÈ÷ Áö¼ÓµÇ´Â ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù. À̸¦ ±³Âø»óÅÂ(deadlock)¶ó°í Çϴµ¥, ÀÏ»ó»ýÈ°¿¡¼­ °æÇèÇÒ ¼ö ÀÖ´Â ±³Âø»óÅ´ <±×¸² 3>ó·³ ±³Â÷·Î¿¡¼­ ¼­·Î°¡ ¼­·ÎÀÇ ÁøÇàÀ» ¸·¾Æ¼­ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.

[±×¸² 3] ±³Â÷·Î¿¡¼­ÀÇ ±³Âø»óÅÂ


¿¹¸¦ µé¾î Æ®·£Àè¼Ç A´Â ·¹ÄÚµå X¸¦ Àá±Ù ´ÙÀ½ ·¹ÄÚµå Y¸¦ º¯°æÇÏ¸é ³¡³ª°í, Æ®·£Àè¼Ç B´Â ·¹ÄÚµå Y¸¦ Àá±Ù ´ÙÀ½ ·¹ÄÚµå X¸¦ º¯°æÇÏ¸é ³¡³­´Ù°í ÇսôÙ. µÎ Æ®·£Àè¼ÇÀÌ µû·Î ½ÇÇàÀÌ µÇ¸é ¾Æ¹«·± ¹®Á¦°¡ ¹ß»ýÇÏÁö ¾ÊÁö¸¸, Æ®·£Àè¼Ç A°¡ ·¹ÄÚµå X¸¦ Àá±Ù ÀÌÈÄ¿¡ Æ®·£Àè¼Ç B°¡ ½ÃÀ۵Ǿ ·¹ÄÚµå Y¸¦ Àá°¡¹ö¸®¸é ¾î¶² ÀÏÀÌ ÀϾ±î¿ä? <±×¸² 4>ó·³ Æ®·£Àè¼Ç A´Â ·¹ÄÚµå Y°¡ Àá°ÜÀֱ⠶§¹®¿¡ ´õ ÀÌ»ó ÀÛ¾÷ÀÌ ÁøÇàµÇÁö ¸øÇÏ°í, Æ®·£Àè¼Ç B´Â ·¹ÄÚµå X°¡ Àá°ÜÀֱ⠶§¹®¿¡ ¾Æ¹«·± ÀÛ¾÷ÀÌ ÁøÇàµÇÁö ¾Ê½À´Ï´Ù.

[±×¸² 4] ±³Âø»óÅÂÀÇ ¿¹



DBMS´Â ÀÌ·± ±³Âø»óŸ¦ °¨ÁöÇØ °­Á¦·Î ¾î´À ÇÑÂÊÀÇ Æ®·£Àè¼ÇÀ» Ãë¼ÒÇÏ¿© ±³Âø»óŸ¦ ÇؼÒÇÕ´Ï´Ù. ÇÏÁö¸¸ ±³Âø»óŸ¦ ÇØ°áÇϱâ±îÁö ¾î´À Á¤µµÀÇ ½Ã°£ÀÌ ¼Ò¿äµÇ¹Ç·Î »ó´çÇÑ ¼º´ÉÀúÇϸ¦ °¡Á®¿À°Ô µË´Ï´Ù. °¡Àå ÁÁÀº °ÍÀº ±³Âø»óÅ°¡ ÀϾÁö ¾Êµµ·Ï °³¹ßÀ» ÇÏ´Â °ÍÀÌÁÒ. ù°, Æ®·£Àè¼ÇÀ» ª°Ô »ç¿ëÇÕ´Ï´Ù. Æ®·£Àè¼ÇÀÌ ±æ¾îÁö¸é Àá±Ýµµ ¿À·¡°¡°í ±³Âø»óÅ°¡ ¹ß»ýÇÒ °¡´É¼ºµµ Ä¿Áö°Ô µË´Ï´Ù. µÑ°, µ¥ÀÌÅ͸¦ »ç¿ëÇÏ´Â ¼ø¼­¸¦ µ¿ÀÏÇÏ°Ô Çϵµ·Ï ³ë·ÂÇØ¾ß ÇÕ´Ï´Ù. Áï, ·¹ÄÚµå X¿Í Y¸¦ º¯°æÇÏ´Â Æ®·£Àè¼ÇÀº ¸ðµÎ X¸¦ ¸ÕÀú Àá±Ù ´ÙÀ½ Y¸¦ º¯°æÇÏ°Ô²û °³¹ßÀ» ÇÑ´Ù¸é <±×¸² 4>¿Í °°Àº ±³Âø»óÅ´ ¹ß»ýÇÏÁö ¾ÊÀ» °Ì´Ï´Ù.

´ë±Ô¸ð µ¥ÀÌÅÍÀÇ º¯°æ

´ë±Ô¸ð µ¥ÀÌÅ͸¦ º¯°æÇÒ ¶§¿¡µµ Àá±ÝÀÇ ¹®Á¦´Â ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸î °³ ·¹Äڵ带 º¯°æÇÏ´Â °æ¿ì¿£ Æ®·£Àè¼ÇÀÇ ¼Ò¿ä½Ã°£ÀÌ ¾ÆÁÖ ÂªÀ¸¹Ç·Î µ¥ÀÌÅÍ°¡ Àá°ÜÀÖ´Â ½Ã°£µµ ª°í, Àá°ÜÀÖ´Â ·¹Äڵ嵵 ¸î °³ ¾ÈµÇ±â ¶§¹®¿¡ ¹®Á¦°¡ µÇÁö ¾Ê½À´Ï´Ù. ÇÏÁö¸¸ ´ë±Ô¸ð µ¥ÀÌÅ͸¦ º¯°æÇÒ ¶§´Â ¾ê±â°¡ ´Ù¸¨´Ï´Ù. ¿¹¸¦ µé¾î ¼ö¹é¸¸ ȸ¿øÀÇ Á¤º¸°¡ µé¾îÀÖ´Â Å×ÀÌºí¿¡¼­ ¾î¶² ÇÊµå °ªÀ» º¯°æÇÑ´Ù°í Çغ¾½Ã´Ù. ¼ö¹é¸¸ ·¹ÄÚµåÀÇ µ¥ÀÌÅÍ°¡ ¸ðµÎ º¯°æµÉ ¶§±îÁö ȸ¿ø Å×À̺íÀÌ Àá°ÜÀֱ⠶§¹®¿¡, ±× ½Ã°£µ¿¾È ȸ¿ø °¡ÀÔ, Á¤º¸ º¯°æ, Å»Åð µîÀÌ ¸ðÁ¶¸® ºÒ°¡´ÉÇØÁý´Ï´Ù.

µû¶ó¼­ ´ë±Ô¸ð µ¥ÀÌÅ͸¦ º¯°æÇÒ ¶§¿¡´Â Ä¿¼­ µîÀ» ÀÌ¿ëÇؼ­ ÇÑ ·¹Äڵ徿 º¯°æÀ» ÇØÁÖ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. µ¥ÀÌÅͺ£À̽º Ã¥¿¡¼­ Ä¿¼­¸¦ µÉ ¼ö ÀÖÀ¸¸é ¾²Áö ¸»¶ó°í Çß´Ù°í¿ä? ¹°·Ð ±× ¸»ÀÌ Á¤´äÀÔ´Ï´Ù. Ä¿¼­¸¦ ¾²Áö ¾ÊÀ¸¸é ÇÑ ½Ã°£¿¡ ³¡³¯ ÀÛ¾÷ÀÌ Ä¿¼­¸¦ ¾²¸é µÎ ½Ã°£ÀÌ °É¸± ¼öµµ ÀÖ½À´Ï´Ù. ±×¸¸Å­ ºñÈ¿À²ÀûÀÎ °ÍÀº »ç½ÇÀÔ´Ï´Ù. ±×·¡¼­ ÀϹÝÀûÀÎ °æ¿ì´Â Ä¿¼­¸¦ ¾²Áö ¾Ê´Â °ÍÀ» ±ÇÀåÇÕ´Ï´Ù. ´Ù¸¸ ´ë±Ô¸ð µ¥ÀÌÅ͸¦ º¯°æÇÏ´Â °æ¿ì 1½Ã°£µ¿¾È ¸ðµç ÀÛ¾÷ÀÌ ÁßÁöµÇ´Â °Íº¸´Ù´Â µÎ ½Ã°£¿¡ °ÉÃÄ ÀϾÁö¸¸ ¸ðµç ÀÛ¾÷ÀÌ ¿øÈ°ÇÏ°Ô ÁøÇàµÇ´Â ÂÊÀÌ ÁÁÀ» °æ¿ì°¡ ¸¹½À´Ï´Ù.

´ë±Ô¸ð µ¥ÀÌÅÍÀÇ Á¶È¸

Àá±ÝÀº µ¥ÀÌÅ͸¦ º¯°æÇÒ ¶§¸¸ ÀϾ´Â °ÍÀÌ ¾Æ´Ï¶ó µ¥ÀÌÅ͸¦ ÀÐÀ» ¶§¿¡µµ ¹ß»ýÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ȸ¿øÀÇ ¼ö°¡ ¸î ¸íÀÎÁö ¾Ë¾Æº¸±â À§Çؼ­ ȸ¿ø µ¥ÀÌÅ͸¦ Àаí ÀÖ´Â Áß°£¿¡ ȸ¿ø °¡ÀÔÀ̳ª Å»Åð°¡ ÀÌ·ç¾îÁ® ¹ö¸°´Ù¸é Á¤È®ÇÑ È¸¿ø¼ö¸¦ ¾Ë¾Æ³¾ ¼ö ¾ø±â ¶§¹®¿¡ ±× ½Ã°£µ¿¾È¿¡´Â Àá±ÝÀÌ ¹ß»ýÇØ È¸¿ø °¡ÀÔ°ú Å»Å𸦠¸·´Â °ÍÀÌÁÒ. ÀÌó·³ Àá±ÝÀÌ ¹ß»ýÇϱ⠶§¹®¿¡ ÀÀ¿ë ÇÁ·Î±×·¥À» ¸¸µé ¶§ ¸¹Àº µ¥ÀÌÅ͸¦ ºÒ·¯¿Ã ¼ö ÀÖ°Ô ¸¸µå´Â °ÍÀº º°·Î ¹Ù¶÷Á÷ÇÏÁö ¾Ê½À´Ï´Ù. ±â²¯ÇØ¾ß È­¸é¿¡¼­ º¸°í ó¸®ÇÒ ¼ö ÀÖ´Â ·¹ÄÚµå´Â ¸î¹é°³ ¹Ì¸¸Àε¥, ¸ðµç µ¥ÀÌÅ͸¦ ºÒ·¯¿À´À¶ó Àá±ÝÀÌ ¹ß»ýÇؼ­ ÀüüÀûÀÎ µ¥ÀÌÅͺ£À̽º ¼º´ÉÀÌ ³ªºüÁö°Ô µË´Ï´Ù. ÇÏÁö¸¸, ¿¹¸¦ µç °Íó·³ ȸ¿ø¼ö°¡ ¸î ¸íÀÌ µÇ´ÂÁö ¾Ë¾Æº¸·Á°í Çϸé Àüü µ¥ÀÌÅ͸¦ Á¶È¸ÇÒ ¼ö¹Û¿¡ ¾ø½À´Ï´Ù. ´Ù¸¸ ±×·± °æ¿ì´Â ´ëºÎºÐ Á¤È®ÇÑ µ¥ÀÌÅÍ°¡ ÇÊ¿äÇÑ °ÍÀÌ ¾Æ´Ï¶ó ´ë·«ÀûÀÎ °Í¸¸ ¾Ë¾Æµµ ÃæºÐÇÑ °æ¿ì°¡ ¸¹Àºµ¥, ±× °æ¿ì¿£ Àá±ÝÀÌ ÇÊ¿ä ¾ø½À´Ï´Ù. µû¶ó¼­ ´ë±Ô¸ð µ¥ÀÌÅ͸¦ ´ë»óÀ¸·Î ´ë·«ÀûÀÎ °ªÀ» ¾Ë°í ½ÍÀ» ¶§´Â Àá±ÝÀÌ ¹ß»ýÇÏÁö ¾Êµµ·Ï °Ý¸® ¼öÁØ(isolation level)À» ÃÖ¼Ò·Î º¯°æÇØÁÖ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. MS SQL ¼­¹öÀÎ °æ¿ì °Ý¸® ¼öÁØÀ» ÃÖ¼Ò·Î º¯°æÇØÁÖ±â À§Çؼ­´Â set transaction isolation level read uncommitted¶ó´Â ¸í·ÉÀ», ±âº» °Ý¸® ¼öÁØÀ¸·Î µ¹¾Æ°¡·Á¸é set transaction isolation level read committed¶ó´Â ¸í·ÉÀ» ³»·ÁÁÖ¸é µË´Ï´Ù. ÀÌ·¸°Ô Çϸé Á¤È®ÇÑ µ¥ÀÌÅÍ´Â ±¸ÇÒ ¼ö ¾øÁö¸¸, Àá±ÝÀ¸·Î ÀÎÇØ µ¥ÀÌÅͺ£À̽º°¡ ¸ÔÅëÀÌ µÇ´Â »çÅ´ ¸·À» ¼ö ÀÖ½À´Ï´Ù.

Àá±Ý ¹®Á¦¸¦ ÀϽÃÀûÀ¸·Î ÇØ°áÇÏ·Á¸é

µ¥ÀÌÅͺ£À̽º°¡ ¾Æ¹«·± ¹ÝÀÀÀ» º¸ÀÌÁö ¾Ê°Å³ª, ÇÁ·Î±×·¥¿¡¼­ Time out ¿À·ù°¡ ¸¹ÀÌ ³ª´Â °æ¿ì¿£ Àá±ÝÀÌ ¹ß»ýÇÏÁö ¾Ê¾Ò´ÂÁö Á¶È¸Çغ¸´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ¿À¶óŬÀÎ °æ¿ì v$lockÀ» Á¶È¸Çغ¸¸é Àá±Ý Á¤º¸¸¦ ¾Ë ¼ö ÀÖ°í, MS SQL ¼­¹öÀÎ °æ¿ì sp_who ¸í·ÉÀ¸·Î Àá±Ý Á¤º¸¸¦ ¾Ë ¼ö ÀÖ½À´Ï´Ù. DBMS¿¡ µû¶ó Àá±Ý Á¤º¸¸¦ ¾Ë¾Æ³»´Â ¹æ¹ýÀÌ ´Ù¸£¹Ç·Î ÇØ´ç DBMSÀÇ ¸Å´º¾óÀ» Âü°íÇϱ⠹ٶø´Ï´Ù. Àá±Ý ¶§¹®¿¡ ¹®Á¦°¡ ¹ß»ýÇÑ °æ¿ì¿¡´Â ÀÏ´Ü ±ÞÇÑ ºÒÀº ²¨¾ß ÇϹǷΠkill ¸í·ÉÀ¸·Î ÇØ´ç Æ®·£Àè¼ÇÀ» Á¾·á½ÃÄѹö¸®¸é ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. ±× ÈÄ ¹Ýµå½Ã ¿Ö ±×·± Àá±ÝÀÌ ¹ß»ýÇß´ÂÁö ¿øÀÎÀ» ã¾Æ Á¶Ä¡¸¦ ÇØ¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é °è¼ÓÇؼ­ °°Àº ¹®Á¦°¡ ¹ß»ýÇÒÅ״ϱî¿ä.

²ÙÁØÇÑ °øºÎ°¡ Áö¸§±æ

µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇؼ­ °øºÎÇϱ⠽ÃÀÛÇÑÁö ¹ú½á 3°³¿ùÀÌ µÇ¾ú½À´Ï´Ù. ±×µ¿¾È µ¥ÀÌÅͺ£À̽º °øºÎ¸¦ ¿­½ÉÈ÷ Çϼ̳ª¿ä? ¿­½ÉÈ÷ Çϼ̴ٴ ºÐ¿¡°Ô ¹Ú¼ö¸¦ º¸³À´Ï´Ù. ³ëÆĽɿ¡¼­ ¿©Â庸´Âµ¥ Á¤±ÔÈ­´Â ÀڽŠÀÖ°Ô ÇÒ ¼ö ÀÖÀ¸½Å°¡¿ä? ¸¸¾à ¾Æ´Ï¶ó¸é ´Ù½Ã óÀ½ºÎÅÍ ²Ä²ÄÇÏ°Ô °øºÎÇÏ±æ ±ÇÇص帳´Ï´Ù. ±×¸®°í ¿­½ÉÈ÷ ÇÏÁö ¸øÇß´Ù´Â ºÐ²²´Â ´Ù½Ã Çѹø °Ý·ÁÀÇ ¸»¾¸À» µå¸³´Ï´Ù. µ¥ÀÌÅͺ£À̽º¸¦ ¾÷¹«¿¡ Àû¿ëÇÏ´Â µ¥ ÇÊ¿äÇÑ Áö½ÄÀº »ó½Ä ¼öÁØÀ» Å©°Ô ¹þ¾î³ªÁö ¾Ê±â ¶§¹®¿¡ Á¶±Ý¸¸ ³ë·ÂÇصµ »ó´çÇÑ ½Ç·Â Çâ»óÀ» ÀÌ·ê ¼ö ÀÖ½À´Ï´Ù.

Ȥ½Ã, ÀÌ·± ³»¿ëÀº ¾ËÁö ¸øÇصµ º° ¹®Á¦°¡ ¾ø´Ù°í »ý°¢ÇÏ°í ±×³É ³Ñ¾î°¡´Â ºÐÀº ¾ø³ª¿ä? ¼¼»ó ¸ðµç ºÐ¾ßó·³ IT ÂÊ¿¡µµ ÀÏ·ù °³¹ßÀÚ´Â ±×´ÙÁö ¸¹Áö ¾Ê´ä´Ï´Ù. ±×·¡¼­ ÀÚ½ÅÀÇ ºÎÁ·ÇÑ Áö½Ä¸¸À¸·Îµµ ÃæºÐÈ÷ ¸¸Á·ÇÏ°í ´õ ÀÌ»ó ¾ÕÀ¸·Î ³ª¾Æ°¡·Á ÇÏÁö ¾Ê°í ÀÖ´Â ¸ð½ÀµéÀÌ ¿³º¸ÀÏ ¶§°¡ Á¾Á¾ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ °¡Á¤À» ÆØ°³Ä¡°í °Ç°­À» Èñ»ýÇØ°¡¸é¼­ Æò»ý ³ë·ÂÇصµ µµÀúÈ÷ µû¶ó°¥ ¼ö ¾øÀ» °Å¶ó´Â Àý¸Á°¨À» ´À³¢°Ô ÇÏ´Â ÃÊÀýÁ¤ °í¼öµéÀº ¿©·¯ºÐ »ó»óº¸´Ù ¸¹½À´Ï´Ù. ÇÊÀÚ´Â ¿©·¯ºÐ¿¡°Ô ±× Á¤µµÀÇ ¹Ý¿­¿¡ ¿À¸¦ °ÍÀ» ¿ä±¸ÇÏ´Â °Íµµ ¾Æ´Õ´Ï´Ù. ´ÜÁö ±×·± »ç¶÷µé¿¡°Ô ¡®³Í °³¹ßÀÚµµ ¾Æ³Ä¡¯¶ó´Â ºñ¾Æ³ÉÀ» µèÁö ¾ÊÀ» Á¤µµ°¡ µÇ±â À§Çؼ­µµ ¾ÆÁ÷ °¡¾ßÇÒ ±æÀÌ ¸Ö°í Çè³­ÇÕ´Ï´Ù. ¸ÅÀÏ ÇÑ ½Ã°£¾¿¸¸ µ¥ÀÌÅͺ£À̽º °øºÎ¿¡ ÅõÀÚÇϽʽÿÀ. ¿©·¯ºÐÀÌ ½º½º·Î ÀÌÁ¤µµ¸é ÃæºÐÇÏ´Ù°í »ý°¢ÇÏ´Â ±× ¼öÁغ¸´Ù ÃÖ¼ÒÇÑ ÇÑ ´Ü°è ´õ ³ôÀº ¼öÁØÀÌ µÉ ¶§±îÁö ¸»ÀÔ´Ï´Ù. ±×¸®°í Áö³­ ´Þ SQL ¸í·ÉÀ» ³»¸®´Â ¹®Á¦¿¡ ´ëÇÑ Á¤´äÇ®ÀÌ´Â ¡®ÀÌ´ÞÀÇ µð½ºÄÏ¡¯À¸·Î Á¦°øÇÕ´Ï´Ù. ÀÚ½ÅÀÇ ´ä°ú ºñ±³ÇØ°¡¸ç ¼³¸í ºÎºÐÀ» Âü°íÇØ°¡¸ç ÀÌÇØÇϱ⠹ٶø´Ï´Ù.

ÀλýÀº ª½À´Ï´Ù.
±×·¯¹Ç·Î ´Ù¸¥ »ç¶÷ÀÌ ¿ä±¸ÇÏ´Â »îÀ» »ì¸é¼­ ½Ã°£À» ³¶ºñÇؼ­´Â ¾È µË´Ï´Ù.
µ·°ú ¸í¿¹¸¦ ¾òÁö ¸øÇÏ´õ¶óµµ ³¡±îÁö ÀÚ½ÅÀÇ ±æÀ» °íÁýÇϽʽÿÀ
¸ñ·Ï À­±Û ¾Æ·§±Û
³»¾Ë FREECOUNT.NET ÇÁÄ«³Ý »ý±ä³¯ 2003.12.20 Ȩ | Ä«¿îÅÍ | Ç÷¡½ÃºÏ | ÇÁ¸®º¸µå | Àü±¤ÆÇ | À¥°øºÎ¹æ | Ä¿¹Â´ÏƼ | ÂÊÁöÇÔ