7-1.Á¦¾à

1.¹«°á¼º °ü¸®

¼¼»ó¿¡ ¿Ïº®ÇÑ °ÍÀÌ ¾øµíÀÌ µ¥ÀÌÅͺ£À̽º³ª ±× ¾È¿¡ ÀúÀåµÈ µ¥ÀÌÅ͵µ Ç×»ó ¿Ïº®ÇÒ ¼ö ¾ø´Ù. ¸ðµç µ¥ÀÌÅÍ°¡ °áÇÔ¾øÀÌ ¿Ïº®ÇÑ »óŸ¦ ¹«°á¼º(Integrity)À̶ó°í ÇÑ´Ù. µ¥ÀÌÅͺ£À̽º °ü¸® ½Ã½ºÅÛÀº ¹«°á¼ºÀ» ÁöÅ°±â À§ÇØ ÃÖ¼±ÀÇ ³ë·ÂÀ» ÇÏ¸ç ±×·¡¼­ ÀÌÀüÀÇ ´Ü¼øÇÑ Á¤º¸ ÀúÀå ¹æ½Ä°ú Â÷¿øÀÌ ´Ù¸£´Ù.

½Ã½ºÅÛÀÌ ¿Ïº®Çصµ ¹«°á¼ºÀÌ ±úÁö´Â °æ¿ì°¡ Á¾Á¾ ÀÖ´Ù. ½Ç¼ö³ª ¿¡·¯·Î À߸øµÈ µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ°í ºÒ°¡Ç×·ÂÀûÀÎ ¿äÀÎÀ¸·Î ¸ÖÂÄÇÏ´ø µ¥ÀÌÅÍ°¡ Æı«µÇ±âµµ ÇÑ´Ù. ¹«°á¼ºÀÌ ±úÁö¸é µ¥ÀÌÅ͸¦ »ç¿ëÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥µµ Á¦´ë·Î µ¹¾Æ°¥ ¸® ¾ø´Ù. ÄÄÇ»ÅÍ ºÎÇ°À» ÆÄ´Â ¼îÇθôÀÇ ÁÖ¹® Å×À̺íÀ» »ìÆ캸ÀÚ.

 

³¯Â¥

ȸ¿ø

Á¦Ç°

°³¼ö

2020-3-4

±èÇѽ½

ÇÏÀ̳¼½º ¸Þ¸ð¸® DDR6 64G

2

2020-3-9

È«±æµ¿

¾ËÁö ³ëÆ®ºÏ ų·Î±×·¥17

32767

2042-12-25

Å͹̳×ÀÌÅÍ

ATT ±×·¡ÇÈ Ä«µå

-8242

2020-4-1

ÀÓ²©Á¤

NULL

3

 

ù ¹ø° ·¹Äڵ常 Á¤»óÀÌ°í ÀÌÈÄÀÇ ·¹ÄÚµå´Â ¹º°¡ Àǽɽº·´´Ù. È«±æµ¿ÀÇ ³ëÆ®ºÏ 32767°³´Â Á¤»ó ÁÖ¹®À¸·Î º¸±â ¾î·Æ°í Å͹̳×ÀÌÅÍ È¸¿øÀº ÁÖ¹® ³¯Â¥°¡ 2042³âÀε¥´Ù ÁÖ¹® °³¼öµµ À½¼öÀÌ´Ù. ÀÓ²©Á¤ÀÌ´Â ÁÖ¹®ÇÑ Á¦Ç°ÀÇ À̸§À» ÀÔ·ÂÇÏÁö ¾Ê¾Ò´Ù. ÇѸ¶µð·Î °³ÆÇÀÌ´Ù.

¹«°á¼ºÀÌ ±úÁö´Â ¿øÀÎÀº ´Ù¾çÇÏ´Ù. ÄÄÇ»ÅÍ´Â ½Ç¼öÇÏÁö ¾ÊÁö¸¸ Àü¾Ð ±Þº¯À¸·Î µð½ºÅ©°¡ ±â°èÀûÀ¸·Î ¼Õ»óµÇ°Å³ª ³×Æ®¿öÅ© ºÒ¾ÈÁ¤À¸·Î µ¥ÀÌÅÍ°¡ ¼Õ½ÇµÇ´Â °æ¿ì´Â °¡²û ÀÖ´Ù. °¡Àå Å« ¿øÀÎÀº »ç¶÷À̶ó´Â ºÒ¿ÏÀüÇÑ Á¸ÀçÀÇ ½Ç¼öÀÌ´Ù. °íÀÇ°Ç ½Ç¼ö°Ç Á¶ÀÛÀÌ ¹Ì¼÷ÇÏ¸é ¾î¿ ¼ö ¾øÀÌ ¿À·ù°¡ ¹ß»ýÇÑ´Ù.

ÇÁ·Î±×·¥µµ °á±¹Àº »ç¶÷ÀÌ ¸¸µç °ÍÀÌ´Ù º¸´Ï ¿ÏÀüÇÏÁö ¾Ê¾Æ ¹ö±×¿¡ ÀÇÇØ µ¥ÀÌÅÍ°¡ ±úÁö±âµµ ÇÑ´Ù. ±×·¸´Ù°í ¼Ó¼ö¹«Ã¥À¸·Î ´çÇÒ¼ö¸¸Àº ¾øÀ¸´Ï ¹ß»ý °¡´ÉÇÑ ¸ðµç ¿À·ù¿¡ ´ëóÇÏ´Â ¹æ¾î ü°è¸¦ °®Ãß¾î¾ß ÇÑ´Ù. µ¥ÀÌÅ͸¦ ó¸®ÇÏ´Â ´Ü°èº°·Î ¼­¹öÃø°ú Ŭ¶óÀ̾ðÆ®ÃøÀÌ °¢ÀÚÀÇ ¹«°á¼º °ü¸® Á¤Ã¥À» Á¦°øÇÑ´Ù.

