| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 5. µ¥ÀÌÅÍ Á¤ÀÇ | Fast Forward | Next |
RDBÀÇ Å×À̺íÀº Á¾ÀÌ¿¡ ¾²À̴ ǥ¿Í ¸¹ÀÌ ´à¾ÆÀÖ½À´Ï´Ù. Å×À̺íÀº Çà°ú ¿·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù. ¿ÀÇ ¼ö¿Í ¼ø¼´Â °íÁ¤µÇ°í ÀÖ¾î °¢°¢ÀÇ ¿¿¡ À̸§À» ºÙÀÏ ¼ö ÀÖ°í ÀÖ½À´Ï´Ù. ÇàÀÇ ¼ö´Â º¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. Áï, ÇàÀÇ ¼ö¶õ, ±× ½ÃÁ¡¿¡¼ ¾ó¸¸ÅÀÇ µ¥ÀÌÅͰ¡ ÀúÀåµÇ°í Àִ°¡¸¦ ³ªÅ¸³»´Â °ÍÀÔ´Ï´Ù. SQL¿¡¼´Â Å×ÀÌºí ³»ÀÇ ÇàÀÇ ¼ø¼´Â º¸ÁõµÇÁö ¾Ê½À´Ï´Ù. Å×À̺íÀ» ÀоîµéÀ̸é, ¸í½ÃÀûÀ¸·Î ¿ä±¸µÇÁö ¾Ê´Â ÀÌ»ó, ÇàÀº ·£´ý ¼ø¼·Î ¹ÝȯµË´Ï´Ù. À̰Ϳ¡ ´ëÇØ¼´Â Chapter 7À» ÂüÁ¶ÇØ Áֽʽÿä. °Ô´Ù°¡ SQL¿¡¼´Â Çà¿¡ °íÀ¯ ½Äº°ÀÚ¸¦ ÁöÁ¤ÇÒ ¼ö ¾ø±â ¶§¹®¿¡, Å×ÀÌºí ³»¿¡ ¿ÏÀüÈ÷ µ¿ÀÏÇÑ ÇàÀÌ ¾ó¸¶µçÁö Á¸ÀçÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ´Â SQLÀÇ ±âÃʸ¦ ÀÌ·ç´Â »ê¼úÀûÀÎ ¸ðµ¨ÀÇ °á°úÀÌÁö¸¸, º¸ÅëÀº ¹Ù¶÷Á÷ÇÑ ÀÏÀÌ ¾Æ´Õ´Ï´Ù. ÀÌ ¹®Á¦ÀÇ ´ëó¹ý¿¡ ´ëÇØ¼´Â º» ÀåÀÇ µÞºÎºÐ¿¡¼ ¼³¸íÇϰڽÀ´Ï´Ù.
°¢°¢ÀÇ ¿Àº µ¥ÀÌÅÍÇüÀÌ ÀÖ½À´Ï´Ù. µ¥ÀÌÅÍÇü¿¡ ÀÇÇØ, ¿¿¡ ÁöÁ¤ÇÒ ¼ö ÀÖ´Â °ªÀÌ Á¦Çѵ˴ϴÙ. ¶ÇÇÑ, ¿¿¡ ÀúÀåµÇ´Â µ¥ÀÌÅÍ¿¡ Àǹ̸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ¾î µ¥ÀÌÅ͸¦ °è»ê¿¡ »ç¿ëÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. ¿¹¸¦ µé¸é, ¼öÄ¡ÇüÀ̶ó°í ¼±¾ðµÈ ¿Àº ÀÓÀÇÀÇ ÅØ½ºÆ® ij¸¯ÅÍ ¶óÀÎÀº ¹Þ¾ÆµéÀÌÁö ¾Ê½À´Ï´Ù. ±×¸®°í ¼öÄ¡ÇüÀÇ ¿¿¡ ÀúÀåµÈ µ¥ÀÌÅÍ´Â »ê¼ú °è»ê¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰Ϳ¡ ´ëÇØ¼, ij¸¯ÅÍ ¶óÀÎÇüÀ̶ó°í ¼±¾ðµÈ ¿Àº °ÅÀÇ ¸ðµç Á¾·ùÀÇ µ¥ÀÌÅ͸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù. ±×·¯³ª ¹®ÀÚ¿ ¿¬°áÀÌ °¡´ÉÇÑ ¿¬»ê¿¡´Â »ç¿ëÇÒ ¼ö ÀÖÁö¸¸, »ê¼ú °è»ê¿¡´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
PostgreSQL¿¡´Â ´Ù¾çÇÑ ¾îÇø®ÄÉÀ̼ǿ¡ ÀÏÄ¡ÇÏ´Â ´Ù¼öÀÇ ³»Àå µ¥ÀÌÅÍÇüÀÇ ÁýÇÕÀ» Æ÷ÇÔÇÕ´Ï´Ù. ¶Ç À¯Àú°¡ µ¶ÀÚÀûÀÎ µ¥ÀÌÅÍÇüÀ» Á¤ÀÇÇÏ´Â Àϵµ °¡´ÉÇÕ´Ï´Ù. ´ëºÎºÐÀÇ ³»Àå µ¥ÀÌÅÍÇüÀº ºÐ¸íÇÑ À̸§°ú Àǹ̸¦ °¡Áö¹Ç·Î, ÀÚ¼¼ÇÑ ¼³¸íÀº Chapter 8À¸·Î ¹Ì·ç°Ú½À´Ï´Ù. ÀÚÁÖ »ç¿ëÇÏ´Â µ¥ÀÌÅÍÇüÀº Á¤¼ö¸¦ ³ªÅ¸³»´Â integer, ¼Ò¼ö¸¦ À§ÇÑ numeric, ¹®ÀÚ¿À» À§ÇÑ text, ³¯Â¥¸¦ ³ªÅ¸³»´Â date, ½Ã°¢À» ³ªÅ¸³»´Â time, ±×¸®°í ³¯ÀÚ¿Í ½Ã°£ ¸ðµÎ¸¦ Æ÷ÇÔÇÏ´Âtimestamp°¡ ÀÖ½À´Ï´Ù.
Å×À̺íÀ» ÀÛ¼ºÇϱâ À§ÇØ, ÀûÀýÇÑ À̸§À» °¡Áø CREATE TABLE Ä¿¸Çµå¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ Ä¿¸Çµå¿¡¼ ÃÖ¼ÒÇÑ »õ·Î¿î Å×À̺íÀ» À§ÇÑ À̸§°ú ¿À» À§ÇÑ À̸§, °¢ ¿À» À§ÇÑ µ¥ÀÌÅÍÇüÀ» ÁöÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¸é:
CREATE TABLE my_first_table (
first_column text,
second_column integer
);
ÀÌ·Î ÀÎÇØ µÎ °³ÀÇ ¿À» °¡Áø my_first_table Å×À̺íÀÌ ÀÛ¼ºµË´Ï´Ù. ù ¹øÂ° ¿ÀÇ À̸§Àº first_column·Î, µ¥ÀÌÅÍÇüÀºtextÀÔ´Ï´Ù. µÎ ¹øÂ° ¿ÀÇ À̸§Àº second_column·Î, µ¥ÀÌÅÍÇüÀºintegerÀÔ´Ï´Ù. Å×À̺í°ú ¿ÀÇ À̸§Àº Section 4.1.1¿¡¼ ¼³¸íµÈ ½Äº°ÀÚÀÇ ±¸¹®À» µû¸¨´Ï´Ù. º¸Åë ŸÀÔ À̸§Àº ½Äº°ÀÚÀÌÁö¸¸ ¿¹¿Üµµ ÀÖ½À´Ï´Ù. ¿ ¸®½ºÆ®´Â ÄÞ¸¶·Î ºÐ¸®µÇ¸ç, °ýÈ£·Î µÑ·¯½Î´Â °ÍÀ» ÁÖÀÇÇϽʽÿä.
¹°·Ð, ÀÌÀüÀÇ ¿¹¿¡¼´Â ¼³¸íÀÌ ¸ñÀûÀ̱⠶§¹®¿¡ Çö½ÇÀûÀÌÁö´Â ¾Ê½À´Ï´Ù. ÀϹÝÀûÀ¸·Î, Å×À̺í°ú ¿¿¡´Â ÀúÀåµÉ µ¥ÀÌÅÍ¿¡ µû¶ó À̸§ÀÌ Á¤ÇØÁý´Ï´Ù. ¾Æ·¡´Â º¸´Ù Çö½ÇÀûÀÎ ¿¹Á¦ÀÔ´Ï´Ù.
CREATE TABLE products (
product_no integer,
name text,
price numeric
);
(numericÇüÀº ¼Ò¼ö¸¦ ÀúÀåÇÒ ¼ö°¡ ÀÖ¾î ±Ý¾×À» Ãë±ÞÇÏ´Â °æ¿ì¿¡ ÀϹÝÀûÀ¸·Î »ç¿ëµË´Ï´Ù. )
Tip: »óÈ£ ¿¬°üµÇ´Â Å×À̺íÀ» ¸¹ÀÌ »ý¼ºÇÒ ¶§ Å×À̺í°ú ¿¿¡ ´ëÇØ Àϰü¼º ÀÖ´Â À̸§ÀÇ ÆÐÅÏÀ» °®µµ·Ï ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ¿¹¸¦ µé¾î, Å×À̺í¸íÀ¸·Î ´Ü¼öÀÇ ¶Ç´Â º¹¼öÀÇ ¸í»ç¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. µÑ ´Ù À̷а¡³ª ´Ù¸¥ »ç¶÷µé¿¡ ÀÇÇØ ¼±È£µÇ¾îÁý´Ï´Ù.
Å×ÀÌºí¿¡ Æ÷ÇÔÇÒ ¼ö ÀÖ´Â ¿ÀÇ ¼ö´Â Á¦ÇÑÀÌ ÀÖ½À´Ï´Ù. ¿ÀÇ Å¸ÀÔ¿¡ ÀÇÁ¸Çϱ⠶§¹®¿¡, 250~1600ÀÇ »çÀ̰¡ µË´Ï´Ù. ±×·¯³ª ÀÌ·¸°Ô ¸¹Àº ¿À» »ç¿ëÇÏ´Â °æ¿ìÀº µå¹°¸ç, ±×·¯ÇÑ °æ¿ì´Â ¼³°è¿¡ ¹®Á¦°¡ ÀÖ´Â Àϵµ ¸¹½À´Ï´Ù.
ÇÊ¿ä ¾ø´Â Å×À̺íÀÌ »ý°åÀ» °æ¿ì´Â DROP TABLE Ä¿¸Çµå¸¦ »ç¿ëÇØ Å×À̺íÀ» »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é,
DROP TABLE my_first_table; DROP TABLE products;
Á¸ÀçÇÏÁö ¾Ê´Â Å×À̺íÀ» »èÁ¦ÇÏ·Á°í Çϸé, ¿¡·¯°¡ ³³´Ï´Ù. ±×·¸Áö¸¸ Å×À̺íÀÇ Á¸Àç ¿©ºÎ¿Í °ü°è¾øÀÌ ½ºÅ©¸³Æ®°¡ µ¿ÀÛÇϵµ·Ï Çϱâ À§ÇØ, Å×À̺í ÀÛ¼ºÇϱâ Àü, ¿¡·¯ ¸Þ¼¼Áö¸¦ ¹«½ÃÇÏ¸ç ¹«Á¶°Ç »èÁ¦ÇÏ·Á°í ÇÏ´Â °ÍÀº SQL ½ºÅ©¸³Æ® ÆÄÀÏ¿¡¼´Â ÈçÇÑ ÀÏÀÔ´Ï´Ù. (À̸¦ ½ÇÇàÇÏ°í ½Í´Ù¸é, ¿¡·¯ ¸Þ¼¼ÁöÀÇ Ãâ·ÂÀ» ¸·´Â DROP TABLE IF EXISTS º¯ÇüÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª À̰ÍÀº Ç¥ÁØ SQL°¡ ¾Æ´Õ´Ï´Ù. )
ÀÌ¹Ì Á¸ÀçÇÏ´Â Å×À̺íÀ» º¯°æÇÏ´Â ¹æ¹ýÀº º» Àå µÚ¿¡ ÀÖ´Â Section 5.5¸¦ ÂüÁ¶ÇϽʽÿä.
Áö±Ý±îÁö ¼³¸íÇÑ ÅøÀ» »ç¿ëÇØ, ÃæºÐÈ÷ ±â´ÉÇÏ´Â Å×À̺íÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. º» ÀåÀÇ ³ª¸ÓÁö¿¡¼´Â Å×À̺í Á¤ÀÇ¿¡ ±â´ÉÀ» Ãß°¡ÇØ, µ¥ÀÌÅÍÀÇ ÂüÁ¶ ¹«°á¼º, ¾ÈÀü¼º, Æí¸®¼ºÀ» È®½ÇÈ÷ ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¸»ÇϰڽÀ´Ï´Ù. Áö±Ý Å×ÀÌºí¿¡ µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÏ°í ½Í´Ù¸é, º» ÀåÀÇ ³ª¸ÓÁö¸¦ Chapter 6·Î °Ç³Ê ¶Ù¾îµµ »ó°üÇÏÁö ¾Ê½À´Ï´Ù.