| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 8. µ¥ÀÌÅÍ Å¸ÀÔ | Fast Forward | Next |
Table 8-4. ¹®ÀÚÇü
| À̸§ | ¼³¸í |
|---|---|
| character varying( n ), varchar( n ) | »óÇÑ Ã·ºÎ °¡º¯±æÀÌ |
| character( n ), char( n ) | °ø¹é¿¡¼ ÆÐµå µÈ °íÁ¤±æÀÌ |
| text | ¹«Á¦ÇÑ °¡º¯±æÀÌ |
Table 8-4´Â PostgreSQL·Î »ç¿ë °¡´ÉÇÑ ¹ü¿ë ¹®ÀÚÇüÀ» ³ªÅ¸³½ °ÍÀÔ´Ï´Ù.
SQL´Â 2°³ÀÇ ÁÖ¿äÇÑ ¹®ÀÚ µ¥ÀÌÅÍÇüÀ» Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù. character varying( n )¿Ícharacter( n )ÀÔ´Ï´Ù. ¿©±â¼ n ´Â ¾çÀÇ Á¤¼öÀÔ´Ï´Ù. ÀÌ·¯ÇÑ µ¥ÀÌÅÍÇüÀº 2°³ ¸ðµÎ n ¹®ÀÚ ±æÀ̱îÁöÀÇ Ä³¸¯ÅÍ ¶óÀÎÀ» º¸Á¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÃʰúÇϰí ÀÖ´Â ¹®ÀÚ°¡ ¸ðµÎ °ø¹éÀÇ °æ¿ì¸¦ Á¦¿ÜÇØ, »óÇÑÀ» ³ÑÀº ij¸¯ÅÍ ¶óÀÎÀ» ÀÌ ÇüÅÂÀÇ ¿¿¡ º¸Á¸ÇÏ·Á°í ÇÏ¸é ¿¡·¯°¡ µË´Ï´Ù. ¸ðµÎ °ø¹éÀÇ °æ¿ì´Â ±æÀÌÀÇ ÇѰ迡¼ Àß¶ó ¹ö¸± ¼ö ÀÖ½À´Ï´Ù (ÀÌ Ç³°Ý ¹Ù²ï ¿¹¿Ü´Â Ç¥ÁØSQL·Î ¿ä±¸µÇ°í ÀÖ½À´Ï´Ù). ¸¸¾à ¼±¾ðµÈ »óÇѺ¸´Ù ij¸¯ÅÍ ¶óÀÎÀÌ ÂªÀ» ¶§´ÂcharacterÀÇ °ªÀº °ø¹é¿¡¼ ¹¯À» ¼ö ÀÖ¾î character varyingÀÇ °ªÀº ´ÜÁö ±× ªÀº ij¸¯ÅÍ ¶óÀÎÀ¸·Î º¸Á¸µË´Ï´Ù.
¸í½ÃÀûÀ¸·Î °ªÀ» character varying( n )¶Ç´Âcharacter( n )¿¡ ij½ºÆ® ÇßÀ» °æ¿ì, ÁöÁ¤ ±æÀÌÀ» ³ÑÀ¸¸é ¿¡·¯¾øÀÌ n ¹®ÀÚ±îÁö Àý¾àÇÒ ¼ö ÀÖ½À´Ï´Ù. (À̰͵µ ¶Ç Ç¥ÁØSQLÀÇ »ç¾çÀÔ´Ï´Ù. )
char( n )¹×varchar( n )¶ó°í Çϴ ǥ±â¹ýÀº °¢°¢character( n )¿Ícharacter varying( n )ÀÇ º°¸íÀÔ´Ï´Ù. ±æÀÌ ÁöÁ¤ÀÌ ¾ø´Âcharacter´Âcharacter(1)¿Í °°½À´Ï´Ù. character varying°¡ ±æÀÌ ÁöÁ¤¾øÀÌ »ç¿ëµÇ¾úÀ» ¶§´Â, ¾î¶°ÇÑ ±æÀÌÀÇ Ä³¸¯ÅÍ ¶óÀο¡¼µµ ¹Þ¾ÆµéÀÔ´Ï´Ù. ÈÄÀÚ´ÂPostgreSQLÀÇ È®ÀåÀÔ´Ï´Ù.
ÇÑÃþ ´õPostgreSQL´Â, ¾î¶°ÇÑ ±æÀÌÀÇ Ä³¸¯ÅÍ ¶óÀο¡¼µµ ÀúÀåÇÒ ¼ö ÀÖ´Âtext¸¦ ¼Æ÷Æ®ÇÕ´Ï´Ù. textÇüÀº Ç¥ÁØSQL¿¡´Â ¾øÁö¸¸, ¸¹Àº ´Ù¸¥ SQL µ¥ÀÌÅͺ£À̽º °ü¸® ½Ã½ºÅÛµµ ÀÌ¿Í °°ÀÌ ¼Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù.
characterÇüÀÇ °ªÀº, ÁöÁ¤ Æø n °¡ µÉ ¶§±îÁö ¹°¸®ÀûÀ¸·Î °ø¹é¿¡ ³ÖÀ» ¼ö ÀÖ¾î ±×´ë·Î ÀúÀåµÇ°í Ç¥½ÃµË´Ï´Ù. ±×·¯³ª, Ãß°¡µÈ °ø¹éÀº ÀǹÌÀûÀ¸·Î Áß¿äÇÏÁö ¾Ê´Â °ÍÀ¸·Î¼ ´Ù·ç¾îÁý´Ï´Ù. ¸¶Áö¸· °ø¹éÀº, 2°³ÀÇcharacterÇüÀÇ °ªÀ» ºñ±³ÇÏ·Á¸é ¹«½ÃµË´Ï´Ù. ¶Ç,characterÄ¡¸¦ ´Ù¸¥ ij¸¯ÅÍ ¶óÀÎÇüÀ¸·Î º¯È¯ÇÏ·Á¸é Á¦°ÅµË´Ï´Ù. character varyingÇü°útextÇüÀÇ °ªÀ¸·Î´Â, ¸¶Áö¸· °ø¹éÀº ÀǹÌÀûÀ¸·Î Áß¿ä ÀÎ °Í À̹ǷÎ, ÁÖÀÇÇØ ÁÖ¼¼¿ä.
ÀÌ·¯ÇÑ µ¥ÀÌÅÍÀÇ Å¸ÀÔÀº 4¹ÙÀÌÆ®°¡ ÀúÀåÀ» À§ÇØ ÇÊ¿äÇÕ´Ï´Ù. ½ÇÁ¦ÀÇ ¹®ÀÚ¿ÀÌ ´õÇÑ »çÀÌÁî°¡ ÇÊ¿äÇÏ¸ç ¸¸ÀÏÀÇ °æ¿ì ÆÐµùÀ¸·Î ´õÇØÁø character ŸÀÔµµ ´õÇØÁý´Ï´Ù. ±ä ij¸¯ÅÍ ¶óÀÎÀº ½Ã½ºÅÛ¿¡ ÀÇÇØ ÀÚµ¿ÀûÀ¸·Î ¾ÐÃàµÇ±â ¶§¹®¿¡, µð½ºÅ©»óÀÇ ¹°¸®Àû ÇÊ¿ä ¿ë·® »çÀÌÁî´Â º¸´Ù ÀÛ¾ÆÁúÁöµµ ¸ð¸¨´Ï´Ù ¶Ç, ¸Å¿ì ±ä °ªÀº º¸´Ù ªÀº ¿ÀÇ °ª¿¡ÀÇ °í¼Ó ¾×¼¼½º¿¡ °£¼·ÇÏÁö ¾Ê°Ô, ¹é±×¶ó¿îµå Å×ÀÌºí¿¡ ÀúÀåµË´Ï´Ù. ¾î´À °æ¿ì¿¡ À־ º¸Á¸ÇÒ ¼ö ÀÖ´Â ÃÖÀåÀÇ Ä³¸¯ÅÍ ¶óÀÎÀº ¾à 1±â°¡¹ÙÀÌÆ®ÀÔ´Ï´Ù (µ¥ÀÌÅÍÇü ¼±¾ð¿¡ »ç¿ëµÇ´Â n ¿¡ ¿ë¼µÇ´Â ÃÖ´ëÄ¡´Â À̰ͺ¸´Ù ÀÛÀº °ÍÀÔ´Ï´Ù ¸ÖƼ ¹ÙÀÌÆ® ¹®ÀÚ encode ¹æ½Ä¿¡ ´ëÇØ ¹®ÀÚ¼ö¿Í ¹ÙÀÌÆ®¼ö´Â ¿ÏÀüÈ÷ Â÷À̰¡ ³ª±â ¶§¹®¿¡, ÀÌ °ªÀÇ º¯°æÀº ±×¸¸Å Æí¸®ÇÏÁö´Â ¾Ê½À´Ï´Ù. ƯÁ¤ÀÇ »óÇѼ±À» ¸¶·ÃÇÏÁö ¾Ê°í ±ä ij¸¯ÅÍ ¶óÀÎÀ» º¸Á¸ÇÏ°í ½ÍÀº °æ¿ì´Â, ÀÓÀÇÀÇ »óÇÑÀ» ¸¶·ÃÇÏ´Â °Íº¸´Ùµµ ±æÀÌÀÇ ÁöÁ¤ÀÌ ¾ø´ÂtextȤÀºcharacter varying¸¦ »ç¿ëÇØ ÁÖ¼¼¿ä).
Tip: °ø¹é¿¡¼ ÆÐµå µÇ´Â ÇüŸ¦ »ç¿ëÇßÀ» °æ¿ìÀÇ º¸Á¸ ¿µ¿ªÀÇ Áõ°¡¿Í ´Þ¸® À̰͵é 3°³ÀÇ ÇüÅÂÀÇ »çÀÌ¿¡ ¼º´É¿¡ °üÇÑ Â÷ÀÌ´Â ¾ø½À´Ï´Ù. ´Ù¸¥ ÀϺÎÀÇ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ¿¡¼´Âcharacter( n )¿¡´Â ¼º´ÉÀûÀÎ ¿ìÀ§¼ºÀÌ ÀÖ½À´Ï´Ù¸¸,PostgreSQL¿¡¼´Â ÀÌ·¯ÇÑ ÀÌÁ¡Àº ¾ø½À´Ï´Ù. ´ëºÎºÐÀÇ »óȲ¿¡¼´Â, ´ë½Å¿¡text³ªcharacter varying°¡ »ç¿ëµË´Ï´Ù.
ij¸¯ÅÍ ¶óÀÎ ¸®ÅÍ·²ÀÇ ±¸¹®¿¡ ´ëÇØ¼´ÂSection 4.1.2.1, ÀÌ¿ë °¡´ÉÇÑ ¿¬»êÀÚ¿Í ÇÔ¼ö¿¡ ´ëÇØ¼´ÂChapter 9À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä. µ¥ÀÌÅͺ£À̽ºÀÇ Ä³¸¯ÅÍ ¼¼Æ®´Â, ÅØ½ºÆ®ÀÇ °ªÀ» ÀúÀåÇÒ ¶§¿¡ »ç¿ëµÇ´Â ij¸¯ÅÍ ¼¼Æ®¸¦ °áÁ¤ÇÕ´Ï´Ù. ij¸¯ÅÍ ¼¼Æ®ÀÇ ¼Æ÷Æ®¿¡ °üÇÑ »ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´ÂSection 21.2À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
Example 8-1. ¹®ÀÚ µ¥ÀÌÅÍÇü »ç¿ë
CREATE TABLE test1 (a character(4));
INSERT INTO test1 VALUES ('ok');
SELECT a, char_length(a) FROM test1; --
(1)
a | char_length
------+-------------
ok | 2
CREATE TABLE test2 (b varchar(5));
INSERT INTO test2 VALUES ('ok');
INSERT INTO test2 VALUES ('good ');
INSERT INTO test2 VALUES ('too long');
ERROR: value too long for type character varying(5)
INSERT INTO test2 VALUES ('too long'::varchar(5)); -- explicit truncation
SELECT b, char_length(b) FROM test2;
b | char_length
-------+-------------
ok | 2
good | 5
too l | 5
char_lengthÇÔ¼ö´ÂSection 9.4À¸·Î ¼³¸íµÇ°í ÀÖ½À´Ï´Ù.
PostgreSQL¿¡´Â,Table 8-5¿¡ ³ªÅ¸³»µµ·Ï ÀÌ Å¸2°³ÀÇ °íÁ¤ ±æÀÌ ¹®ÀÚÇüÀÌ ÀÖ½À´Ï´Ù. nameÇüÀº ³»ºÎÀÇ ½Ã½ºÅÛ Ä«Å»·Î±×³»ÀÇ ½Äº°ÀÚÀÇ ÀúÀåÀ» À§Çؼ ¸¶¼Å Á¸ÀçÇØ¼ , ÀÏ¹Ý À¯Àú¿¡ ÀÇÇØ »ç¿ëµÇ´Â °ÍÀ» ÀǵµÇϰí ÀÖ½À´Ï´Ù. ÇöÀç ±æÀÌ´Â 64¹ÙÀÌÆ®(63¹ÙÀÌÆ®ÀÇ ÀÌ¿ë °¡´É ¹®ÀÚ¿Í Á¾°á ¹®ÀÚ)·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù¸¸,NAMEDATALEN»ó¼ö¸¦ »ç¿ëÇØ ÂüÁ¶µÉ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ ±æÀÌ´Â ÄÄÆÄÀϽ÷Π¼³Á¤µË´Ï´Ù(±× ¶§¹®¿¡ Ưº°ÇÑ ¿ëµµ¿¡ ¸ÂÃß°í Á¶Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù). µðÆúÆ®ÀÇ ÃÖ´ë ±æÀÌ´Â ÇâÈÄÀÇ ¸±¸®½º·Î º¯°æµÉ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. "char"(ÀÌÁß ÀοëºÎÈ£¿¡ ÁÖÀÇ)´Â,char(1)°ú´Â ´Þ¸®, 1¹ÙÀÌÆ®ÀÇ ¿µ¿ª ¹Û¿¡ »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. ¾È ÁÁÀº ¿°ÅÇüÀ¸·Î¼ ½Ã½ºÅÛ Ä«Å»·Î±×¿¡¼ ³»ºÎÀûÀ¸·Î »ç¿ëµË´Ï´Ù.