Ŭ¶óÀ̾ðÆ®Ãø¿¡¼­´Â ÀÔ·ÂÇÒ Á¤º¸¿¡ ²À ¸Â´Â ¶óµð¿À ¹öÆ°, ¸®½ºÆ® ¹Ú½º µîÀÇ ÄÁÆ®·Ñ·Î ¿ÀÀÔ·ÂÀ» ¿øõ Â÷´ÜÇÑ´Ù. °ªÀÇ ³í¸®Àû Àṉ̀îÁö Á¡°ËÇØ º¸°í Á¤»ó°ª ÀԷ½ñîÁö ÀçÀÔ·ÂÀ» ¿ä±¸ÇÏ¿© À¯È¿ÇÑ °ª¸¸ ¼­¹ö·Î º¸³½´Ù. ÀÚ¹Ù, C#µîÀÇ ¾ð¾î·Î ¼¶¼¼ÇÏ°í º¹ÀâÇÑ Ã³¸®¸¦ ÇÒ ¼ö ÀÖÁö¸¸ Ŭ¶óÀ̾ðÆ®°¡ ¹«°Å¿öÁö´Â ºÎÀÛ¿ëÀÌ ÀÖ°í ±ÔÄ¢ º¯°æ½Ã ¼öÁ¤ ¹× ¹èÆ÷°¡ ¹ø°Å·Ó´Ù.

¼­¹öÃøÀÇ ¹«°á¼º 󸮴 DBMS°¡ ±ÔÄ¢À» ±â¾ïÇÏ°í ÀÖ´Ù°¡ ºñÁ¤»ó µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀ» °ÅºÎÇÏ´Â ½ÄÀÌ´Ù. Áß¾Ó¿¡¼­ ±ÔÄ¢À» ÀÏ°ý ó¸®ÇÏ¿© Ŭ¶óÀ̾ðÆ®ÀÇ ºÎ´ãÀ» ´ú¾î ÁÖ°í ±ÔÄ¢ ¼öÁ¤½Ã ¹èÆ÷ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ±×·¯³ª ¼Ó¼ºÀ¸·Î ±ÔÄ¢À» ¼±¾ðÇÏ´Â ÇüÅ¿©¼­ ´Ü¼øÇÑ Á¡°Ë¸¸ °¡´ÉÇÏ¸ç ¼¶¼¼ÇÑ Ã³¸®´Â ÇÑ°è°¡ ÀÖ´Ù. Àû¿ë ¹üÀ§¿¡ µû¶ó ¼¼ °¡Áö·Î ±¸ºÐÇÑ´Ù.

 

l Ä÷³ ¹«°á¼º : Ä÷³ Çϳª¿¡ ÀúÀåµÇ´Â ¿øÀÚÀûÀÎ °ªÀ» Á¡°ËÇÏ¸ç µµ¸ÞÀÎ ¹«°á¼ºÀ̶ó°íµµ ÇÑ´Ù. ŸÀÔ ÁöÁ¤, ³Î Çã¿ë ¿©ºÎ, üũ, ±âº»°ª µîÀÇ Á¦¾àÀÌ ÀÖ´Ù.

l ¿£ÅÍƼ ¹«°á¼º : ·¹Äڵ峢¸® Áߺ¹°ªÀ» °¡ÁöÁö ¾Êµµ·Ï ÇÏ¿© À¯ÀÏÇÑ ½Äº°ÀÚ¸¦ °ü¸®ÇÑ´Ù. ¿¹¸¦ µé¾î Áֹεî·Ï¹øÈ£°¡ °°Àº µÎ ¸íÀÌ Á¸ÀçÇÏÁö ¾Ê¾Æ¾ß ÇÑ´Ù. ±âº»Å°¿Í À¯´ÏÅ© Á¦¾àÀÌ ÀÖ´Ù.

l ÂüÁ¶ ¹«°á¼º : Å×ÀÌºí°£ÀÇ °ü°è¸¦ ±¸¼ºÇÏ´Â Å°°¡ Ç×»ó À¯È¿Çϵµ·Ï °ü¸®ÇÏ¸ç ¿Ü·¡Å° Á¦¾àÀ¸·Î °ü¸®ÇÑ´Ù. ÀÌÂÊ Å×À̺íÀÌ ÂüÁ¶ÇÏ´Â Á¤º¸°¡ ÀúÂÊ Å×ÀÌºí¿¡ ¹Ýµå½Ã Á¸ÀçÇØ¾ß ÇÑ´Ù.

 

Å×À̺íÀÇ °¢ ¿ä¼Ò¿¡ ±ÔÄ¢À» Àû¿ëÇÏ¿© µ¥ÀÌÅÍ¿Í °ü°èÀÇ ¹«°á¼ºÀ» °ü¸®ÇÑ´Ù. Ŭ¶óÀ̾ðÆ®¿Í ¼­¹öÀÇ ¹«°á¼º °ü¸® Á¤Ã¥Àº Àå´ÜÁ¡ÀÌ ÀÖ°í »óÈ£ º¸¿ÏÀûÀÎ °ü°è¿©¼­ »óȲ¿¡ µû¶ó ÀûÀýÈ÷ ºÐ´ãÇÏ°í ÇùÁ¶ÀûÀ¸·Î µ¿ÀÛÇØ¾ß ÇÑ´Ù. ¼­¹öÂÊ¿¡¼­ Çϱ⠽¬¿î 󸮴 ¼­¹ö°¡ ÇÏ°í ¼­¹ö°¡ Çϱ⠾î·Á¿î 󸮴 Ŭ¶óÀ̾ðÆ®°¡ ºÐ´ãÇÑ´Ù.

¿ì¸®´Â DBMS¸¦ ÇнÀÇÏ°í ÀÖ´Â ÁßÀ̹ǷΠ¼­¹öÃø ¹«°á¼º¿¡ ´ëÇØ ¾Ë¾Æ º»´Ù. ¹«°á¼ºÀ» À¯ÁöÇÏ´Â °¡Àå ±âº»ÀûÀÎ ¼ö´ÜÀº ŸÀÔÀÌ¸ç µ¥ÀÌÅÍÀÇ ¹°¸®ÀûÀÎ Æ÷¸ËÀ» °­Á¦ÇÑ´Ù. ´ÙÀ½ ¹®ÀåÀº µü ºÁµµ ¿¡·¯ÀÌ´Ù.

 

