| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 10. ÇüÅ º¯È¯ | Fast Forward | Next |
SQL´Â °ÇÏ°Ô ÇüÅÂÈµÈ ¾ð¾îÀÔ´Ï´Ù. Áï, °¢ µ¥ÀÌÅÍ Ç׸ñÀº, ±× µ¿ÀÛ°ú Çã¶ôµÈ »ç¿ë¹ýÀ» °áÁ¤ÇÏ´Â ¿¬°ü µ¥ÀÌÅÍÇüÅÂÀ» ¼ÒÀ¯Çϰí ÀÖ½À´Ï´Ù. PostgreSQL¿¡´Â, ´Ù¸¥SQLÀÇ ½ÇÇຸ´Ù º¸´Ù ÀϹÝÀûÀ̾î À¯¿¬¼ºÀÌ ÀÖ´Â, È®Àå °¡´ÉÇÑ ÇüÅÂÀÇ ½Ã½ºÅÛÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¶§¹®¿¡,PostgreSQL¿¡¼ÀÇ ´ëºÎºÐÀÇ ÇüÅ º¯È¯ÀÇ µ¿ÀÛÀº, ƯÁ¤ÀÇ ¸ñÀû¿¡ ´ëÇØÀӽà º¯ÅëÀ¸·Î ÀÚ±âÇнÀÇÏ´Â °Íº¸´Ù ÀϹÝÀûÀÎ ±ÔÄ¢À¸·Î °ü¸®µÇ°í ÀÖ½À´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, »ç¿ëÀÚ Á¤ÀÇÇüÅ¿¡ ´ëÇØ¼µµ È¥ÇÕÇüÅÂÀÇ ½ÄÀ» °¡Ä¡ ÀÖ°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
PostgreSQLÀÇ ½ºÄ³³Ê/ÆÄ¼´Â ¾îÈÖ ¿ä¼Ò¸¦, Á¤¼ö, ºñÁ¤¼öÄ¡, ¹®ÀÚ¿, ½Äº°ÀÚ, Ű¿öµå·Î 5°³ÀÇ ±âÃÊ ¸ñ·ÏÀ¸·Î ºÐ¸®ÇÕ´Ï´Ù. ²÷ÀÓ¾øÀÌ ´ëºÎºÐÀÇ ºñ¼öÄ¡Çü Á¤¼ö´Â, ¿ì¼± ¹®ÀÚ¿¿¡ ÀÇÇØ ºÐ·ù µË´Ï´Ù. SQL¾ð¾î Á¤ÀÇ¿¡¼´Â, ¹®ÀÚ¿ ÇüÅÂÀÇ À̸§À» ÁöÁ¤ÇÏ´Â °ÍÀ» Çã¶ôÇϰí ÀÖ¾î, ÆÄ¼°¡ ¿Ã¹Ù¸¥ ¼ø¼¿¡ µû¶ó 󸮸¦ ½ÃÀÛÇÒ ¼ö ÀÖµµ·ÏPostgreSQLµµ ä¿ëÇϰí ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, ÀÌÇÏ¿Í °°Àº Äõ¸®¸¦ »ý°¢ÇØ º¾½Ã´Ù.
SELECT text 'Origin' AS "label", point '(0,0)' AS "value"; label | value --------+------- Origin | (0,0) (1 row)
ÀÌ Äõ¸®´Â,text¿Ípoint¶ó°í ÇÏ´Â 2°³ ÇüÅÂÀ¸·Î ÁöÁ¤ÇÑ ¹®ÀÚ»ó¼ö¸¦ °¡Áý´Ï´Ù. ¹®ÀÚ¿ ¹®ÀÚ»ó¼ö¿¡ ÇüÅÂÀÌ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, Èļú ÇϵíÀÌ, ÈÄÀÇ ´Ü°è¿¡¼ ÇØ°áµÇµµ·Ï ¿ì¼± Àå¼Ò¸¦ È®º¸Çϱâ À§ÇÑ ÇüÅÂÀÎunknown¸¦ ÇÒ´çÇÒ ¼ö ÀÖ½À´Ï´Ù.
PostgreSQLÀÇ ÆÄ¼¿¡´Â, °³º°ÀÇ ÇüÅ º¯È¯ ±ÔÄ¢ÀÌ ÇÊ¿äÇÑ 4°³ÀÇ ±âÃÊÀûÀÎSQL±âÃʱ¸¹®ÀÌ ÀÖ½À´Ï´Ù.
PostgreSQLÇüÅ ½Ã½ºÅÛÀÇ ´ëºÎºÐÀº, °íµµÀÇ ÇÔ¼ö±º¿¡ ÀÇÇØ ±¸ÃàµÇ°í ÀÖ½À´Ï´Ù. ÇÔ¼ö´Â º¹¼öÀÇ ÀÎÀÚ¸¦ ÃëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. PostgreSQL¿¡¼´Â ÇÔ¼öÀÇ °úºÎÇϰ¡ °¡´ÉÇϹǷÎ, ÇÔ¼ö¸í¸¸À¸·Î´Â È£ÃâÇØ¾ß ÇÒ ÇÔ¼ö¸¦ ½Äº°ÇÒ ¼ö ¾ø½À´Ï´Ù. ÆÄ¼´Â, Á¦°øµÇ´Â ÀÎÀÚÀÇ µ¥ÀÌÅÍÇüÅ¿¡ ±Ù°ÅÇØ, ¿Ã¹Ù¸¥ ÇÔ¼ö¸¦ ¼±ÅÃÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
PostgreSQL¿¡¼´Â, (ÀÎÀÚ°¡ 2°³ÀÇ) 2Ç׿¬»êÀÚ¿Í °°°Ô, (ÀÎÀÚ°¡ 1°³ÀÇ) ÀüÄ¡, ÈÄÄ¡´ÜÇ× ¿¬»êÀÚ¸¦ °¡Áö´Â ½ÄÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÔ¼ö¿Í °°ÀÌ, ¿¬»êÀÚµµ °úºÎÇϰ¡ °¡´ÉÇϹǷÎ, ¿Ã¹Ù¸¥ ¿¬»êÀÚ¸¦ ¼±ÅÃÇÒ ¶§¿¡ °°Àº ¹®Á¦°¡ Á¸ÀçÇÕ´Ï´Ù.
SQLÀÇINSERT¿ÍUPDATE¹®Àº ½ÄÀÇ °á°ú¸¦ Å×À̺í¾È¿¡ ÀúÀåÇÕ´Ï´Ù. ±¸¹®³»ÀÇ ½ÄÀº ÀÏÄ¡½ÃŰ°Å³ª Ÿ°Ù Ä÷³ÀÇ ÇüÅÂÀ» º¯È¯ÇÒ Çʿ䰡 ÀÖ´Â °ÍÀϼö ÀÖ½À´Ï´Ù.
SELECT¹®À¸·ÎºÎÅÍ °áÇÕÈµÈ ¸ðµç Äõ¸® °á°ú´Â, ¾î´À 1°³ÀÇ Ä÷³ÁýÇÕÀ¸·Î¼ ³ªÅ¸³»¾ß Çϱ⠶§¹®¿¡,
°¢SELECT±¸ÀÇ °á°úÇüÅÂÀº ÅëÀÏµÈ ÁýÇÕ¿¡ ÀÏÄ¡½ÃŰ°Å³ª ¶È°°Àº ÇüÅ·Πº¯È¯ÇÒ ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.
ºñ½ÁÇÑ ¹æ¹ýÀ¸·Î CASEÀÇ °á°ú ½Ä ±¸¹®ÀÌ ÀüüÀûÀ¸·Î ±âÁ¸ÀÇ Ãâ·Â ÇüŸ¦ °®±â ¶§¹®¿¡,CASE±¸¹®ÀÇ °á°ú½ÄÀº °øÅëÀÇ ÇüÅ·Πº¯È¯µÉ Çʿ䰡 ÀÖ½À´Ï´Ù.
À̰ÍÀºARRAY½Ä¿¡¼µµGREATESTÇÔ¼ö,LEASTÇÔ¼ö¿¡¼µµ °°½À´Ï´Ù.
½Ã½ºÅÛ Ä«Å»·Î±×¿¡´Â, µ¥ÀÌÅÍÇüŰ£ÀÇ º¯È¯(ij½ºÆ®¶ó°í ºÒ¸³´Ï´Ù)ÀÌ À¯È¿ÇѰ¡ ¾Æ´Ñ°¡¿¡ ±× º¯È¯ÀÇ ½ÇÇà ¹æ¹ý¿¡ °üÇÑ Á¤º¸¸¦ ÀúÀåÇÕ´Ï´Ù. »ç¿ëÀÚ´Â CREATE CAST ¸í·ÉÀ» »ç¿ëÇØ ij½ºÆ®¸¦ Ãß°¡ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù (À̰ÍÀº Åë»ó »õ·Î¿î µ¥ÀÌÅÍÇüÅ Á¤ÀÇÇѰÍÀ» ¿¬°áÇÒ¶§ ÇàÇØÁý´Ï´Ù. ³»ÀåÇü ÇüŰ£ÀÇ Ä³½ºÆ® ÁýÇÕÀº ÁÖÀÇ ±í°Ô ÀÛ¼ºµÇ°í ÀÖ°í º¯°æÇÏÁö ¾Ê´Â °ÍÀÌ ÃÖ¼±ÀÔ´Ï´Ù).
SQLÇ¥ÁØÇü¿¡ ´ëÇØ, ÆÄ¼°¡ º¸´Ù ÀûÀýÇÑ ÃßÃø µ¿ÀÛÀ» ½Ç½ÃÇÒ ¼ö ÀÖµµ·Ï Ãß°¡ÀÇ ÀÚÀ² ±â±¸¸¦ °®Ãß°í ÀÖ½À´Ï´Ù. ±âº»ÀûÀÎÇüÅ ¸ñ·ÏÀ¸·Î¼boolean,numeric,string,bitstring, datetime,timespan,geometric,network, »ç¿ëÀÚÁ¤Àǰ¡ Á¤Àǵǰí ÀÖ½À´Ï´Ù. »ç¿ëÀÚÁ¤ÀǸ¦ Á¦¿ÜÇÑ °¢ ¸ñ·ÏÀº, ¾Ö¸ÅÇÔÀÌ ÀÖ´Â °æ¿ì¿¡ ¿ì¼±ÀûÀ¸·Î ¼±ÅõǴÂ, 1°³ÀÌ»óÀǹٶ÷Á÷ÇÑ ÇüŸ¦ °¡Áý´Ï´Ù. »ç¿ëÀÚÁ¤ÀÇ ¸ñ·Ï¿¡¼´Â, °¢°¢ÀÇ ÇüÅ´ ±×°Í ÀÚ½ÅÀÇ ¹Ù¶÷Á÷ÇÑ ÇüÅÂÀÔ´Ï´Ù. µû¶ó¼, ¾Ö¸ÅÇÑ ½Ä(º¹¼öÀÇ ÇØ¼® °á°úÈ常¦ °¡Áö´Â °Í)Àº, º¹¼öÀÇ °¡´ÉÇÑ ³»ÀåÇü ÇüÅÂÀÌ ÀÖ¾ú´Ù°í ÇØµµ ÀÚÁÖ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, º¹¼öÀÇ »ç¿ëÀÚÁ¤ÀÇ ÇüÅ ¼±ÅûçÇ×ÀÌ ÀÖ´Â °æ¿ì¿¡´Â ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
¸ðµç ÇüÅ º¯È¯ ±ÔÄ¢Àº ´ÙÀ½°ú °°Àº ¸î°³ÀÇ ±âº»ÀûÀÎ ¿ø¸®¿¡ ±Ù°ÅÇØ ¼³°èµÇ°í ÀÖ½À´Ï´Ù.
ÇÔÃàÀûÀÎ º¯È¯Àº, Àý´ë ¶æ¹ÛÀÇ È¤Àº ¿¹»óÇÒ ¼ö ¾ø´Â °á°ú¸¦ °¡Áú ¼ö ¾ø½À´Ï´Ù.
ÆÄ¼°¡¹Ì¸®¾Ë ¼ö ¾ø´Â »ç¿ëÀÚ Á¤ÀÇ ÇüÅ´Â, ÇüÅÂÀÇ °èÃþ³»¿¡¼"º¸´Ù »óÀ§"¿¡ À§Ä¡ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. È¥ÇÕµÈ ÇüÅÂÀÇ ½Ä¿¡¼´Â, ƯÁ¤ ÇüÅ´ Ç×»ó »ç¿ëÀÚ Á¤ÀÇÇüÅ·Πº¯È¯µË´Ï´Ù(¹°·Ð, º¯È¯ÀÌ ÇÊ¿äÇÑ ¶§¸¸ÀÔ´Ï´Ù).
»ç¿ëÀÚ Á¤ÀÇ ÇüÅ´ °ü°è¸¦ °¡ÁöÁö ¾Ê½À´Ï´Ù. Çö½ÃÁ¡¿¡¼´Â,PostgreSQL´Â ÇüÅ °£ÀÇ °ü°è³ª º¯°æÇÏÁö ¸øÇÏ°Ô ÀÛ¼ºµÈ ³»ÀåÇüÅÂÀÇ ÄÚµå¿Í À̿밡´ÉÇÑ ÇÔ¼ö³ª ij½ºÆ®¿¡ ±âÃÊÇÑ ÇÔÃàÀûÀÎ °ü°è¿¡ ´ëÇØ »ç¿ë°¡´ÉÇÑ Á¤º¸¸¦ °¡Áö°í ÀÖÁö ¾Ê½À´Ï´Ù.
ÇÔÃàÀûÀÎ Çüź¯È¯À» ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â Äõ¸®ÀÇ °æ¿ì, ÆÄ¼³ª ÁýÇàÀÚ¿¡ ºÒÇÊ¿äÇÑ °úºÎÇϰ¡ ÀÖ¾î¾ß ÇÏ´Â °ÍÀÌ ¾Æ´Õ´Ï´Ù. Áï, Äõ¸®°¡ Á¦´ë·Î Á¤¸®ÇØ ÇüŰ¡ ÀÌ¹Ì ÀÏÄ¡ÇÏ´Â °ÍÀÌ µÇ¾î ÀÖÀ¸¸é, ÆÄ¼³»¿¡¼ ºÒÇÊ¿äÇÑ ½Ã°£À» ¾µ ÀÏÀÌ ¾ø°í, ¶Ç Äõ¸®¿¡ ºÒÇÊ¿äÇÑ ÇÔÃàÀûÀÎ ÇüÅ º¯È¯ ÇÔ¼ö°¡ »ç¿ëµÇÁö ¾Ê°Ô Äõ¸®´Â 󸮵Ǿî¾ß ÇÕ´Ï´Ù.
°Ô´Ù°¡ ¸¸¾à Äõ¸®°¡ Åë»ó ÇÔÃàÀûÀÎ º¯È¯À» ¿ä±¸Çϰí ÀÖ´ø °ÍÀÏ °æ¿ì, ±×¸®°í, »ç¿ëÀÚ°¡ ¿Ã¹Ù¸¥ ÀÎÀÚÇüÀ» °¡Áö´Â ÇÔ¼ö¸¦ ¸í½ÃÀûÀ¸·Î Á¤ÀÇÇßÀ» °æ¿ì, ÆÄ¼´Â ÀÌ »õ·Î¿î ÇÔ¼ö¸¦ »ç¿ëÇØ, ³°Àº ÇÔ¼ö¸¦ »ç¿ëÇÑ ÇÔÃàÀûÀÎ º¯È¯À» ½Ç½ÃÇÏÁö ¾Ê°Ô ÇÏ¿©¾ß ÇÕ´Ï´Ù.