INSERT INTO tCity VALUES ('Æò¾ç','¾öû ³ÐÀ½','²Ï ¸¹À»°É','n','Á¶¼±ÀιιÎÁÖÁÖÀÇ°øÈ­±¹');

 

Àα¸³ª ¸éÀûÀº ¼öÄ¡ÇüÀ̼­ 123 °°Àº ¼ýÀÚ¸¸ °¡´ÉÇÏ¸ç ¹®ÀÚ¿­À» ÀúÀåÇÒ ¼ö ¾ø´Ù. ¼³»ç ŸÀÔÀÌ ¸Â´õ¶óµµ ÁöÁ¤ÇÑ ±æÀ̸¦ ÃÊ°úÇؼ­´Â ¾ÈµÈ´Ù. ŸÀÔÀº µ¥ÀÌÅÍÀÇ ¹°¸®ÀûÀÎ ÇüŸ¸ ÁöÁ¤ÇÒ »Ó ³í¸®ÀûÀÎ °ª±îÁö´Â Á¡°ËÇÏÁö´Â ¸øÇÑ´Ù. À½¼ö³ª ³Ê¹« Å« ¼öµµ ¼öÄ¡Çü Çʵ忡 Àß ÀúÀåµÈ´Ù.

±×·¡¼­ ³í¸®ÀûÀÎ °ª±îÁö Á¡°ËÇÒ ¼ö ÀÖ´Â ÀåÄ¡°¡ ÇÊ¿äÇÏ´Ù. DBMS´Â ÁÖ·Î Á¦¾àÀ» »ç¿ëÇÑ´Ù. Á¦¾à(Constraint)Àº Á¶°ÇÀ» À§¹ÝÇÏ´Â µ¥ÀÌÅ͸¦ ¹æÁöÇÏ¿© ¿ÏÀü¼ºÀ» º¸ÀåÇÏ´Â ±ÔÄ¢ÀÌ´Ù. Á¦¾àÀÌ ¾øÀ¸¸é ¾Æ¹« µ¥ÀÌÅͳª ÀÚÀ¯·Ó°Ô ÀÔ·ÂÇÒ ¼ö ÀÖÁö¸¸ ¹«°á¼ºÀÌ ½±°Ô ±úÁø´Ù.

Å×ÀÌºí µðÀÚÀÎâÀÇ ÇÊµå ¼Ó¼ºÀ» º¸¸é À̸§°ú ŸÀÔ ¿Ü¿¡ ³Î Çã¿ë ¿©ºÎ¿Í ±âº»°ª µîÀ» ¼³Á¤ÇÏ´Â ¶õÀÌ ÀÖ°í ±âº»Å°ÀÎ PK¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ÀÌ ÆíÁýâ¿¡¼­ ÇʵåÀÇ ÀԷ°ª ÇüŸ¦ ¹Ì¸® ÁöÁ¤ÇØ µÎ´Â °ÍÀÌ ¹Ù·Î Á¦¾àÀ̸ç ÀÌ ±ÔÄ¢¿¡ ¸Â´Â µ¥ÀÌÅ͸¸ ÀԷ¹޴´Ù.

Äõ¸®¹®¿¡¼­´Â NULL, NOT NULL, PRIMARY KEY °°Àº ¼Ó¼ºÀ¸·Î Á¦¾àÀ» ÁöÁ¤ÇÑ´Ù. Å×À̺íÀ» ¸¸µé ¶§ ÁöÁ¤ÇÏ´Â Á¦¾àÀº °£´ÜÇÑ ±ÔÄ¢¸¸ °¡´ÉÇÏÁö¸¸ ¼±¾ð¸¸ ÇØ µÎ¸é Àû¿ëÀº DBMS°¡ ¾Ë¾Æ¼­ ó¸®ÇÑ´Ù´Â ¸é¿¡¼­ Æí¸®ÇÏ°í È¿À²ÀûÀÌ´Ù. ¿©±â¼­´Â °¢ Á¦¾àÀÇ ÀÇ¹Ì¿Í È¿°ú¿¡ ´ëÇØ ¼ø¼­´ë·Î ½Ç½ÀÇØ º¸ÀÚ.

2.NULL Çã¿ë

NULLÀº ¾Æ¹«°Íµµ ÀԷµǾî ÀÖÁö ¾ÊÀº °ÍÀÌ¸ç ¾Ë¼ö ¾ø°Å³ª °áÁ¤µÇÁö ¾ÊÀº Ư¼öÇÑ »óŸ¦ ÀǹÌÇÑ´Ù. ÇʵåÀÇ NULL Çã¿ë ¼Ó¼ºÀº NULL »óÅ°¡ Á¸ÀçÇÏ´ÂÁö¸¦ ÁöÁ¤ÇÑ´Ù. ¹Ýµå½Ã ÀÔ·ÂÇØ¾ß ÇÏ´Â Çʼö Çʵå´Â NULLÀ» Çã¿ëÇؼ­´Â ¾ÈµÇ¸ç ¾ø¾îµµ ±×¸¸ÀÎ ¿É¼Ç Çʵå´Â NULLÀ» Çã¿ëÇصµ »ó°ü¾ø´Ù.

ȸ¿ø Á¤º¸ÀÇ °æ¿ì ¾ÆÀ̵ð, À̸§, ºñ¹Ð¹øÈ£, À̸ÞÀÏ µîÀº ȸ¿ø °ü¸®¸¦ À§ÇÑ Çʼö Á¤º¸¿©¼­ ¹Ýµå½Ã ÀÔ·ÂÇØ¾ß ÇÑ´Ù. ±×·¯³ª ȨÆäÀÌÁö, ÁÖ¼Ò, ÀüÈ­¹øÈ£´Â ¾ø´Â »ç¶÷µµ ÀÖ°í °ø°³Çϱ⸦ ²¨¸®´Â »ç¶÷µµ ÀÖ¾î Çʼö Á¤º¸´Â ¾Æ´Ï´Ù. À¥ »çÀÌÆ®ÀÇ È¸¿ø °¡ÀÔ ÆäÀÌÁö´Â µÎ ºÎ·ùÀÇ Á¤º¸¸¦ ºÐ¸íÈ÷ ±¸ºÐÇÑ´Ù.

±½°Ô Ç¥½ÃµÈ Á¤º¸´Â ÇʼöÀÌ¸ç »ý·«½Ã ȸ¿ø °¡ÀÔÀ» °ÅºÎÇÑ´Ù. ¹Ý¸é ¿É¼Ç Á¤º¸´Â ¹àÈ÷±â ½ÈÀ¸¸é ºóÄ­À¸·Î ³²°ÜµÎ¾îµµ °¡ÀÔÇÒ ¼ö ÀÖ´Ù. NULL Çã¿ë ¼Ó¼ºÀ» ¼³Á¤ÇÏÁö ¾ÊÀº Çʵ带 ´©¶ôÇÏ¸é ·¹ÄÚµå »ðÀÔÀ» ±ÝÁöÇÏ¿© ȸ¿ø Å×À̺íÀÇ ¹«°á¼ºÀ» ÁöŲ´Ù.

ÇʵåÀÇ NULL Çã¿ë ¼Ó¼ºÀº Å×À̺íÀ» »ý¼ºÇÒ ¶§ ÇÊµå ¼Ó¼º µÚ¿¡ ÁöÁ¤ÇÑ´Ù. ÇÊµå ¼±¾ð Á¦ÀÏ µÚ¿¡ NULLÀ̶ó°í ÁöÁ¤Çϸé NULL°ªÀ» Çã¿ëÇÑ´Ù´Â ¶æÀÌ°í NOT NULLÀ̶ó°í ÀûÀ¸¸é NULLÀ» Çã¿ëÇÏÁö ¾Ê´Â´Ù´Â ¶æÀÌ´Ù. »ó¼ö NULL°ú Á» Çò°¥¸®´Âµ¥ Nullable, Not NullableÀ̶ó°í ÀÌÇØÇÏ¸é µÈ´Ù. tCity Å×À̺íÀÇ »ý¼º ½ºÅ©¸³Æ®¸¦ º¸ÀÚ.

name, metro, region Çʵå´Â PRIMARY KEY ¶Ç´Â NOT NULL ¼Ó¼ºÀÌ ÀÖ¾î NULLÀ» Çã¿ëÇÏÁö ¾ÊÀ½À» ÁöÁ¤ÇÑ´Ù. À̸§À̳ª ¼Ò¼ÓÀÌ ¾ø´Â µµ½Ã´Â Á¤º¸·Î¼­ÀÇ °¡Ä¡°¡ ¾ø´Ù. ¹Ý¸é area¿Í popu Çʵå´Â NULL ¼Ó¼ºÀ¸·Î ÁöÁ¤µÇ¾î ÀÖ¾î »ý·« °¡´ÉÇÏ´Ù. Àα¸³ª ¸éÀûÀ» ¸ð¸£°Å³ª ±»ÀÌ ¾Ë ÇÊ¿ä ¾ø´Ù¸é ºñ¿ö ³õÀ» ¼ö ÀÖ´Ù.

INSERT ¸í·ÉÀ¸·Î ·¹Äڵ带 »ðÀÔÇÒ ¶§ NOT NULL·Î ÁöÁ¤ÇÑ Çʵå´Â ¹Ýµå½Ã ÀÔ·ÂÇØ¾ß ÇÑ´Ù. Çʼö Á¤º¸ Áß Çϳª¶óµµ »© ¸ÔÀ¸¸é Á¤»óÀûÀÎ Á¤º¸°¡ ¾Æ´Ï¶ó°í ÆÇ´ÜÇÏ¿© ·¹ÄÚµå »ðÀÔÀ» °ÅºÎÇÑ´Ù. ±×·¯³ª NULL·Î ÁöÁ¤ÇÑ Çʵå´Â »ý·«Çصµ »ó°ü¾ø´Ù. ´ÙÀ½ µÎ Äõ¸®¹®Àº Á¤»ó ½ÇÇàµÈ´Ù.

 

INSERT INTO tCity (name, popu, metro, region) VALUES ('¿ï»ê', 114, 'y', '°æ»ó');

INSERT INTO tCity (name, metro, region) VALUES ('»ïô', 'n', '°­¿ø');

¿ï»êÀº ¸éÀûÀ» ¸ð¸£´Â »óÅ¿©¼­ area Çʵå´Â »©°í ÀÔ·ÂÇß´Ù. Àß ÀÔ·ÂµÇ¸ç »ý·«ÇÑ area´Â NULLÀÌ µÈ´Ù. ¸éÀûÀ» ¸ð¸¥´Ù°í ¿ï»êÀÇ Á¤º¸ ÀÚü°¡ ¹«È¿ÇÑ °ÍÀº ¾Æ´Ï¸ç Á¤º¸°¡ ¾ø´Ù´Â °Íµµ ÇϳªÀÇ Á¤º¸ÀÌ´Ù. »ïôÀº Àα¸, ¸éÀûÀ» ´Ù »ý·«Çصµ Àß »ðÀԵȴÙ. ±×·¯³ª ´ÙÀ½ µÎ Äõ¸®¹®Àº ¿¡·¯ÀÌ´Ù.

 

INSERT INTO tCity (area, popu, metro, region) VALUES (456, 123, 'n', 'Ãæû');

INSERT INTO tCity (name, area, popu) VALUES ('ÀÇÁ¤ºÎ', 456,123);

 

Ãæûµµ¿¡ ÀÖ´Â ¾î´À µµ½ÃÀÎ ¸ð¾çÀε¥ À̸§ÀÌ ¾ø´Ù. Á¦ÀÏ Áß¿äÇÑ À̸§ÀÌ ´©¶ôµÇ¾î µµ´ëü ¾î´À µµ½ÃÀÇ Á¤º¸ÀÎÁö ¾Ë ¼ö ¾øÀ¸¸ç ½á ¸ÔÀ» µ¥µµ ¾ø´Ù. ÀÇÁ¤ºÎ´Â À̸§Àº ÀÖÁö¸¸ ¼Ò¼Ó°ú ±¤¿ª½Ã ¿©ºÎ°¡ ¾ø¾î ¿ª½Ã ¹«È¿ÇÑ Á¤º¸À̸ç DBMS´Â ÀÌ·± ¹«È¿ÇÑ ·¹ÄÚµåÀÇ »ðÀÔÀ» °ÅºÎÇÑ´Ù.

»ý·« °¡´ÉÇÑ ¿É¼Ç ÇʵåÀΰ¡ ¾Æ´Ï¸é ¹Ýµå½Ã ÀÔ·ÂÇØ¾ß ÇÏ´Â Çʼö ÇʵåÀΰ¡¿¡ µû¶ó ¼±¾ð¹® ³¡¿¡ NULL ¶Ç´Â NOT NULLÀ̶ó°í ¸í½ÃÇÑ´Ù. ±×·¸´Ù¸é NULL Çã¿ë ¿©ºÎ¸¦ »ý·«ÇØ ¹ö¸®¸é ¾î¶»°Ô µÉ±î? ´ÙÀ½ Å×À̺íÀ» »ý¼ºÇØ º¸ÀÚ.

 

CREATE TABLE tNullable

(

    name CHAR(10) NOT NULL,

    age INT

);

 

nameÀº Çʼö ÇʵåÀÓÀÌ ºÐ¸íÇÏ´Ù. ±×·¯³ª age´Â Á¤¼öÇüÀ̶ó´Â °Í¸¸ ¹àÇûÀ» »Ó NULL Çã¿ë ¿©ºÎ¿¡ ´ëÇÑ ÁöÁ¤ÀÌ ¾ø´Ù. NULL Çã¿ë ¿©ºÎ¸¦ »ý·«Çϸé DBMSÀÇ µðÆúÆ® Çã¿ë ¿©ºÎ¸¦ µû¸¥´Ù. ´ÙÀ½ Äõ¸®¹®À» ½ÇÇàÇØ º¸ÀÚ.

 

INSERT INTO tNullable (name, age) VALUES ('ÈïºÎ', 36);

INSERT INTO tNullable (name) VALUES ('³îºÎ');

INSERT INTO tNullable (age) VALUES (44);

 

¸ðµç Çʵ尪À» ´Ù ÀÔ·ÂÇÑ ÈïºÎ´Â Ç×»ó Àß »ðÀԵȴÙ. À̸§¸¸ ÀÔ·ÂÇÏ°í ³ªÀ̸¦ »ý·«ÇÑ ³îºÎ´Â DBMSÀÇ ¼³Á¤¿¡ µû¶ó ÀÔ·ÂµÉ ¼öµµ ÀÖ°í ¾Æ´Ò ¼öµµ ÀÖ´Ù. ´ëºÎºÐÀÇ DBMS´Â NULL Çã¿ëÀÌ µðÆúÆ®¿©¼­ ÀÌ»ó ¾øÀÌ »ðÀÔµÉ È®·üÀÌ ³ô´Ù. À̸§À» »ý·«ÇÏ°í ³ªÀÌ 44¼¼¸¸ ÀÔ·ÂÇÏ¸é ´ç¿¬È÷ ¿¡·¯ 󸮵ȴÙ.

NULL Çã¿ë ¼Ó¼ºÀÇ µðÆúÆ®´Â DBMS¸¶´Ù ´Ù¸£¸ç µ¥ÀÌÅͺ£À̽º³ª ¿¬°á ¼öÁØ¿¡¼­ º¯°æÇÒ ¼öµµ ÀÖ´Ù. ±×·¯³ª ¼³Á¤¿¡ ¿µÇâÀ» ¹Þ´Â ¸í·ÉÀº ÀÏ°ü¼ºÀÌ ¾ø¾î À§ÇèÇÏ´Ù. ¼Õ°¡¶ô Á» ÆíÇØ º¼·Á°í ¼Ó¼ºÀ» »ý·«ÇÏÁö ¸»°í ÇÊµå ¼±¾ð¹® ³¡¿¡ Ç×»ó NULL, NOT NULLÀ» ºÐ¸íÈ÷ ¸í½ÃÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù.

3.±âº»°ª

NULL Çã¿ë ¼Ó¼ºÀº µ¥ÀÌÅͺ£À̽ºÀÇ ¼º´ÉÀ» ÀúÇØÇÏ´Â ÁÖ¹üÀÌ´Ù. Ç×»ó NULL »óŸ¦ °¨¾ÈÇÏ¿© Çʵ尪ÀÌ Á¸ÀçÇÏ´ÂÁö Á¡°ËÇØ¾ß ÇÏ°í º¸ÅëÀÇ °ª°ú´Â ´Ù·ç´Â ¹æ½ÄÀÌ ´Þ¶ó ´À¸± ¼ö¹Û¿¡ ¾ø´Ù. ÀÀ¿ë ÇÁ·Î±×·¥µµ NULLÀ» Ç×»ó °í·ÁÇØ¾ß ÇÏ´Â ºÎ´ãÀÌ ÀÖ´Ù.

NULL Çã¿ë ´ë½Å ±âº»°ª(DEFAULT)À» »ç¿ëÇÏ´Â °ÍÀÌ ¼º´É»ó À¯¸®ÇÏ´Ù. ±âº»°ªÀº Çʵ尪À» ÁöÁ¤ÇÏÁö ¾ÊÀ» ¶§ ÀÚµ¿À¸·Î ÀÔ·ÂÇÒ °ªÀÌ´Ù. º¸Åë ¹«³­ÇÑ °ªÀ» ÁöÁ¤Çϴµ¥ ¼öÄ¡ÇüÀº 0ÀÌ Àû´çÇÏ°í ¹®ÀÚ¿­Àº ºñ¿ö µÎ°Å³ª 'N/A' µîÀ» ¸¹ÀÌ »ç¿ëÇÑ´Ù.

´ëºÎºÐÀÇ °æ¿ì ÀÏÁ¤ÇÑ °ªÀÌµÇ °¡²û ¿¹¿Ü°¡ ÀÖ´Â Çʵ忡 ±âº»°ªÀ» Àû¿ëÇÑ´Ù. µµ½ÃÁß ±¤¿ª½Ã´Â ¸î °³ µÇÁö ¾ÊÀ¸¸ç ´ëºÎºÐ Áö¿ª¿¡ ¼Ò¼ÓµÈ´Ù. ÀÌ·² ¶§ metro ÇÊµå ¼Ó¼º¿¡ DEFAULT Å°¿öµå¿Í ÇÔ²² µðÆúÆ®°ªÀ» 'n'À¸·Î ÁöÁ¤ÇÑ´Ù.

 

CREATE TABLE tCityDefault

(

     name CHAR(10) PRIMARY KEY,

     area INT NULL ,

     popu INT NULL ,

     metro CHAR(1) DEFAULT 'n' NOT NULL,

     region CHAR(6) NOT NULL

);

 

°ªÀ» °ýÈ£·Î °¨½Î DEFAULT('n')À̶ó°í Àû¾îµµ µÈ´Ù. DEFAULT Å°¿öµå´Â NULL Çã¿ë ¼Ó¼ºº¸´Ù ¾Õ¿¡ ¿Í¾ß ÇÑ´Ù. SQL Server¿Í MariaDB´Â ¼ø¼­¸¦ °­Á¦ÇÏÁö ¾ÊÁö¸¸ ¿À¶óŬÀº ¼ø¼­¸¦ ¹Ù²Ù¸é ¿¡·¯ ó¸®ÇØ ¹ö¸°´Ù.

»õ·Î¿î ·¹Äڵ带 »ðÀÔÇÒ ¶§ metro Çʵ带 ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ÀÚµ¿À¸·Î 'n'À» Àû¿ëÇÑ´Ù. ±âº»°ªÀº ÀÔ·ÂÇÏÁö ¾ÊÀ» ¶§¸¸ Àû¿ëÇÏ´Â °ÍÀÌ´Ù. °ªÀ» Á÷Á¢ ÁöÁ¤ÇÏ¸é ±âº»°ªÀ» ¹«½ÃÇÏ°í ÁöÁ¤ÇÑ °ªÀ» Àû¿ëÇÑ´Ù. ´ÙÀ½ µÎ ¸í·ÉÀ» ½ÇÇàÇØ º¸ÀÚ.

 

INSERT INTO tCityDefault (name, area, popu, region) VALUES ('ÁøÁÖ', 712, 34, '°æ»ó');

INSERT INTO tCityDefault (name, area, popu, metro, region) VALUES ('ÀÎõ', 1063, 295, 'y', '°æ±â');

 

ÁøÁֽô ¸éÀû, Àα¸, Áö¿ª¸¸ ÁöÁ¤ÇÏ°í ±¤¿ª½Ã ¿©ºÎ´Â »ý·«Çß´Ù. ÇÊµå ¸ñ·Ï¿¡ metro°¡ ¾Æ¿¹ ¾ø´Âµ¥ ÀÌ °æ¿ì µðÆúÆ®°¡ Àû¿ëµÇ¾î ±¤¿ª½Ã°¡ ¾Æ´Ñ °ÍÀ¸·Î »ðÀÔÇÑ´Ù. ÀÎõ½Ã´Â ¸ðµç ÇʵåÀÇ °ªÀ» ´Ù Á¦°øÇÏ¿© ±¤¿ª½Ã·Î µî·ÏÇÏ¿´´Ù.

Äõ¸®¹® ³»¿¡¼­ DEFAULT Å°¿öµå´Â ÇöÀç ¼³Á¤µÈ ±âº»°ªÀÌ´Ù. ±âº»°ª ¼³Á¤µµ ÆíÁý °¡´ÉÇؼ­ Å×ÀÌºí »ý¼º½Ã¿Í ´Þ¶óÁú ¼ö Àִµ¥ DEFAULT Å°¿öµå´Â Ç×»ó ÇöÀç ¼³Á¤µÈ ±âº»°ªÀ» Àоî¿Í Àû¿ëÇÑ´Ù. ÀÌ Å°¿öµå´Â ÇÊµå ¸ñ·ÏÀ» »ý·«ÇÒ ¶§ À¯¿ëÇÏ´Ù.

 

INSERT INTO tCityDefault VALUES ('°­¸ª', 1111, 22, '°­¿ø');           -- ¿¡·¯

INSERT INTO tCityDefault VALUES ('°­¸ª', 1111, 22, DEFAULT, '°­¿ø'); -- Á¤»ó ½ÇÇà

 

ÇÊµå ¸ñ·ÏÀ» »ý·«ÇÏ¸é °ª ¸ñ·ÏÀÌ ¿ÏÀüÇØ¾ß ÇÑ´Ù. metro¿¡ ±âº»°ªÀÌ ÀÖ´õ¶óµµ °ª ¸ñ·Ï¿¡ ÀÌ ÀÚ¸®¸¦ ºñ¿ö µÎ¸é ¾ÈµÈ´Ù. °ª ¸ñ·ÏÀ» ¿ÏÀüÈ÷ ÀûµÇ ±âº»°ªÀ» Àû¿ëÇÒ Çʵ尪¿¡ DEFAULT¶ó°í Àû´Â´Ù. ±âº»°ªÀ¸·Î º¯°æÇÒ ¶§µµ DEFAULT Å°¿öµå¸¦ »ç¿ëÇÑ´Ù. ´ÙÀ½ ¸í·ÉÀº ÀÎõÀÇ metro Çʵ带 ±âº»°ªÀÎ 'n'À¸·Î º¯°æÇÑ´Ù.

 

UPDATE tCity_Default SET metro = DEFAULT WHERE name = 'ÀÎõ'

 

±âº»°ªÀÇ À¯¹«¿Í NULL Çã¿ë ¿©ºÎ´Â ¿ÏÀüÈ÷ º°°³ÀÇ ¼Ó¼ºÀÓÀ» ÁÖÀÇÇÏÀÚ. »ý·«½Ã ÀÚµ¿ Àû¿ëµÇ´Â ±âº»°ªÀÌ ÀÖÀ¸¸é Ç×»ó NULLÀº ¾Æ´Ò °ÍÀ̶ó°í ¿ÀÇØÇÒ ¼öµµ ÀÖ´Ù. ±×·¯³ª ±âº»°ªÀÌ ÁöÁ¤µÇ¾î ÀÖ´õ¶óµµ NULLÀ» Á÷Á¢ ÀÔ·ÂÇÒ ¼ö´Â ÀÖ°í UPDATE ¸í·ÉÀ¸·Î NULL·Î ¹Ù²Ü ¼öµµ ÀÖ´Ù. ±âº»°ªÀº »ý·«½Ã Àû¿ëÇÒ °ªÀÏ »ÓÀÌÁö NULL Çã¿ë ¿©ºÎ±îÁö ÅëÁ¦ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù.

¿¬½À ¹®Á¦

1.Á÷¿ø Å×À̺íÀÇ °¢ Çʵ忡 ±âº»°ªÀ» Àû¿ëÇÏ¿© tStaffDefault Å×À̺íÀ» »ý¼ºÇ϶ó. ºÎ¼­´Â ¿µ¾÷ºÎ, Á÷±ÞÀº ¼ö½À, ÃʺÀÀº 280, ¼ºÃëµµ´Â 1.0ÀÇ ±âº»°ªÀ» Àû¿ëÇÑ´Ù.

4.üũ

üũ Á¦¾àÀº ÇʵåÀÇ °ª Á¾·ù¸¦ Á¦ÇÑÇÑ´Ù. ¸ðµç ¼Ó¼ºÀº À¯ÀǹÌÇÑ ¹üÀ§°¡ ÀÖ°í »ó½ÄÀûÀ¸·Î °¡´ÉÇÑ °ª°ú ±×·¸Áö ¾ÊÀº °ªÀÌ ÀÖ´Ù. ¿¹¸¦ µé¾î µµ½Ã°¡ ¾Æ¹«¸® °Å´ëÇصµ Àα¸ 100¾ïÀ» ³Ñ±æ ¼ö´Â ¾ø°í ¸éÀûÀÌ À½¼ö°¡ µÉ ¼ö´Â ¾ø´Ù. üũ Á¦¾àÀº ÀÌ·± ¹«ÀǹÌÇÑ °ªÀ» °É·¯³½´Ù.

ŸÀÔÀº ¹°¸®ÀûÀÎ Çü½ÄÀ» Á¡°ËÇϴµ¥ ºñÇØ Ã¼Å©´Â ³í¸®ÀûÀÎ °ªÀÇ Çü½ÄÀ» Á¡°ËÇÑ´Ù. ÇÊµå ¼±¾ð¹®¿¡ CHECK Å°¿öµå¿Í ÇÔ²² Çʵ尪À¸·Î °¡´ÉÇÑ °ªÀ» Á¶°Ç¹®À¸·Î ÁöÁ¤ÇÑ´Ù. WHERE ÀýÀÇ Á¶°ÇÀ» ÁöÁ¤ÇÏ´Â ¸ðµç ¹®¹ýÀ» ´Ù ¾µ ¼ö ÀÖ´Ù. Å×½ºÆ®¸¦ À§ÇØ °£´ÜÇÑ Å×À̺íÀ» ¸¸µé¾î º¸ÀÚ.

 

CREATE TABLE tCheckTest

(

     gender CHAR(3) NULL CHECK(gender = '³²' OR gender = '¿©'),

     grade INT NULL CHECK (grade >= 1 AND grade <= 3),

     origin CHAR(3) NULL CHECK(origin IN ('µ¿','¼­','³²','ºÏ')),

     name CHAR(10) NULL CHECK(name LIKE '±è%')

);

 

°¢ Çʵ忡 Á¶°Ç¹®À¸·Î üũ Á¦¾àÀ» ÁöÁ¤Çß´Ù. ¼ºº°À» ÀúÀåÇÏ´Â gender Çʵå´Â '³²', ¾Æ´Ï¸é '¿©'¸¸ °¡´ÉÇÏ´Ù. CHECK Á¶°Ç¹®¿¡ gender°¡ µÑ Áß ÇϳªÀÓÀ» ¸í½ÃÇÏ¿© ÀÌ µÎ °ª ÀÌ¿Ü¿¡´Â ÀÔ·ÂÀ» ±ÝÁöÇÑ´Ù.

grade´Â Áß°íµîÇб³ÀÇ ÇгâÀ» Ç¥ÇöÇϴµ¥ 1~3±îÁö¸¸ À¯È¿ÇÏ´Ù. ÃʵîÇб³¶ó¸é 6±îÁö, ´ëÇб³¶ó¸é 4±îÁö ¹üÀ§¸¦ ´Ã¸®¸é µÈ´Ù. ÀÏÁ¤ ¹üÀ§³»ÀÏ ¶§´Â ÃÖ¼Ò°ª, ÃÖ´ë°ªÀ» ÁöÁ¤ÇÏ´Â ´ë½Å BETWEEN AND Á¶°Ç¹®ÀÌ Æí¸®ÇÏ´Ù.

 

grade INT NULL CHECK (grade BETWEEN 1 AND 3),

 

origin Çʵå´Â ¹æÀ§¸¦ ³ªÅ¸³»´Âµ¥ µ¿¼­³²ºÏ ³Ý Áß Çϳª¸¸ °¡´ÉÇÏ´Ù. ¿©·¯ °³ÀÇ ÀÓÀÇ°ª Áß Çϳª¸¦ ÁöÁ¤ÇÒ ¶§´Â IN ¿¬»êÀÚ°¡ Æí¸®ÇÏ´Ù. ºÎºÐ ¹®ÀÚ¿­À» Á¡°ËÇÒ ¶§´Â LIKE ¿¬»êÀÚ¸¦ »ç¿ëÇÑ´Ù. name Çʵå´Â ¼º¾¾°¡ ±è¾¾ÀÎ °æ¿ì¸¸ ¹Þ¾ÆµéÀδÙ.

¸ðµç Çʵ忡 Á¦¾àÀ» °É¾î µÎ¾úÀ¸¹Ç·Î ÀÌ ±ÔÄ¢¿¡ ¸Â´Â °ª¸¸ Çã°¡ÇÑ´Ù. ´ÙÀ½ Äõ¸®¹®Àº ¸ðµÎ üũ Á¦¾à Á¶°Ç¿¡ ¸Â´Â °ªÀ» ÀÔ·ÂÇÏ¿© Àß ½ÇÇàµÈ´Ù. »ðÀÔÇÑ °ªÀ» º¸¸é ¸ðµÎ üũ Á¦¾à°ú ÀÏÄ¡ÇÑ´Ù.

 

INSERT INTO tCheckTest (gender) VALUES ('¿©');

INSERT INTO tCheckTest (grade) VALUES (1);

INSERT INTO tCheckTest (origin) VALUES ('µ¿');

INSERT INTO tCheckTest (name) VALUES ('±èÁÂÁø');

±×·¯³ª ´ÙÀ½ ¸í·ÉÀº ¸ðµÎ Á¦¾à Á¶°Ç°ú Ãæµ¹Çß´Ù´Â ¿¡·¯ ¸Þ½ÃÁö°¡ Ãâ·ÂµÇ¸ç »ðÀÔÀ» °ÅºÎÇÑ´Ù. »ðÀÔÇÑ °ªÀ» º¸¸é ÀÌÀ¯¸¦ ±Ý¹æ ¾Ë ¼ö ÀÖ´Ù.

 

INSERT INTO tCheckTest (gender) VALUES ('³ë');

INSERT INTO tCheckTest (grade) VALUES (0);

INSERT INTO tCheckTest (origin) VALUES ('Áß');

INSERT INTO tCheckTest (name) VALUES ('û»ê¸®');

 

³²ÀÚµµ ¿©ÀÚµµ ¾Æ´Ñ '³ë'´Â ¼ºº°ÀÌ µÉ ¼ö ¾ø°í Áß°íµîÇб³¿¡ 0ÇгâÀ̳ª 4ÇгâÀº Á¸ÀçÇÏÁö ¾Ê´Â´Ù. ¹æÇâÀº µ¿¼­³²ºÏ Áß Çϳª¸¸ °¡´ÉÇϸç À̸§Àº ±è¾¾¿©¾ß ÇÑ´Ù. »ðÀÔÇÒ ¶§ »Ó¸¸ ¾Æ´Ï¶ó UPDATEÇÒ ¶§µµ üũ Á¦¾à Á¶°ÇÀ» Á¡°ËÇÑ´Ù.

 

UPDATE tCheckTest SET grade = 4 WHERE grade IS NOT NULL;

 

4ÇгâÀº üũ Á¶°Ç¿¡ À§¹èµÇ¾î ¾Æ¹« ·¹Äڵ嵵 °»½ÅÇÏÁö ¾Ê´Â´Ù. µµ½Ã Á¤º¸ Å×À̺íÀÎ tCity¿¡µµ Áö¿ª¸í¿¡ Á¦¾àÀ» °É¾î µÎ¸é ¾û¶×ÇÑ Áö¿ªÀ» ÀÔ·ÂÇÏ´Â °ÍÀ» ¹æÁöÇÑ´Ù.

 

region CHAR(6) NOT NULL CHECK (region IN ('°æ±â', 'Ãæû', '°­¿ø', '°æ»ó', 'Àü¶ó', 'Á¦ÁÖ'))

 

region Çʵå´Â ¹Ýµå½Ã üũ Á¦¾à Á¶°Ç¿¡ ÁöÁ¤ÇÑ Áö¿ª ÁßÀÇ Çϳª¿©¾ß ÇÑ´Ù. ÀÌ Á¦¾àÀÌ ÀÖ´Â »óÅ¿¡¼­ ´ÙÀ½ ¹®ÀåÀº ¿¡·¯ ó¸®µÇ¸ç »ðÀÔÀ» °ÅºÎÇÑ´Ù. '¿ì»ê'À̶ó´Â Áö¿ª¸íÀ» ÀÎÁ¤ÇÏÁö ¾Ê´Â´Ù.

 

INSERT INTO tCity3 VALUES ('¿ï¸ª',72,1,'n','¿ì»ê');

 

¼­¹ö´Â ·¹Äڵ带 »ðÀÔ, º¯°æÇÒ ¶§¸¶´Ù Á¦¾à Á¶°ÇÀ» Á¡°ËÇϸç Ŭ¶óÀ̾ðÆ®¿¡¼­ ¹«½¼ ÁþÀ» ÇÏ´õ¶óµµ ÀÌ Á¦¾à Á¶°ÇÀ» ¾î±æ ¼ö ¾ø´Ù. µû¶ó¼­ tCity¿¡ ÀÖ´Â ¸ðµç µµ½Ã´Â 6°³ Áö¿ª Áß Çϳª¿¡ ¼Ò¼ÓµÊÀ» º¸ÀåÇÒ ¼ö ÀÖ´Ù.

¿¬½À ¹®Á¦

2.Á÷¿ø Å×À̺íÀÇ °¢ Çʵ忡 Á¦¾à Á¶°ÇÀ» ¼³Á¤ÇÏ¿© ºÎ¼­´Â ¿µ¾÷ºÎ, Ãѹ«ºÎ, Àλç°ú Áß Çϳª¸¸, ¼ºº°Àº ³² ¾Æ´Ï¸é ¿©·Î Á¦ÇÑÇÏ°í ¿ù±ÞÀº 0º¸´Ù Å©´Ù´Â Á¶°ÇÀ» ¼³Á¤Ç϶ó.