Mini SQL 2.0.0 DBMS
- mSQL ½ÃÀÛÇϱâ -

     

0.  ½ÃÀÛÇϸ鼭...

    Áö³­ ½Ã°£±îÁö´Â mini SQL 2.0.0À» ¾îµð¿¡¼­, ¾î¶»°Ô, ¹«¾ùÀ» ÇØ¾ß ¾òÀ» ¼ö ÀÖ°í ¼³Ä¡¸¦ ÇÒ ¼ö ÀÖ´ÂÁö °£´ÜÇÏ°Ô ¾Ë¾Æ º¸¾Ò´Ù. ¿ì¸®´Â µ¥ÀÌÅÍ º£À̽º °ü¸® ½Ã½ºÅÛÀÌ ¿Ö ÇÊ¿ä·Î ÇÏ°Ô µÇ¾ú°í, mSQLÀÇ ÀåÁ¡°ú °³¹ß¿¡ µµ¿òÀÌ µÇ´Â ´Ù¸¥ °³¹ß ¼Ö·ç¼ÇµéÀÌ ¸¹´Ù´Â °Íµµ ½±°Ô ¾Ë ¼ö ÀÖ¾úÀ» °ÍÀÌ´Ù.

    À̹ø ½Ã°£¿¡´Â Á»´õ ±íÀº À̾߱⸦ ÇÏ·Á°í ÇÑ´Ù. DBMS¶ó´Â °ÍÀÌ ¸¹Àº ¾çÀÇ µ¥ÀÌÅ͸¦ ó¸®ÇÑ´Ù´Â °ÍÀº ´©±¸³ª Àß ¾Ë°í ÀÖÀ» °ÍÀÌ´Ù. ±×·¯³ª ±× ¶æÇÏ´Â ¹Ù°¡ ¹«¾ùÀÎÁö¿¡ ´ëÇÏ¿© Á¤È®ÇÑ °³³äÀ» ¾ËÁö ¸øÇÏ°í ½ÃÀÛÇÏ´Â °Íº¸´Ù´Â µ¥ÀÌÅÍ º£À̽º ½Ã½ºÅÛ¿¡ ´ëÇÏ¿© °£´ÜÈ÷ »ìÆì º¸±â·Î ÇÏ´Â °ÍÀÌ ÁÁÀ» °°´Ù.

 

1.  µ¥ÀÌÅÍ º£À̽º¶õ ¹«¾ùÀΰ¡?

    ÀϹÝÀûÀ¸·Î ¿ì¸®°¡ ºÎ¸£´Â DB¶ó´Â °ÍÀº ³Ê¹« Çü¿ë»çÀûÀÎ °Í °°¾Æ ÇÊÀÚ´Â Áñ°Ü Ç¥ÇöÇÏÁö ¾Ê´Â´Ù. ¿ì¸®´Â ÀÏ»óÀûÀ¸·Î DB¶ó´Â ¸»À» ¾ÆÁÖ Áñ°Ü¼­ »ç¿ëÇÏ´Â °ÍÀ» º¼ ¼ö ÀÖ´Ù. ƯÈ÷ Åë½Å¿¡¼­´Â ´õ¿í ±×·¸´Ù. ¿ì¸®°¡ ¸»ÇÏ´Â DB ¶ó´Â ´Ü¾î ÀÚü´Â »ó´çÈ÷ ±¤¹üÀ§ ÇÑ °ÍÀ» ¸»ÇÑ´Ù. DB´Â µ¥ÀÌÅÍ º£À̽º(Database)ÀÇ ¾àÀÚ·Î ÀϹÝÀûÀ¸·Î µ¥ÀÌÅ͵éÀÇ ¸ðÀÓÀ¸·Î Á¤ÀÇÇÑ´Ù. ±×·¯³ª ÀϹÝÀûÀ¸·Î »ç¶÷µéÀº DB¿Í DBMS»çÀÌÀÇ °³³äÀ» Àß ¸ð¸£°í °°Àº Àǹ̷Π»ç¿ëÇÒ ¶§°¡ ¸¹´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.

    µ¥ÀÌÅÍ º£À̽º °ü¸® ½Ã½ºÅÛ(Database Management System)Àº ¿©·¯ °¡Áö »óÈ£ ¿¬°üÀÌ ÀÖ´Â µ¥ÀÌÅͳª µ¥ÀÌÅÍ º£À̽ºµéÀ» ¸ð¾Æ¼­ °ü¸®ÇØ ÁÖ´Â ÇϳªÀÇ °ü¸® ½Ã½ºÅÛÀÌ´Ù. ´ëºÎºÐÀÇ µ¥ÀÌÅÍ º£À̽º °ü¸® ½Ã½ºÅÛ¿¡´Â ÀÌ·¯ÇÑ µ¥ÀÌÅÍ º£À̽ºµé°ú °¢°¢ÀÇ µ¥ÀÌÅÍ º£À̽º¸¦ °ü¸®ÇÒ ¼ö ÀÖ´Â ÀÀ¿ë ÇÁ·Î±×·¥µéÀÌ Àֱ⠸¶·ÃÀÌ´Ù.

    ´ÙÀ½ < ±×¸² 1 > Àº  µ¥ÀÌÅÍ º£À̽º ½Ã½ºÅÛÀÇ ±¸¼º ¹× »ç¿ëÀÚ°£ÀÇ °ü°è¸¦ ¼³¸íÇÏ°í ÀÖ´Ù. »ç¿ëÀÚ´Â Ãʺ¸ÀÚÀÏ ¼ö ÀÖ°í, ÀÀ¿ë ÇÁ·Î±×·¡¸Ó, ÀÏ¹Ý »ç¿ëÀÚ, µ¥ÀÌÅÍ º£À̽º °ü¸®ÀÚ ÀÏ ¼öµµ ÀÖ´Ù. ¿©±â¼­ Ãʺ¸ÀÚ´Â ÀÀ¿ë ÇÁ·Î±×·¥À¸·Î µ¥ÀÌÅÍ º£À̽º ½Ã½ºÅÛ¿¡ Á¢±ÙÇÏ´Â °ÍÀ» ¸»ÇÏ´Â °ÍÀ¸·Î ºñ ÇÁ·Î±×·¡¸ÓµéÀÌ ¸¹°í, ȸ°è³ª ±âŸ ȸ»çÀÇ Á÷¿øÀÏ °¡´É¼ºÀÌ ³ô´Ù. ÀÀ¿ë ÇÁ·Î±×·¡¸Ó´Â ÇÊÀÚ¿Í °°Àº »ç¶÷À» ¸»ÇÏ´Â °ÍÀ¸·Î µ¥ÀÌÅÍ º£À̽ºÀÇ API¸¦ ÀÌ¿ëÇϰųª ½Ã½ºÅÛ È£Ãâ(System Call)À» »ç¿ëÇÏ¿© ÀûÀýÇÏ°Ô ±¸¼ºµÈ µ¥ÀÌÅÍ º£À̽º¿¡ Á¢±ÙÇÏ´Â »ç¶÷À» ¸»ÇÑ´Ù. µ¥ÀÌÅÍ º£À̽º °ü¸®ÀÚ´Â ¿©·¯ºÐµéÀ» ¸»ÇÏ´Â °ÍÀ¸·Î µ¥ÀÌÅÍ º£À̽ºÀÇ ½ºÅ°¸¶¸¦ °ü¸®ÇÏ´Â »ç¶÷À» ¸»ÇÑ´Ù. ³Ê¹« ¾î·Á¿î ¸»µéÀÌ ¸¹ÀÌ ³ª¿À°í »ý¼ÒÇÑ °³³äÀÌ ¸¹¾Æ¼­ ¾î¸®µÕÀýÇÑ µ¶ÀÚµµ ÀÖÀ» °ÍÀÌ´Ù. ¿©±â¼­´Â ´ëÃæ µ¥ÀÌÅÍ º£À̽º¿Í ¿ì¸®µéÀÇ °ü°è°¡ ÀÌ·± Á¤µµ¿¡ ÀÖ±¸³ª ÇÏ´Â °Í¸¸ ¾Ë°í ³Ñ¾î °¡´Â °ÍÀÌ ÁÁÀ» µíÇÏ´Ù. <±×¸² 1>¿¡¼­ ¿©·¯ºÐµéÀÇ À§Ä¡¸¦ Çѹø »ý°¢ÇØ º¸ÀÚ.

     

    < ±×¸² 1 > µ¥ÀÌÅÍ º£À̽º ½Ã½ºÅÛÀÇ ±¸¼º ¹× »ç¿ëÀÚ¿ÍÀÇ °ü°è

    ¿ì¸®°¡ ÁýÁßÀûÀ¸·Î ½ÃÀÛÇØ º¼ Mini SQL 2.0.0¿¡¼­´Â msql2d¶ó´Â µ¥ÀÌÅÍ º£À̽º¸¦ °ü¸®ÇÒ ¼ö ÀÖ´Â ÃÊ°æ·® µ¥ÀÌÅÍ º£À̽º ¿£Áø µ¥¸ó(µ¥ÀÌÅÍ º£À̽º °ü¸® ÇÁ·Î±×·¥)ÀÌ ÀÖ°í, mSQL 1.x.x ¹öÁ¯´ë¿¡¼­´Â ã¾Æ º¼ ¼ö ¾ø´Â ¿©·¯ °¡Áö µ¥ÀÌÅÍ º£À̽º À¯Æ¿¸®Æ¼ ÇÁ·Î±×·¥µéÀÌ ¸î °¡Áö Ãß°¡ µÇ¾ú´Ù. ÇÏÁö¸¸, ¾ÈŸ±õ°Ô ÀÌ·¯ÇÑ ÀÀ¿ëÇÁ·Î±×·¥µéÀÇ ¼º´É È®ÀåÀÌ ÀÌ·ç¾îÁöÁö ¾Ê¾Æ »ç¿ëÇϴµ¥ ºÒÆíÀ» ´À³¥ ¼ö ÀÖ´Ù. °ð ÀÌ·¯ÇÑ ÀÀ¿ë ÇÁ·Î±×·¥µéÀ» ºÐ¼®ÇÏ´Â ±âȸ°¡ ÁÖ¾îÁö°Ô µÉ °ÍÀÌ´Ù. Ȥ½Ã ÀÌ·¯ÇÑ ÇÁ·Î±×·¥À» Á÷Á¢ ¸¸µé¾î º¸°í ½Í´Ù¸é, ¹Ýµå½Ã API ¿¬À縦 ÀÐ¾î º»´Ù¸é, ¾ó¸¶°£ÀÇ °³¹ßÀ» ÅëÇؼ­ ÀÎÅͳݿ¡ º»ÀÎÀÌ ¸¸µç msqltoolÀ» msql Contrib Æú´õ¿¡ µé¾î °¡°Ô ¸¸µé ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. Àß ¸¸µç ÅøÀ̶ó¸é ´ÙÀ½ ¹ø msql ¹èÆ÷ÆÇ¿¡ Æ÷ÇÔÀÌ µÉÁö ´©°¡ ¾Ë°Ú´Â°¡?

     

    <±×¸² 2> µ¥ÀÌÅÍ¿Í µ¥ÀÌÅÍ º£À̽º¿ÍÀÇ °ü°è

    <±×¸² 2>Àº µ¥ÀÌÅÍ¿Í µ¥ÀÌÅÍ º£À̽º¿ÍÀÇ °ü°è¸¦ ¸»ÇØ ÁÖ°í ÀÖ´Ù. µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀº ´ë·®ÀÇ Á¤º¸¸¦ °ü¸®ÇÏ°í, ±×¹Û¿¡ Á¤º¸¸¦ Á¶ÀÛÇÏ¿© ÇÊ¿äÇÑ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇÏ°í ÀÖ´Ù. ¶ÇÇÑ µ¥ÀÌÅͺ£À̽º¿¡´Â µ¥ÀÌÅÍÀÇ Á¢±Ù ¹× ¼öÁ¤¿¡ ´ëÇÑ ¾ÈÁ¤¼ºÀ» Á¦°øÇØ¾ß ÇÑ´Ù. ´ëºÎºÐÀÇ µ¥ÀÌÅÍ º£À̽ºµéÀº ÀÌ·¯ÇÑ Á¶°ÇµéÀ» ¸ðµÎ °®Ãß°í ÀÖÀ» °ÍÀÌ´Ù.

 

2.  RDBMS(Relational Database Management System)

    Mini SQLÀº °ü°èÇü µ¥ÀÌÅͺ£À̽ºÀÇ Æ¯Â¡À» °¡Áö±â´Â ÇÏÁö¸¸, ¿ÏÀüÇÑ ±â´ÉÀ» Áö¿øÇÏ°í ÀÖÁö´Â ¾Ê´Ù°í Çß¾ú´Ù. ±×·³, °ú¿¬ °ü°èÇü µ¥ÀÌÅÍ º£À̽º¶ó´Â °ÍÀº ¹«¾ùÀÎÁö »ì¦ ¾Ë¾Æ º¸±â·Î ÇÏÀÚ. RDBMS(Relational Database Management System)´Â °ü°èÇü µ¥ÀÌÅÍ º£À̽º °ü¸® ½Ã½ºÅÛÀÇ ¾àÀÚÀ̸ç, Àڱ⠱â¾ï ÀåÄ¡(Disk)¿¡ °ü°èÇü ¸ðµ¨(E-R Model)ÀÇ °³³äÀ» ÇÕÇÑ °ÍÀ¸·Î µ¥ÀÌÅ͸¦ °ü¸®Çϱâ À§ÇÑ ½Ã½ºÅÛÀ» ¸»ÇÑ´Ù. ¿©±â¼­ E-R Model(Entity-Relation Model)À̶ó´Â °³³äÀº ±âº»ÀûÀ¸·Î °´Ã¼(Object)µé°ú ÀÌ °´Ã¼µé »çÀÌÀÇ °ü°èµéÀÇ ÁýÇÕÀ¸·Î ±¸¼ºµÈ ½Ç¼¼°è¸¦ Ç¥ÇöÇÏ´Â °ÍÀÌ´Ù. Áï, Entity(¿£Æ¼Æ¼)´Â ½ÇÁ¦·Î ¿ì¸® »ýÈ° ¼Ó¿¡ Á¸Àç¶ó´Â °´Ã¼°¡ µÇ°í, ÀÌ·¯ÇÑ  ¿£Æ¼Æ¼´Â À¯ÀÏÇÏ°Ô Á¸ÀçÇÏ´Â °´Ã¼À̾î¾ß ÇÑ´Ù. ±×¸®°í Relation(°ü°è)Àº ÀÌ·¯ÇÑ °´Ã¼ »çÀ̵éÀÇ °ü°è¸¦ ¸»ÇÑ´Ù.

     

    < ±×¸² 3 > µµ¼­ ´ë¿©Á¡°ú »ç¿ëÀÚ°£ÀÇ E-R Diagram

    ¿¹¸¦ µç´Ù¸é, ÀϹÝÀûÀ¸·Î ¿ì¸® ÁÖÀ§¿¡¼­ º¼ ¼ö ÀÖ´Â µµ¼­ ´ë¿©Á¡ÀÌ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ µµ¼­ ´ë¿©Á¡¿¡ °¡¼­ Ã¥À» °í¸¥ ÈÄ¿¡ ÀÚ½ÅÀÇ À̸§À̳ª ½ÅºÐÁõ ¶Ç´Â Ä«µå¸¦ Á¦½ÃÇϸé, º»ÀÎÀÇ À̸§°ú ÇÔ²² Áö±Ý±îÁö ºô·Á °£ Ã¥À̳ª ¹Ý³³ÇÏÁö ¾Ê´Â Ã¥µéÀÇ ¸®½ºÆ®°¡ ³ªÅ¸³¯ °ÍÀÌ´Ù. ¹°·Ð ¹Ý³³ÇÏÁö ¾ÊÀº Ã¥µéÀÌ ¾ø´Ù¸é, ¿øÇϴ åÀ» ºô·Á¼­ ´ë¿© ÀÏ°ú ¿ä±ÝÀ» ºÎ°úÇÒ °ÍÀÌ´Ù. ¿ì¸®´Â ÀÌ·¯ÇÑ ½Ç¼¼°è¿¡ ÀÖ´Â ÀϵéÀ» ½±°Ô <±×¸²3>°ú °°ÀÌ ³ªÅ¸³¾ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ·¸°Ô ÀÏ»ó »ýÈ°¿¡¼­µµ ½±°Ô E-R ModelÀÇ ¿¹¸¦ ãÀ» ¼ö ÀÖ´Ù. Å« Ÿ¿øÀº ½Ç¼¼°èÀÇ ¿£Æ¼Æ¼¸¦ Ç¥ÇöÇÏ°í ÀÖ°í, ¸¶¸§¸ð´Â µÎ ¿£Æ¼Æ¼ °£ÀÇ °ü°è¸¦ Ç¥ÇöÇÑ´Ù. ÀÛÀº Ÿ¿øÀº ¿¬°áµÇ¾î ÀÖ´Â ¿£Æ¼Æ¼ÀÇ ¼Ó¼ºµéÀ» ³ªÅ¸³½´Ù. °¢°¢ÀÇ ¿£Æ¼Æ¼¿¡ ³ëµåµéÀÌ Àִµ¥ ÀÌ°ÍÀº °¢°¢ÀÇ ¿£Æ¼Æ¼¸¦ ±¸ºÐÇϰųª ÇÊ¿ä·Î ÇÏ´Â Á¤º¸µéÀ» ³ªÅ¸³½´Ù. ¿¹¸¦ µç ³»¿ëÀº ¿ÏÀüÇÑ ³»¿ëÀÇ E-R DiagramÀÌ ¾Æ´Ï¸ç, °³³äÀ» °£´ÜÇÏ°Ô ¾Ë¾Æ º¸±â À§ÇÑ °ÍÀÌ´Ù. µ¶ÀÚ ¿©·¯ºÐµéÀÇ ÀÌÇØ°¡ Àֱ⸦ ¹Ù¶õ´Ù.

    ±×¸²À» Á» ´õ ¼³¸íÀ» Çϸé, ¿£Æ¼Æ¼´Â µ¶ÀÚ(»ç¿ëÀÚ)¿Í µµ¼­°¡ ¿£Æ¼Æ¼°¡ µÇ°í °¡¿îµ¥¿¡ ÀÖ´Â °ÍÀº ´Ü¼øÀÌ °ü°è¸¦ ³ªÅ¸³½´Ù°í º¸¸é µÈ´Ù. ÀÌ°ÍÀº ȸ¿ø ¹øÈ£¸¦ °¡Áö°í ÀÌ·¯ÇÑ »ç¿ëÀÚÀÇ µ¥ÀÌÅÍ º£À̽º¸¦ Á¢±ÙÇÏ´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô ¸¸µç E-R DiageamÀº ½±°Ô ¿ì¸®°¡ ¿øÇÏ´Â Å×À̺í·Î º¯È¯ÀÌ ¿ëÀÌÇØ Áø´Ù.

             < Ç¥ 1 > »ç¿ëÀÚ Å×À̺í

    < Ç¥ 1 >¿¡¼­ °¢°¢ÀÇ Æ©ÇÃ(·¹ÄÚµå)µéÀº ¹Ýµå½Ã ·¹ÄÚµåµé³¢¸® ±¸ºÐµÇ´Â µ¥ÀÌÅ͸¦ °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ°ÍÀº ÁÖ·Î À¯ÀÏÇÑ Æ¯Â¡µéÀ» ¸»Çϴµ¥ ¿©±â¼­´Â Áֹεî·Ï ¹øÈ£°¡ °¢°¢ÀÇ ·¹Äڵ带 ±¸ºÐÇØ ÁÖ´Â À¯ÀÏÇÑ µ¥ÀÌÅÍ°¡ µÉ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ°ÍÀ» µ¥ÀÌÅÍ º£À̽º¿¡¼­´Â ¹Ù·Î Å°¶ó°í ÇÑ´Ù. Àϻ󿡼­µµ ¹®ÀÇ ¿­¼èµµ ÁÖÅ°°¡ ÀÖ°í º¸Á¶ Å°°¡ ÀÖµíÀÌ µ¥ÀÌÅÍ º£À̽º¿¡¼­µµ ÁÖÅ°(Primary Key)¿Í º¸Á¶Å°(Candidate Key), ±×¹Û¿¡ ´ëüŰ(alternate Key), ¿Ü·¡Å°(foreign Key)µîÀÌ Á¸ÀçÇÑ´Ù.

     

    µµ¼­°íÀ¯¹øÈ£

    µµ  ¼­  ¸í

    µµ ¼­ ±¸ ÀÔ °¡ °Ý

    357006

    mSQL DBMS ¸Àº¸±â

    23,000

    234002

    ÄÄÇ»ÅÍ Âü ½¬¿ö¿ä!

    20,000

    432001

    Java ÇÁ·Î±×·¡¹Ö

    21,000

                         
                                        < Ç¥ 2 > µµ¼­ Å×À̺í

    <Ç¥ 2>¿¡¼­´Â µµ¼­¿ÍÀÇ ±¸ºÐÀ» À§ÇÏ¿© µµ¼­ °íÀ¯ ¹øÈ£¸¦ ºÙ¿©¼­ °¢°¢ÀÇ µµ¼­¿¡ °üÇÑ Á¤º¸¸¦ °ü¸®ÇÏ°í ÀÖ´Ù. Ç¥¿¡ ÀÖ´Â ÇʵåÀÌ¿Ü¿¡µµ ´ëÇü µµ¼­°üÀÏ °æ¿ì¿¡´Â °Ë»ö¾î, ÁÖÁ¦¸í, ÀÛ°¡¸í, ÃâÆÇ»ç, ÃâÆÇÀÏ, ÃâÆÇÀÎ, ¼ÒÁÖÁ¦, °£´ÜÇÑ µµ¼­ ³»¿ë ¼Ò°³ µîµîÀ» ÇÔ²² °ü¸®Çϵµ·Ï ¸¸µç´Ù ÀÌ·¸°Ô ¸¸µå´Â ÀÌÀ¯´Â °£´ÜÇÏ´Ù º¸°üÇÏ°í ÀÖ´Â µµ¼­¸¦ °ü¸®Çϱâ À§ÇÏ¿©¼­ Àε¥ ÇØ´ç µÇ´Â µµ¼­°¡ ¾ó¸¶³ª ¸¹ÀÌ ´ë¿©°¡ µÇ¾ú°í, º¸ÃæÇÒ µµ¼­ÀÎÁö Æó±âÇÒ µµ¼­ÀÎÁö¸¦ ±¸ºÐÇϴµ¥ ÇÊ¿äÇϱ⵵ ÇÏ´Ù. ÇöÀç µµ¼­°£¿¡ ±¸ºÐÀ» ÇØÁÖ´Â Å°´Â µµ¼­¿¡ ºÎ¿©µÈ °íÀ¯¹øÈ£·Î ÀÌ°ÍÀ» ÁÖÅ°·Î ÇÒ ¼ö ÀÖ´Ù. ¾Æ¸¶µµ µµ¼­ °ü¸®¸¦ À§ÇÏ¿© °è¹ßÀÚ´Â µµ¼­ Å×À̺íÀ» ÀÌ¿ëÇÏ¿© µµ¼­ °ü¸® ÇÁ·Î±×·¥µµ ¸¸µé¾î °ü¸®ÀÇ ÆíÀǸ¦ µµ¿ï ¼ö ÀÖÀ» °Í °°´Ù. ¿©±â¼­ Âü°í·Î ¾Ë¾Æ¾ß µÉ °ÍÀº µµ¼­ ¹øÈ£¸¦ ºÎ¿©ÇÒ ¶§¿¡´Â ¾Æ·¡¿Í °°ÀÌ ÀÏ·üÀûÀ¸·Î ºÎ¿©ÇÏÁö ¸»°í, ºÐ¾ßº° ÄÚµå¿Í µµ¼­ Ãâ¹Ý ¹øÈ£(ISBN)µîÀ¸·Î ºÐ¸®ÇÏ¿© Äڵ带 ü°èÀûÀ¸·Î ÇÒ´çÇÏ¿©¾ß È¿À²ÀûÀ¸·Î °ü¸®ÇÒ ¼ö ÀÖ´Ù.

     

    Áֹεî·Ï¹øÈ£

    °í°´ ¹øÈ£

    ´ë ¿© ÀÏ

    µµ¼­°íÀ¯¹øÈ£

    123456-7890123

    23424

    1997/7/13

    357006

    456789-1123455

    14324

    1997/8/10

    234002

    123456-4567891

    23444

    1997/9/24

    432001


                                 < Ç¥ 3 > ȸ¿ø ¹øÈ£ Å×À̺í

    ȸ¿ø ¹øÈ£ Å×À̺íÀº ¾à°£ ´Ù¸¥ °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ȸ¿ø Å×À̺íÀº °¢°¢ÀÇ ¾çÂÊÀÇ ¿£Æ¼Æ¼ »çÀÌ¿¡ ÀÖ´Â °ü°è ¿£Æ¼Æ¼·Î µÎ ¿£Æ¼Æ¼ »çÀ̸¦ ¿¬°áÇØ ÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù. µû¶ó¼­ ¾çÂÊÀÇ »ç¿ëÀÚ ¿£Æ¼Æ¼¿Í µµ¼­ ¿£Æ¼Æ¼ °¢°¢ÀÇ ÁÖÅ°¸¦ ÇÊ¿ä·Î ÇÑ´Ù.

    "ÀÌ·¸°Ô ¿ì¸®°¡ ¾î·Á¿î °³³ä±îÁö ²À ¾Ë¾Æ¾ß Çϴ°¡?" ¶ó´Â Áú¹®À» ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¯³ª ±× Çʿ伺Àº ¹Ù·Î ¿©±â¿¡ ÀÖ´Ù. °ü°èÇü µ¥ÀÌÅÍ º£À̽º°¡ ¹Ù·Î Å×À̺íµéÀÇ ¸ðÀÓÀ¸·Î ±¸¼ºÀÌ µÇ±â ¶§¹®¿¡ ÀÌ·¯ÇÑ °úÁ¤Àº ¹Ýµå½Ã µ¥ÀÌÅÍ º£À̽º ¼³°è¿¡ À־ ÇÊ¿ä·Î ÇÑ´Ù. °ü°èÇü µ¥ÀÌÅÍ º£À̽º´Â E-R µ¥ÀÌÅͺ£À̽º¿Í ºñ½ÁÇÑ ±¸Á¶¸¦ °¡Áø´Ù. °ü°èÇü µ¥ÀÌÅÍ º£À̽º¸¦ Àß ±¸¼ºÇϱâ À§ÇÏ¿©¼­´Â ¿©·¯ °¡Áö ü°èÀûÀÎ ¼³°è ´Ü°è¸¦ °ÅÃļ­ ¸¸µé¾î¾ß µÈ´Ù. ÀÌ·¯ÇÑ ¼³°è ´Ü°è¿¡ °üÇÏ¿© º¸´Ù ÀÚ¼¼ÇÏ°í È®½ÇÈ÷ ¾Ë°í ½Í´Ù¸é, Âü°í ¹®ÇåÀ» ÅëÇÏ¿© °ü°èÇü µ¥ÀÌÅÍ º£À̽º ¼³°è ½Ç¹«¸¦ ÀÍÈú ¼ö ÀÖÀ¸¸ç Çпø°¡¿¡¼­ °í°¡ÀÇ ÀÚ±ÝÀ» ÅõÀÚÇÏ¿© ¹è¿ï ¼öµµ ÀÖÀ» °ÍÀÌ´Ù.

 

3.  SQL(Structured Query Language)Àº ¹«¾ùÀΰ¡?

    SQLÀÌ ¹«¾ùÀϱî? ±Ã±ÝÇØ ÇÏ´Â µ¶ÀÚ°¡ Ȥ½Ã ÀÖÀ»Áö ¸ð¸£°Ú´Ù. SQL¿¡ ´ëÇÏ¿© µé¾î º¸±â´Â Çߴµ¥ µµ¹«Áö ±×°ÍÀÌ ¹«¾ùÀ» ÇÏ´Â °ÍÀÎÁö ¹«¾ùÀ» À§ÇÏ¿© ÀÌ ÇÇ°ïÇÑ ¼¼»ó¿¡ ÅÂ¾î ³µ´ÂÁö ¸ð¸£´Â µ¶ÀÚµµ ÀÖÀ» °ÍÀÌ°í, SQLÀ̶ó¸é µè±â¸¸ Çصµ Áö±ßÁö±ßÇÑ µ¶ÀÚµµ ÀÖ°ÚÁö¸¸, ¿ì¸®´Â ÀÌ°Í¿¡ ´ëÇÏ¿© ÀÚ¼¼ÇÏ°Ô ÇÏ·Á°í ÇÏ´Â ¸¸Å­ °£´ÜÇÏ°Ô »ìÆì º¸±â·Î ÇÏÀÚ. Àû¾îµµ ÇÊÀÚ°¡ º¸´Â SQLÀº ÇÇ°ïÇÑ ¼¼»óÀ» º¸´Ù Æí¾ÈÇÏ°Ô Çϱâ À§ÇÏ¿© ž °ÍÀº È®½ÇÇÏ´Ù.

    SQL´Â °ü°èÇü µ¥ÀÌÅÍ º£À̽ºÀÇ Ç¥ÁØ ¾ð¾î(ANSI, ISO)·Î µ¥ÀÌÅÍ¿¡ ´ëÇÏ¿© ¿¬»êÀ» ÇÏ´Â ±¸Á¶È­µÈ ºñÀýÂ÷Çü ¾ð¾îÀÌ´Ù. µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ¿¡¼­´Â µ¥ÀÌÅÍ º£À̽º ½ºÅ´À̶ó°í ÇÏ´Â °ÍÀ» Ç¥ÇöÇϱâ À§ÇÏ¿© µ¥ÀÌÅÍ º£À̽º¸¸ÀÇ ¾ð¾î¸¦ Á¤ÀÇÇØ¾ß Çß´Ù. ¿©±â¼­ µ¥ÀÌÅÍ º£À̽º ½ºÅ´Àº ½±°Ô µ¥ÀÌÅͺ£À̽º ÀüüÀÇ ¼³°è¸¦ ÀǹÌÇÑ´Ù. Áï µ¥ÀÌÅͺ£À̽ºÀÇ ±¸Á¶¶ó°í ÇÒ ¼ö Àִµ¥, µ¥ÀÌÅÍ º£À̽º¿¡ ¾î¶² µ¥ÀÌÅ͸¦ ³ÖÀ» °ÍÀΰ¡¸¦ °áÁ¤ÇØ¾ß ÇÏ°í ±× ±æÀÌ´Â ¾ó¸¶·Î ÇÒ °ÍÀΰ¡ µîµîÀ» ½º½º·Î °áÁ¤ÇØ¾ß ÇÑ´Ù. À̶§ SQLÀ̶ó´Â °ÍÀ» ÀÌ¿ëÇÏ¸é µ¥ÀÌÅͺ£À̽º¸¦ »ý¼º°ú ¼öÁ¤ ±×¸®°í Æı«µµ ÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ µ¥ÀÌÅ͸¦ ÀúÀåÇϵµ·Ï µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ¿¡ ¸í·ÉÀ» ³»¸®±âµµ ÇÏ°í, µ¥ÀÌÅͺ£À̽º¿¡¼­ ƯÁ¤ÇÑ Á¶°ÇÀ» °¡Áö´Â µ¥ÀÌÅ͵éÀ» ¼ø¼­Àû ȤÀº ¹«ÀÛÀ§Àû ȤÀº ƯÁ¤ ÇÔ¼ö¿¡ ÀÇÇÏ¿© ÇÊÅ͸µ µÇ¾îÁ® Ãâ·ÂÀ» ¾òÀ» ¼ö ÀÖµµ·Ï ÇÑ´Ù. µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ¿¡¼­ ÀÌ·¸°Ô Áß¿äÇÑ ¿ªÇÒÀ» ÇÏ´Â °ÍÀÌ ¹Ù·Î SQL·Î¼­, SQLÀÇ Á߿伺À» Àß ¸ð¸£´Â µ¶ÀÚµéÀÌ ÀÖÀ» °Í °°¾Æ ´ÙÀ½°ú °°ÀÌ ±× Ư¡µéÀ» °£´ÜÇÏ°Ô ¿ä¾à Á¤¸®ÇØ º¸¾Ò´Ù.

    * SQL ÀÇ Æ¯Â¡
    °¡)  Ç¥ÁØÈ­·Î ¸ðµç µ¥ÀÌÅÍ º£À̽º¿¡ µ¿ÀÏÇÏ°Ô Àû¿ëµÇ´Â ¾ð¾î.
    ³ª)  ¼öÇÐÀû ÁýÇշп¡ ±Ù°ÅÇÑ ¼³°è.
    ( Union, Product, Join, Project, Select, Intersection, Difference, Division)
    ´Ù)  ºñ ÀýÂ÷¿ë ¾ð¾îÀÌ´Ù.
    ¶ó)  °í±Þ¾ð¾î·Î¼­ ¿µ¾î¿Í ºñ½ÁÇÑ ¼ø¼­·Î µÇ¾î À־ ¹è¿ì±â ½±´Ù.
    ¸¶)  ¸ðµç 󸮸¦ SQL·Î ¼öÇàÀÌ °¡´ÉÇÏ´Ù.

    ¾ð¾î¶ó°í ÇÏ´Ï ¾ð¶æ C ¾ð¾î³ª Java°¡ »ý°¢³ª´Â µ¶ÀÚµµ ÀÖÀ» µíÇÏ´Ù. ¶Ç ÇϳªÀÇ ¾ð¾î¸¦ ¹è¿ö¾ß ÇÏ´Â °É±î? ±×·¸Áö ¸¸Àº ¾Ê´Ù ÀÌ·¯ÇÑ ¾ð¾îµéÀº ¿©·¯ °í±Þ ¾ð¾îµé°ú °°ÀÌ ¹è¿ì±â ¾î·Á¿î ¾ð¾î°¡ ¾Æ´Ï±â ¶§¹®¿¡ ½±°Ô Ãʺ¸ÀÚµµ µ¥ÀÌÅͺ£À̽º¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.

     

    <±×¸² 4> »ç¿ëÀÚ¿Í DBMS°£ÀÇ Åë½Å

    SQLÀº µ¥ÀÌÅͺ£À̽º¿¡ ÁúÀÇ(Query)¶ó°í ÇÏ´Â ¸í·É¹®À¸·Î µ¥ÀÌÅÍ ±¸Á¶¸¦ Á¤ÀÇÇÏ°í, µ¥ÀÌÅ͸¦ ¼öÁ¤ ¹× º¸¾È»óÀÇ Á¦¾à Á¶°ÇÀ» Á¤ÀÇÇÒ ¼ö ÀÖ´Â ´ÙÀç ´Ù´ÉÇÑ ¾ð¾î·Î Ãʱ⿡´Â IBMÀÇ San Jose Research Lab.¿¡¼­ °³¹ßµÇ¾ú°í, System RÇÁ·ÎÁ§Æ®ÀÇ ÀϺκÐÀ¸·Î ±¸ÇöµÈ ÀûÀÌ ÀÖ´Ù. ´ç½Ã¿¡´Â SequelÀ̶ó°í ºÒ·Á Á³Áö¸¸, ÈÄ¿¡ Á¡Â÷ SQL(Structured Query Language)·Î ¹Ù²î¾ú´Ù.
    SQLÀº ¸ðµç µ¥ÀÌÅÍ º£À̽º¿¡¼­ »ç¿ëµÇ°í ÀÖÁö¸¸, »ó¿ë µ¥ÀÌÅÍ º£À̽ºÀÎ °æ¿ì¿¡´Â SQLÀ» ¾à°£ È®Àå ½ÃŲ ÇüŸ¦ »ç¿ëÇÏ°í ÀÖ´Ù.

 

4.  Mini SQL¿¡¼­ SQLÀÇ Æ¯Â¡µé

    Mini SQL¿¡¼­´Â ´ëºÎºÐÀÇ ANSI SQLÀ» Áö¿øÇÏ°í Àֱ⠶§¹®¿¡ SQLÀ» »ç¿ëÇϴµ¥ ¸¹Àº ºÒÆíÇÑ Á¡À» ´À³¢Áö ¸øÇÒ °ÍÀÌ´Ù. ±×·¯³ª ¿ª½Ã Postgres¶óµç°¡ »ó¿ë µ¥ÀÌÅÍ º£À̽ºº¸´Ù´Â ¾àÇÑ ¸éÀ» º¸ÀÌ°í ÀÖ´Â ºÎºÐÀÌ ¹Ù·Î ÀÌ SQL¹®ÀÇ Á¦¾àÀÌ´Ù. SQL ÀÇ Á¦¾àÀº ´ÙÀ½°ú °°Àº °ÍÀÌ ´ëÇ¥ÀûÀ¸·Î Áö¿øÀÌ µÇ°í ÀÖÁö ¾Ê´Ù.

    * º¹ÇÕÀûÀ¸·Î »ç¿ëµÈ Äõ¸® ±¸¹®
    * °ü°èÇü µ¥ÀÌÅÍ º£À̽º¿¡ »ç¿ëµÇ´Â views

    ±× ¹Û¿¡µµ °ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡¼­ »ç¿ëµÇ´Â SQL¸í·Éµµ Áö¿øµÇ°í ÀÖÁö ¾ÊÁö¸¸, ÀÌ·¯ÇÑ Á¦¾àµéÀº ÃÖ¼ÒÇÑ ¼ÒÇü¿¡¼­ ÁßÇüÀÇ µ¥ÀÌÅÍ º£À̽º ½Ã½ºÅÛÀ» ±¸ÃàÇÏ´Â °ÍÀ» ¸ñÀûÀ¸·Î »ç¿ëÇÑ´Ù¸é ¹®Á¦°¡ µÇÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. Á¶±ÝÀº ±ÍÂú°í ¾à°£Àº º¹ÀâÇϱ⵵ ÇÏ°ÚÁö¸¸, ¿©·¯ °¡Áö ÁöÇý·Î¿î ¹æ¹ýÀ¸·Î ÀÌ·¯ÇÑ SQLÀ» ±Øº¹ÇØ ³¾ ¼ö ÀÖ´Ù. °ð ÀÌ·¯ÇÑ Áö¿øÀÌ µÇÁö ¾Ê´Â SQL ±¸¹®ÀÌ Áö¿øµÉ ¿¹Á¤ÀÌ´Ù.

    Mini SQL 2.0.0 ¹öÀü¿¡¼­ ÁÖ¸ñÇÒ »çÇ×Àº Create ±¸¹®À̳ª, Select ±¸¹®¿¡¼­ÀÇ ¿µ¹® ¹ßÀ½¿¡ ´ëÇÑ °Í°ú ³¯Â¥, ½Ã°£, ÅؽºÆ®¿¡ ´ëÇÑ µ¥ÀÌÅ͸¦ ´Ù·ê ¼ö ÀÖÀ¸¸ç, ±âÁ¸¿¡´Â °°Àº Å×À̺í Á¤ÀÇ ¹®¿¡¼­  Primary·Î Á¤ÀÇÇß´ø °ÍÀ» À妽º·Î ÁöÁ¤ÇØ¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. À妽º·Î ÀúÀåÇÏ´Â ÀÌÀ¯´Â Àá½Ã ÈÄ¿¡ ¾Ë¾Æ º¼ °ÍÀÌ´Ù. À妽º ¸»°íµµ ½ÃÄö½º µîÀ» Áö¿øÇÏ°í ÀÖ´Ù. õõÈ÷ SQL¿¡ ´ëÇÏ¿© Àç¹ÌÀÖ´Â ¿¹Á¦¿Í ÇÔ²² »ìÆì º¸°Ô µÉ °ÍÀÌ´Ù.

 

5.  Mini SQLÀ» ½ÃÀÛÇϱâ Àü¿¡...

    Mini SQL À» ½ÃÀÛÇϱâ Àü¿¡ ¿ì¸®´Â ¹Ýµå½Ã ÇØ¾ß ÇÒ ÀÏÀÌ ÀÖ´Ù. ¹Ù·Î µ¥ÀÌÅÍ º£À̽º °ü¸® ½Ã½ºÅÛÀ» ¸Þ¸ð¸®¿¡ »óÁÖ ½ÃÅ°´Â °ÍÀÌ´Ù. ¸Þ¸ð¸®¿¡ Àß »ì°í ÀÖ´ÂÁö ¾Æ´ÑÁö¸¦ ¾Ë°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÀ» Çؼ­ È®ÀÎÀ» ÇØ º¸¸é µÈ´Ù.

     

    bash# ps | grep msql2d
        227 p0 S     0:00 grep msql2d
    bash#


    < ±×¸²5 >  mSQL daemonÀÌ ¼³Ä¡µÇ¾î ÀÖ´ÂÁö È®ÀÎ

    Áö³­ ¹ø È£¸¦ ÀÐÀº µ¶ÀÚ¶ó¸é ¾Æ¸¶µµ À¯´Ð½º°¡ ºÎÆÃÀÌ µÇ¸é¼­ ¹Ù·Î Mini SQL µ¥¸óÀÌ ¼­¹öÀÇ È¯°æ Á¤º¸¸¦ º¸¿© Áָ鼭 ¸Þ¸ð¸®¿¡ Àß »óÁÖÇÏ°í ÀÖÀ» °ÍÀÌ´Ù. Ȥ½Ã ¸ð¸£´Ï ´Ù½Ã Çѹø È®ÀÎÇØ º¸±â ¹Ù¶õ´Ù. ¸¸¾à Áö±Ý Mini SQLÀÌ ¸Þ¸ð¸®¿¡ »ì°í ÀÖÁö ¾Ê´Ù¸é,  Mini SQL Ȩ µð·ºÅ丮ÀÇ bin µð·ºÅ丮¿¡¼­ ´ÙÀ½ÀÇ ¸í·ÉÀ» ÀÔ·ÂÇÏ¿© ¸Þ¸ð¸®¿¡ »óÁÖ½ÃÄÑ¾ß ÇÑ´Ù.

     

    bash# msql2d
    [1] 480
    bash#

    Mini SQL Version 2.0 Production Release
    Copyright (c) 1993-94 David J. Hughes
    Copyright (c) 1995-97 Hughes Technologies Pty Ltd.
    All rights reserved.
            Loading configuration from '/usr/local/Hughes/msql.conf'.
            Server process reconfigured to accept 214 connections.


    MSQL_DEBUG found. msqld started with the following : -

    Debug level : query
    Debug level : general
    Debug level : malloc


    [msqld] IP Soket is 1114
    [msqld] Allocating 29 bytes at 8077DEO (msqld.c : 279)
    [msqld] UNIX socket is /usr/local/Hughes/msql2.sock
                 Server running as usr 'msql'.
                 Server mode is Read/Write.
    [msqld] Allocating 18 bytes at 8078130(msql.c :722)
    [msqld] miniSQL debug mode. Waiting for connections.

    bash#


    < ±×¸²6 >  mSQL daemon À» ½ÇÇàÇÑ´Ù.

    ´ëºÎºÐÀÇ µ¥ÀÌÅͺ£À̽º °ü¸® ½Ã½ºÅÛÀº ¿î¿µÃ¼°è°¡ ½ÃÀ۵Ǹ鼭, ÇÔ²² ¸Þ¸ð¸®¿¡ »óÁÖµÇ¾î  Æ¯Á¤ Æ÷Æ®¸¦ Á¡À¯ÇÏ¿© ´Ù¸¥ È£½ºÆ®³ª Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ ±Í¸¦ ±â¿ïÀÏ ¼ö ÀÖ°Ô µÇ¾î ÀÖ´Ù. µû¶ó¼­ ÀÌ·¸°Ô »óÁÖ½ÃŲ µ¥ÀÌÅÍ º£À̽º °ü¸® ½Ã½ºÅÛÀº ÇϳªÀÇ ¼­¹ö¿¡¼­¸¸ ½ÇÇàÀ» ÇÏ¿©µµ ¿©·¯ »ç¶÷µéÀÌ ¼­·Î °°Àº µ¥ÀÌÅͺ£À̽º³ª °¢ÀÚÀÇ »ç¿ë ¿ëµµ¿¡ µû¶ó¼­ Á¤ÀÇµÇ¾î ±¸ÃàµÇ¾î ÀÖ´Â ´Ù¸¥ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ¸¸¾à ¿©·¯ºÐµéÀÌ Çб³ ¿¬±¸½ÇÀ̳ª ³×Æ®¿öÅ©¿¡ Ç×»ó ¿¬°áÀÌ µÇ¾î ÀÖ´Ù¸é, Mini SQLÀ» ƯÁ¤ ÄÄÇ»ÅÍ¿¡ ¼³Ä¡ÇÏ¿© ±× ÄÄÇ»Å͸¦ Server·Î »ç¿ëÇÏ¿© ½Ç½ÀÇØ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé·Á¸é, ¸ÕÀú µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé¾î¾ß ÇÏ°í ´ÙÀ½¿¡ SQL¹®À» ÀÔ·ÂÇÏ¿© µ¥ÀÌÅÍ ±¸Á¶¸¦ Á¤ÀÇÇÑ ´ÙÀ½¿¡ SQL ¹®À» ÀÌ¿ëÇÏ¿© µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÏ°Ô µÈ´Ù.

    * msqladminÀ¸·Î ¸ÕÀú µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µç´Ù.

    ÀÌ ÇÁ·Î±×·¥Àº mSQL DBMS À¯Æ¿¸®Æ¼ ÇÁ·Î±×·¥À¸·Î µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇϰųª µ¥ÀÌÅͺ£À̽º¸¦ Æı« ȤÀº º¹»ç µîÀ» ÇÒ ¼ö ÀÖµµ·Ï ÇØÁֱ⵵ ÇÏ°í, µ¥ÀÌÅÍ º£À̽º °ü¸® ½Ã½ºÅÛ ¼Ë ´Ù¿î(Shutdown), Àç½ÃÀÛ(Restart) µîÀ» ÇÒ ¼ö ÀÖ°Ô ÇØ ÁØ´Ù. ÇÁ·Î±×·¥ÀÇ À̸§Ã³·³. AdministratorÀÇ ¿ªÇÒÀ» ÇÑ´Ù. Mini SQLÀÇ bin µð·ºÅ丮·Î °¡¼­ <±×¸² 7> °°Àº ¸í·ÉÀ» ÀÔ·ÂÇØ º¸ÀÚ.

    ÀÌ ¸í·É¾î´Â ·ÎÄà ȣ½ºÆ®¿¡ ÀÖ´Â mSQL DBMS¿¡ empdb¶ó´Â µ¥ÀÌÅÍ º£À̽º¸¦ »ý¼ºÇϵµ·Ï ÇÑ´Ù. -h ¿É¼ÇÀº ³ªÁß¿¡ µ¥ÀÌÅͺ£À̽º À¯Æ¿¸®Æ¼¸¦ ¼³¸íÇÒ¶§, ÀÚ¼¼ÇÏ°Ô ÇÏ°ÚÁö¸¸, È£½ºÆ® À̸§À̳ª IPÀ» ¿ä±¸ÇÑ´Ù.

     

    bash# Is
    lite            msqladmin         msqlimport               relshow
    msql         msqldump          msqltool                   w3-auth
    msql2d      msqlexport         msqlview                  w3-msql
    bash# msqladmin -h localhost create empdb


    MSQL_DEBUG found. libmsql started with the following:-


    [msqld] New connection received on 6
    [msqld] Allocating 10 bytes at 8077EFO (msqld.c:883)
    [msqld] Host = localhost
    [msqld] User = root
    [msqld] Allocating 5 bytes at 8078410 (msqld.c:930)
    [msqld] Command on sock 6 = 7 (Create DB)
    [msqld] Allocating 6 bytes at 8078420 (msqld.c:1105)
    [msqld] Freeing address 8078420 (msqld. c:1107)
    [msqld] Command Processed! database "empdb" created.
    [msqld] Command on sock 6 = 1 (Quit)
    [msqld] DB QUIT![msqld] Freeing address 8078410 (msqld.c:1089)
    [msqld] Freeing address 8078410 (msqld.c:1090)
    [msqld] Command Processed
    bash#
    bash# 


    <±×¸² 7> msqladminÀ¸·Î µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÑ´Ù.

    * mSQL Monitor ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º ±¸Á¶¸¦ Á¤ÀÇÇÑ´Ù.

    Mini SQLÀÇ bin µð·ºÅ丮¿¡¼­ ´ÙÀ½°ú °°Àº ¸í·ÉÀ» ½ÇÇàÇØ º¸ÀÚ. ÀÌ ÇÁ·Î±×·¥Àº µ¥ÀÌÅÍ º£À̽º °ü¸® ½Ã½ºÅÛ¿¡ SQL ¸í·É¹®À¸·Î Á¢±ÙÀ» °¡´ÉÇÏ°Ô ÇØÁÖ´Â ¿ªÇÒÀ» Çϸç,  ¸ðµç ¸í·ÉÀº SQL¹®À¸·Î ÀÔ·ÂÇØ¾ß ÇÑ´Ù.  <±×¸² 7>°ú °°ÀÌ ÀÔ·ÂÇØ º¸ÀÚ.

     

    bash# msql -h localhost empdb


    MSQL_DEBUG found. libmsql stsrted with the following:-


    [msqld] New connection received on 6
    [msqld] Allocating 10 bytes at 8078430 (msqld.c:883)
    [msqld] Host = localhost
    [msqld] User = root
    [msqld] Allocating 5 bytes at 8078440 (msqld.c:930)
    [msqld] command on sock 6 = 2 (lnit DB)
    [msqld] DBName = empdb
    [msqld] Allocating 6 bytes at 8078450 (msqld.c:993)
    [msqld] Command Processed!
    Welcome to the miniSQL monitor. Type ¡¬h for help.

    mSQL >


    <±×¸² 8> msqlÀ» ½ÇÇàÇÏ¿© SQL¹®À» ÀÔ·ÂÇÑ´Ù.

    ÀÌ ¸í·É¾î´Â ·ÎÄà ȣ½ºÆ®¿¡¼­ empdb µ¥ÀÌÅͺ£À̽º¿¡ SQL ¹®À» ÀÔ·ÂÇÏ°ÚÀ½À» ÀǹÌÇÏ°í <±×¸²8>°ú °°Àº »óÅ°¡ µÇ´Âµ¥ ÀÌ »óÅ´ SQL¹®À» ÀÔ·ÂÇϵµ·Ï ¿ä±¸ÇÏ´Â ÇÁ·ÒÇÁÆ®·Î »ç¿ëÀÚ´Â SQL¹®À» ÀÌ¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º ±¸Á¶¸¦ Á¤ÀÇÇÏ°í µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÒ ¼öµµ ÀÖÀ¸¸ç, µ¥ÀÌÅͺ£À̽º¿¡¼­ ƯÁ¤ Çʵ带 °Ë»öÇϰųª »èÁ¦ÇÒ ¼ö ÀÖ´Ù.

 

6.  Mini SQL¿¡¼­ SQL »ç¿ëÇϱâ

    ÀÚ º»°ÝÀûÀ¸·Î µ¥ÀÌÅͺ£À̽º °ü¸® ½Ã½ºÅÛ¿¡ Á¢±ÙÇÏ´Â ¹æ¹ýÀ» Çϵµ·Ï ÇÏÀÚ. Áö±Ý msqlÀ̶ó´Â Monitor ÇÁ·Î±×·¥ÀÌ ½ÇÇà ÁßÀÏ °ÍÀÌ´Ù. ÀÌÁ¦´Â µ¥ÀÌÅͺ£À̽º °ü¸® ½Ã½ºÅÛ¿¡ SQL¸í·ÉÀ» ³»·Á¼­ µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé°í, µ¥ÀÌÅ͵鿡 ´ëÇÑ ¿¬»êµéÀ» ¿¬½ÀÇØ º¸µµ·Ï ÇÏÀÚ.

    * Create ¹®

    Create¹®Àº µ¥ÀÌÅ͸¦ ´ã¾Æ µÑ ¼ö ÀÖ´Â Å×À̺í(Table), ¼º´É Çâ»óÀ» À§ÇÏ¿© ¸¸µå´Â À妽º(Index), ¼ø¼­¹øÈ£(Sequence) µîÀ» Áö¿øÇÏ°í ÀÖ´Ù. SQL¹®ÀÇ ¹®¹ýÀº ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î »ç¿ëÀÌ µÇ¾î¾ß¸¸ ÇÑ´Ù. ** Ç¥½Ã´Â °è¼Ó ¹Ýº¹µÉ ¼ö ÀÖÀ½À» ³ªÅ¸³»°í [ ] »çÀÌ¿¡ ÀÖ´Â °ÍÀº ¿É¼ÇÀÓÀ» ÀǹÌÇÑ´Ù.

     

    - ±âº» Çü½Ä

    * Å×ÀÌºí »ý¼º
    CREATE TABLE Å×À̺íÀ̸§(
    Ä÷³À̸§1[not null] [,Ä÷³À̸§n[not null]]**
    )
    * À妽º »ý¼º
    CREATE [UNIQUE] INDEX À妽ºÀ̸§ ON Å×À̺íÀ̸§(
    ÇʵåÀ̸§1 [,ÇʵåÀ̸§n[not null]]**
    )
    * ¼ø¼­ ¹øÈ£ »ý¼º
    CREATE SEQUENCE ON Å×À̺íÀ̸§ [STEP ½ºÅܼýÀÚ] [VALUE ÃʱⰪ]

     

    ´ÙÀ½Àº mSQL¿¡¼­ Áö¿øµÇ°í ÀÖ´Â µ¥ÀÌÅÍ Å¸ÀÔÀÌ´Ù. ÃÖ±Ù¿¡ µé¸é¼­ date, money, uint ±×¸®°í ÁÖ¸ñÇÒ ¸¸ÇÑ °ÍÀÌ ¹Ù·Î text ÇüÀÌ Ãß°¡µÇ¾ú´Ù´Â °ÍÀÌ´Ù.

     

    Type

    Description

    char(±æÀÌ)

    ¹®ÀÚ¿­ÀÇ ±æÀ̸¦ Á¤ÀÇÇÑ´Ù. (8ºñÆ® µ¥ÀÌÅ͵µ °¡´É)

    text(±æÀÌ)

    ¹®ÀÚ¿­ÀÇ ±æÀÌ°¡ °¡º¯ÀûÀ϶§ »ç¿ëÇϸé ÁÁ´Ù. ±×·¯³ª LIKE¿Í °°Àº °Ë»ö ¹®À̳ª À妽º·Î »ç¿ëµÉ ¼ö ¾øÀ¸¸ç, charÇü º¸´Ù Á¢±Ù ¼Óµµ°¡ ´À¸®´Ù´Â °ÍÀÌ ´ÜÁ¡ÀÌ´Ù.

    int

    Á¤¼öÇü °ª(Signed integer)

    real

    ½Ç¼ö °ª

    uint

    ºÎÈ£ ¾ø´Â Á¤¼öÇü °ª( Unsigned integer)

    date

    ³¯Â¥ ÇüÀ¸·Î "DD-Mon-YYYY"ÀÇ Çü½ÄÀ¸·Î Ç¥±â

    time

    ½Ã°£ ÇüÀ¸·Î "HH:MM:SS" Çü½ÄÀ¸·Î Ç¥±â

    money

    µ·À» Ç¥ÇöÇÒ ¼ö ÀÖ´Â ÀÚ·á Çü


    <Ç¥ 4> »ç¿ë °¡´ÉÇÑ µ¥ÀÌÅÍ Çü(Data Type)

    mSQL¿¡¼­´Â 8°¡ÁöÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ» Áö¿øÇÏ°í ÀÖÀ¸³ª, ¿ì¸®¿¡°Ô ÀûÇÕÇÏÁö ¾ÊÀº µ¥ÀÌÅÍ ÇüÀº date ÇüÀ¸·Î ¿µ¹®À¸·Î ´ÞÀ» Ãâ·ÂÇϵµ·Ï µÇ¾î À־ ºÒÆíÇÑ Á¡ÀÌ ÀÖ´Ù. ÇÊÀÚ´Â ³¯ÀÚ µ¥ÀÌÅ͸¦ ÀÔ·Â ¹ÞÀ» ¶§ dateÇüÀ» »ç¿ëÇÏÁö ¾Ê°í, charÇüÀ¸·Î Á¤ÀÇÇÏ¿© »ç¿ëÇÏ°í ÀÖ´Ù. ÀÌ ºÎºÐÀº ³ªÁß¿¡ ¼­¹öÀÇ ¼Ò½º¸¦ Á÷Á¢ º¸¸é¼­ ÀÌÇØÇÏ°Ô µÉ °ÍÀÌ´Ù.

    ¿¹Á¦¸¦ ÅëÇÏ¿© º¸´Ù È®½ÇÇÏ°Ô »ý°¢ÇØ º¸ÀÚ. ´ÙÀ½ÀÇ ¸í·É¹®Àº empdb¿¡ empdetailÀ̶ó´Â Å×À̺íÀ» ¸¸µå´Â °ÍÀ» º¸¿© ÁÖ°í ÀÖ´Ù.

     

    bash# msql -h localhost empdb


    MSQL_DEBUG found. libmsql started with the following:-


    [msqld] New connection received on 6
    [msqld] Allocating 10 bytes at 80841EO (msql.c:883)
    [msqld] Host = localhost
    [msqld] User = root
    [msqld] Allocating 5 bytes at 8084268 (msqld.c:930)
    [msqld] command on sock 6 = 2 (lnit DB)
    [msqld] DBName = empdb
    [msqld] Allocating 6 bytes at 80842FO (msqld.c:993)
    [msqld] Command Processed!
    Welcome to the miniSQL monitor. Type ¡¬h for help.

    mSQL > create table emp_details(
            ->             first_name char(15) not null,
            ->             last_name char(15) not null,
            ->             comment text (50),
            ->             dept char(20),
            ->             emp_id int not null
            ->)¡¬g


        <±×¸² 8-2> msql ¸ð´ÏÅÍ ÇÁ·Î±×·¥¿¡¼­ SQL ¹®À¸·Î TABLE ¸¸µé±â

    ÀÌ·¸°Ô ÀÔ·ÂÀÌ µÇ¸é, empdb³»¿¡ ´ÙÀ½°ú °°Àº Çü½ÄÀÇ Å×À̺íÀÌ »ý¼ºµÈ´Ù. ±×¸®°í µ¥ÀÌÅÍ Çü µÚ¿¡ "not null" À̶ó´Â °ÍÀº  first_name°ú lasr_nameÀÇ Çʵå´Â ¹Ýµå½Ã ÀÔ·ÂÀÌ µÇ¾î¾ß µÈ´Ù´Â ¸»ÀÌ´Ù. Áï, ³Î(Null) °ªÀ» ¹Þ¾Æ µéÀÏ ¼ö ¾ø´Ù´Â °ÍÀ» ¸»ÇÑ´Ù. ÀÌ·± Å°¿öµå°¡ ¾ø´Â Çʵå´Â, ÀÔ·ÂÇÏÁö ¾Ê¾Æµµ µÇ´Â Null °ª µÉ ¼ö ÀÖ´Ù´Â °ÍÀÌ µÈ´Ù.

     

    first_name

    last_name

    comment

    dept

    emp_id

     

     

     

     

     

     

     

     

     

     

     

    ´ÙÀ½Àº ÇϳªÀÇ Å×ÀÌºí ³»¿¡ À¯ÀÏÇÏ°Ô ±¸ºÐµÇ´Â ÁÖÅ°(Primary Key)¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. Å×ÀÌºí ³»¿¡¼­ À¯ÀÏÇÏ°Ô ±¸ºÐµÇ´Â µ¥ÀÌÅÍ Çʵå´Â emp_idÀ̹ǷΠÀÌ Ä÷³À» UNIQUE INDEX·Î ¸¸µç´Ù.

    CREATE UNIQUE INDEX idx1 ON emp_details (emp_id) /g

     

    mSQL > create UNIQUE INDEX idxemp_id on emp_details(
             ->          emp_id
             ->)¡¬g
    Query OK. 1 row(s) modified or retrieved.

    mSQL > create index idxname on emp_details(
    ->         first_name,
    ->         last_name
    ->)¡¬g

    Query OK. 1 row(s) modified or retrieved.

    mSQL >


    <±×¸² 9> À妽º Å×ÀÌºí »ý¼ºÇϱâ

    <±×¸²9>¿¡¼­ À妽º¸¦ »ý¼ºÇÏ´Â °ÍÀ» º¸¿© ÁÖ°í Àִµ¥ ¾à°£ÀÇ ÇüŸ¦ ´Þ¸®ÇÏ°í ÀÖÀ½À» ¾çÇØÇϱ⠹ٶõ´Ù. ÀÌ·¸°Ô Çؼ­ À妽º Çϳª°¡ ¸¸µé¾î Áö°í, ´ÙÀ½¿¡´Â ¶Ç ´Ù¸¥ À妽º¸¦ ¸¸µé ¼ö Àִµ¥ °°Àº µ¥ÀÌÅÍ Çü°ú ±æÀ̸¦ °¡Áö°í ÀÖÀ» ¶§¿¡´Â ÇÔ²² »ç¿ëµÇ¾îÁ® ´ÙÁß À妽º¸¦ ¸¸µé ¼ö ÀÖ´Ù. À妽º¸¦ ¸¸µå´Â ÀÌÀ¯´Â ÁÖÅ°ÀÎ °æ¿ì¿¡ UNIQUE Å°¿öµå¿Í ÇÔ²² »ç¿ëÇÏ¿© ¸¸µé°Ô µÇ°í, ÀÚÁÖ »ç¿ëµÇ¸®¶ó ¿¹»óµÇ´Â ´Ù¸¥ µ¥ÀÌÅÍ Çüµµ º¸´Ù ºü¸£°Ô °Ë»öÇÒ Çʿ伺ÀÌ ÀÖÀ» °æ¿ì¿¡ INDEX¸¦ ¸¸µé°Ô µÈ´Ù.

    CREATE INDEX idx2 ON emp_details (first_name, last_name) /g

    first_name°ú last_nameÀ» °¡Áö´Â À妽º¸¦ ÇϳªÀÇ Å×ÀÌºí¿¡ Á¤ÀÇÇÑ´Ù. ´ÙÀ½Àº test ¶ó´Â µ¥ÀÌÅÍ º£À̽º¿¡ ¼ø¼­ ¹øÈ£¸¦ ¸¸µå´Â °ÍÀÌ´Ù.

    CREATE SEQUENCE ON test STEP 1 VALUE 5  /g

    ¼ø¼­ ¹øÈ£(sequence)´Â 1¾¿ Áõ°¡Çϸç, ±âº» °ªÀÌ 5·Î Á¤ÀÇÇÑ´Ù. ¼ø¼­ ¹øÈ£´Â ´ÙÀ½°ú °°ÀÌ _seq¶ó´Â µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ º¯¼ö¸¦ °Ë»ö ¸í·É(SELECT)À¸·Î Äõ¸®¸¦ ÁÙ¶§ 5ºÎÅÍ ½ÃÀÛÇÏ¿© 1¾¿ Áõ°¡ÇÏ°Ô µÈ´Ù.

    SELECT _seq FROM test  /g

    ÀÌ ¸í·É¾î¸¦ ÀÔ·ÂÇÏ°Ô µÇ¸é, 5¶ó´Â °ªÀ» ¹ÝȯÇÏ°í, ´ÙÀ½¿¡ test¶ó´Â Å×À̺íÀ» Á¢±ÙÇÏ°Ô µÇ¸é, 6À¸·Î 1ÀÌ Áõ°¡µÈ °ªÀ» ¹ÝȯÇÑ´Ù.

    * Drop ¹®

    Drop ¹®Àº µ¥ÀÌÅͺ£À̽º¿¡ Á¤ÀǵǾî ÀÖ´Â °ÍÀ» Á¦°ÅÇϴµ¥ »ç¿ëÇÑ´Ù. ÁÖ·Î À妽º, ¼ø¼­¹øÈ£, Å×À̺íµéÀ» »èÁ¦Çϴµ¥ »ç¿ëµÈ´Ù. ±×·¯³ª µ¥ÀÌÅͺ£À̽º Àüü¸¦ »èÁ¦ÇÒ ¼ö ¾ø´Ù. µ¥ÀÌÅͺ£À̽º Àüü¸¦ »èÁ¦Çϱâ À§Çؼ­´Â ÀÌ¹Ì ¾ð±ÞÇß´ø msqladmin¸í·ÉÀ» »ç¿ëÇÑ´Ù.

     

    - ±âº» Çü½Ä

    * Å×ÀÌºí »èÁ¦
       DROP TABLE Å×À̺íÀ̸§

    * ƯÁ¤ Å×ÀÌºí¿¡¼­ À妽º »èÁ¦
       DROP INDEX À妽ºÀ̸§ FROM Å×À̺íÀ̸§

    * ƯÁ¤ Å×ÀÌºí¿¡¼­ ¼ø¼­¹øÈ£¸¸ »èÁ¦
       DROP SEQUENCE FROM Å×À̺íÀ̸§
       From ÀÌÇÏ ÀýÀº  ´ëºÎºÐ Å×À̺í À̸§ÀÌ ¿Àµµ·Ï µÇ¾î ÀÖ´Ù.

 

    DROP INDEX idx1 FROM emp_details /g
            emp_details Å×ÀÌºí³»¿¡ idx1 À妽º Á¦°ÅÇÑ´Ù.

    DROP SEQUENCE FROM emp_details /g
            emp_details¶ó´Â Å×ÀÌºí³»¿¡ ¼ø¼­¹øÈ£ Á¦°ÅÇÑ´Ù.

     

    bash# msql empdb


    MSQL_DEBUG found. libmsql stared with the following:-


    Welcome to the miniSQL monitor. Type¡¬h for help.

    mSQL > drop table emp_details¡¬g
    Query OK. 1row(s) modified or retrieved.

    mSQL >


    <±×¸² 10> empdb³»ÀÇ emp_details Å×À̺í Á¦°Å

    DROP TABLE emp_details /g
    empdb³»¿¡ ÀÖ´Â emp_details¶ó´Â Å×À̺íÀ» »èÁ¦ÇÏ´Â ÇÑ´Ù.

    * Insert ¹®

    »ðÀÔ¹®À̶ó°í Çϴµ¥ ÀÌ°ÍÀº Àß ¸¸µé¾îÁø µ¥ÀÌÅͺ£À̽º¿¡ µ¥ÀÌÅ͸¦ ÀÔ·ÂÇϵµ·Ï ÇÏ´Â ±â´ÉÀ» °¡Áø ¸í·É¹®ÀÌ´Ù.

     

    - ±âº» Çü½Ä

    INSERT INTO Å×À̺íÀ̸§ [ ( Ä÷³1 [ , Ä÷³n ] ** ) ]
    VALUES ( °ª1 [ , °ªn ] ** )

     

    INTO ÀÌÇÏÀÇ Àý¿¡´Â Å×À̺í À̸§ÀÌ ¿Ã ¼ö ÀÖ°í, ƯÁ¤ Çʵ忡¸¸ °ªÀ» ÀúÀåÇϱâ À§ÇÏ¿©¼­´Â ÇØ´ç ÇʵåÀÇ ÇÊµå ¸íÀ» µû·Î Á¤ÀÇÇØ ÁÖ°í VALUEÀÌÇÏÀÇ Àý¿¡¼­´Â °¢°¢ÀÇ ÇʵåÀÇ µ¥ÀÌÅÍ Çü¿¡ ¸Â´Â µ¥ÀÌÅÍ °ªÀ» ÀÔ·ÂÇØ¾ß ÇÑ´Ù. ¸¸¾à¿¡ Å×ÀÌºí ¸í¸¸ ÁöÁ¤ÇÒ °æ¿ì¿¡´Â Å×À̺íÀÇ µ¥ÀÌÅÍ ±¸Á¶¸¦ Á¤ÀÇÇØ ÁØ ¼ø¼­·Î VALUE ÀÌÇÏÀÇ Àý¿¡ °ªµéÀ» Á¤ÀÇÇØ ÁÖ¾î¾ß ÇÑ´Ù. ¿¹Á¦¸¦ ÅëÇÏ¿© Çѹø ¾Ë¾Æ º¸µµ·Ï ÇÏÀÚ.

     

    bash#
    bash# msql empdb


    MSQL_DEBUG found. libmsql stared with the following:-


    Welcome to the miniSQL monitor. Type¡¬h for help.

    mSQL > insert into emp_details
            -> values ('°æÈ£', '±è', '¾È³çÇϼ¼¿ä? mSQL SQL',
            ->        'ÄÄÇ»ÅÍ °øÇаú', 120000)
            ->¡¬g
    Query OK. 1 row(s) modified or retrieved.

    mSQL >


    <±×¸² 11> ÇÑ±Û µ¥ÀÌÅ͸¦ SQL·Î ÀÔ·Â

    INSERT INTO emp_details ( first_name, last_name, dept, salary)
    VALUES ( 'David', 'Hughes', 'Development',12345.00)  /g

    ´ÙÀ½Àº emp_details Å×ÀÌºí¿¡ first_name°ú last_name, depr, salary Çʵ带 ÁöÁ¤ÇÏ°í À̵éÀÇ Çʵ忡 ´ëÇÑ °ªµé¸¸ »ðÀÔÇÏ°Ô µÈ´Ù.

    INSERT INTO emp_details
    VALUES ('David', 'Hughes', 'Development',12345.00) /g

    °°Àº ±â´ÉÀ» ¼öÇàÇÏ°í, ƯÁ¤ÇÑ Çʵ带 ÁöÁ¤ÇØ ÁÖÁö ¾ÊÀ¸¸é, Á¤ÀÇµÈ ¼ø¼­´ë·Î ÀÔ·ÂÀÌ µÈ´Ù.

    * Select ¹®

    ¼±Åà ¹®Àº µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ÀÏÁ¤ÇÑ Á¶°ÇÇÏ¿¡¼­ ÃàÃâÇϴµ¥ »ç¿ëµÈ´Ù. ÀÌ°ÍÀº ƯÁ¤ÇÑ Çʵ忡 ´ëÇÏ¿© ¾î¶² Á¶°Ç¿¡ ¸¸Á·ÇÏ´Â ·¹ÄÚµåµéÀ» °Ë»öÇÏ¿© º¸¿© ÁØ´Ù. ÁÖÀÇÇÒ °ÍÀº mSQLÀÇ Select ¹®Àº nested select ¹®°ú ÇÔ¼öµéÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù.

     

    - ±âº» Çü½Ä

    SELECT [Å×À̺íÀ̸§1.]Ä÷³ [ , [Å×À̺íÀ̸§n.]Ä÷³ ]**
    FROM Å×À̺íÀ̸§[ = alias] [ , Å×À̺íÀ̸§ [ = alias] ]**
    [ WHERE [Å×À̺íÀ̸§.] Ä÷³ OPERATOR VALUE
    [ AND | OR [Å×À̺íÀ̸§.] Ä÷³ OPERATOR VALUE]** ]
    [ ORDER BY [Å×À̺íÀ̸§.] Ä÷³ [DESC] [, [Å×À̺íÀ̸§.] Ä÷³ [DESC] ]

 

    Select ±¸¹®¿¡¼­´Â From ÀÌÇÏÀÇ Àý¿¡¼­ ¿©·¯ °³ÀÇ Å×À̺í À̸§À» °®À» ¼ö ÀÖ°í, where ±¸¹®¿¡¼­´Â °ªÀ» ºñ±³ÇÒ ¼ö ÀÖ´Â ¿¬»êÀÚ¸¦ ¾µ ¼ö ÀÖÀ¸¸ç, AND ³ª OR·Î Á¶°ÇµéÀ» ³í¸®ÀûÀ¸·Î ¿¬»êÇÒ ¼ö ÀÖ´Ù.

    ORDER BY´Â Å×À̺íÀÇ Çʵ忡 ´ëÇÏ¿© ¿À¸§Â÷¼ø ȤÀº ³»¸²Â÷¼øÀ¸·Î Á¤·ÄÀÌ °¡´ÉÇѵ¥ ±âº»ÀûÀ¸·Î ¿À¸§Â÷¼øÀ¸·Î Á¤·ÄÀ» ÇÏÁö¸¸, ³»¸²Â÷¼øÀ¸·Î Á¤·ÄÀ» ÇÏ°í ½Í´Ù¸é, select±¸¹®ÀÇ ¸Ç µÚ¿¡ DESC ¿¹¾à¾î¸¦ ½á ÁÖ¾î¾ß ÇÑ´Ù.

    OPERATOR¿¡´Â < , >, =, <=, >=, <>, LIKE, RLIKE, CLIKE, SLIKE µîÀÌ Àִµ¥, LIKE ¿¹¾à¾î´Â ÀϹÝÀûÀÎ ¿¹¾à¾î·Î Çѱ۷Π±¸Áö Ç¥ÇöÇÏÀÚ¸é, Á¤±Ô½Ä ¿¬»êÀÚ¶ó°í ÇÒ ¼ö Àִµ¥ °Ë»ö½Ã¿¡ ¾ÆÁÖ ÇÊ¿äÇÑ °ÍÀ¸·Î mSQL¿¡´Â 4°¡Áö¸¦ Áö¿øÇÑ´Ù.

     

    Á¾  ·ù

    ¼³  ¸í

    LIKE

    Standard SQL Regular Expression

    CLIKE

    Standard LIKE Operator

    RLIKE

    Complete UNIX expression operator

    SLIKE

    Phonetic matching Operator


    <Ç¥5> Regular Expression Operator(¹®ÀÚ¿­ °Ë»ö ÁöÁ¤ ¿ÀÆÛ·¹ÀÌÅÍ)

    Á¤±Ô½Ä Ç¥Çö ¿¬»êÀÚ´Â °¢°¢ÀÇ ¿¬»êÀÚ¿¡ ´ëÇÏ¿© Áö¿øÇÏ´Â ¹®¹ýÀÌ ÀÖ´Ù. ¹®ÀÚ¿­ ¸ÅĪÀ» À§ÇÏ¿© mSQL¿¡¼­ ¾à°£Àº ÀÚ¶û½º·¯¿î ¸éÀ» º¸¿© ÁÖ°í ÀÖ´Ù. LIKE¿Í CLIKE´Â ANSI SQL¿¡ ¸í½ÃµÇ¾î ÀÖ´Â ´ë·Î Áö¿øÀÌ µÇ°í ÀÖ°í, ƯÁ¤ ¹®ÀÚ¿­À̳ª ¹®ÀÚµéÀ» ¸ÅĪÇÒ ¼ö ÀÖ´Â ¿¬»êÀÚÀÌ´Ù. ´ÙÀ½Àº LIKE¿Í CLIKE¿¡¼­ »ç¿ëµÉ ¼ö ÀÖ´Â ¹®ÀÚ¿­ ¸ÅĪ ¿¬»êÀÚµéÀÌ´Ù.

     

    ¿¬ »ê ÀÚ

    ¼³              ¸í

    (¹ØÁÙ ¿¬»êÀÚ)

    ¹®ÀÚ¿­ Áß¿¡ ´ÜÀÏ ¹®ÀÚ¸¦ ¹«½ÃÇÏ°í ³ª¸ÓÁö ¹®ÀÚ¿­°ú ÀÏÄ¡ÇÏ´ÂÁö Ž»ö  '_yung' À̶ó°í ÇßÀ¸¸é ¸Ç ¾Õ ¿µ¹®ÀÚ°¡ ´ÜÀÏ  ¹®ÀÚÀÏ °æ¿ì¿¡ °Ë»öÀÇ ´ë»óÀÌ µÈ´Ù.

    %

    ¹®ÀÚ¿­ Áß¿¡ Çϳª ȤÀº ±× ÀÌ»óÀÇ ¹®ÀÚ¿­°ú ÀÏÄ¡ÇÏ´Â ·¹ÄÚµå Ž»ö. '%su%' À̶ó°í Çϸé, °¡¿îµ¥ su°¡ ¹Ýµå½Ã ÀÖÀ¸¸é¼­ ¾çÂÊ¿¡´Â ¾î¶² ¹®ÀÚ³ª ¹®ÀÚ¿­ÀÌ À־ °Ë»öÀÇ ´ë»óÀÌ µÈ´Ù.

    ¡¬

    Ư¼ö ¹®ÀÚµéÀ» °Ë»öÀÇ ´ë»óÀ¸·Î ÇÒ ¶§ »ç¿ëÇÑ´Ù. ¿¹¸¦ µéÀÚ¸é, '\%'Àº ¹®ÀÚ¿­ Áß '%'¹®ÀÚ°¡ ±×¸®°í '\\'´Â ¹®ÀÚ¿­ Áß¿¡ '\'ÀÌ ÀÖ´Â °ÍÀº ¸ðµÎ °Ë»öÀÇ ´ë»óÀÌ µÈ´Ù.


    <Ç¥ 6> LIKE¿Í CLIKE¿¡¼­ »ç¿ë °¡´ÉÇÑ ¿¬»êÀÚµé

    ÇÊÀÚ´Â À§ÀÇ ¸ðµç °ÍÀ» ¸ðµÎ Å×½ºÆ® Çغ¸¾ÒÀ¸¸ç, mSQL¿¡´Â ¾à°£ÀÇ ¾ð¾î Áö¿ø¿¡ ´ëÇÑ ¹®Á¦°¡ ÀÖ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ¾ú´Ù. mSQLÀº ¿ª½Ã ¿Ü±¹¿¡¼­ ¸¸µé¾î Á³´Ù´Â °ÍÀ» °¨¾ÈÇؾ߸¸ ÇÑ´Ù. _(¹ØÁÙ ¿¬»êÀÚ)´Â ÇϳªÀÇ ¿µ¹®ÀÚ¿Í ¼ýÀÚ¸¸À» °Ë»öÀÇ ´ë»óÀ¸·Î ÇÑ´Ù´Â °ÍÀÌ´Ù. Áï ¿ì¸®³ª¶ó ÇѱÛÀÇ ÇѱÛÀÚ´Â °Ë»öÀÌ µÇ¾î Áú ¼ö ¾ø´Ù. µû¶ó¼­ ¿ì¸®ÀÇ 2bytes ÇѱÛÀ» °Ë»öÇϱâ À§ÇÏ¿©¼­´Â ¹Ýµå½Ã '%' ¿¬»êÀÚ¸¦ LIKE³ª CLIKE¿Í ÇÔ²² »ç¿ëÇØ¾ß µÈ´Ù. ÀÌ°ÍÀº RLIKE³ª SLIKE¿¡µµ ¸¶Âù°¡ÁöÀÌ´Ù.

    RLIKE´Â º¸´Ù ´õ Á¤±³ÇÑ °Ë»öÀ» Áö¿øÇÑ´Ù. LIKE³ª CLIKE·Î Äõ¸®¸¦ ÀÔ·ÂÀ» ÇßÀ»¶§ ¿øÇÏ´Â µ¥ÀÌÅ͸¦ ¾òÁö ¸øÇÒ °æ¿ì¿¡ RLIKE¸¦ »ç¿ëÇÏ¸é ¿øÇÏ´Â °Ë»ö °á°ú¸¦ ¾òÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù. ´ë½Å ±×¸¸Å­ÀÇ ¼Óµµ°¡ ´À·ÁÁø´Ù´Â »ç½ÇÀ» ¾Ë¾Æ¾ß ÇÑ´Ù. RLIKEÀÇ Á¤±³ÇÑ °Ë»öÀ» Áö¿øÇϱâ À§ÇÏ¿© µû·Î ¿¬»êÀÚ¸¦ ÇÊ¿ä·Î ÇÏ°Ô µÇ¾ú´Ù. ´ÙÀ½ÀÇ Ç¥´Â RLIKE¿¡¼­ »ç¿ëÀÌ °¡´ÉÇÑ ¿¬»êÀÚ µéÀÌ´Ù. ÀÌ·¯ÇÑ ¿¬»êÀÚµéÀ» ¿¬½ÀÇϱâ À§Çؼ­´Â ¿©·¯ °¡Áö ´Ù¾çÇÑ µ¥ÀÌÅÍ°¡ µ¥ÀÌÅͺ£À̽º Å×ÀÌºí¿¡ ÀԷµǾîÁ® ÀÖ¾î¾ß µÈ´Ù. RLIKE¿¡ ´ëÇÏ¿©¼­´Â ´ÙÀ½ ½Ã°£¿¡ Á» ´õ ´Ù·ç±â·Î ÇÑ´Ù.

    SLIKE´Â PhoneticÀº "À½¼ºÀÇ" ¶ó´Â ¶æÀ» °¡Áø´Ù. ÀÌ°ÍÀº ¸» ±×´ë·Î ¿µ¹®À̳ª ÇѱÛÀ̳ª ¸ðµÎ ¹ßÀ½°ú ¾²´Â Ç¥±â¹ý°úÀÇ Â÷À̸¦ ¾ø¾Ö±â À§ÇÏ¿© ¸¸µé¾îÁø ¹®ÀÚ¿­ °Ë»ö ¿¹¾à¾î·Î ¿ª½Ã ¿ì¸®³ª¶ó Çѱۿ¡ ´ëÇÑ ¹ßÀ½°ú Ç¥±â¹ýÀº Áö¿øÇÏÁö ¾ÊÁö¸¸, ¿µ¹®¿¡ ´ëÇؼ­ Áö¿øÇÏ°í ÀÖ´Ù. ¸¸¾à¿¡ 'Hughes' ¶ó´Â »ç¶÷À» ã°í ½ÍÀ» ¶§ ½ºÆ縵À» È®½ÇÈ÷ ¸ð¸¦ °æ¿ì SLIKE¸¦ ÀÌ¿ëÇÏ¿© 'Hues' ¶ó´Â »ç¶÷À» ãÀ¸¶ó´Â Äõ¸®¸¦ ÀÔ·ÂÇÏ¿©µµ ºñ½ÁÇÑ ¹ßÀ½À» °®´Â ¸ðµç »ç¶÷À» ãÀ» ¼ö ÀÖ´Ù.

    ´ÙÀ½Àº ¿©·¯ °¡Áö Select±¸¹®À¸·Î ¿¹Á¦¸¦ ÅëÇÏ¿© select±¸¹®À» ÀÍÇô º¸ÀÚ. °£´ÜÇÏ°Ô Äõ¸®¸¦ º¸°í ¾î¶² Àǹ̷Π»ç¿ëÀÌ µÉ °ÍÀÎÁö¸¦ ¾Ë¾Æ ³¾ ¼ö ÀÖ´Â ´É·ÂÀÌ µÈ´Ù¸é,  SQLÀº °ÅÀÇ ¸ðµç °ÍÀ» ÀÌÇØÇß´Ù°í ÇÒ ¼ö ÀÖ´Ù.

      SELECT first_name, last_name FROM emp_details

    ÀÌ ¹®ÀåÀº emp_details Å×ÀÌºí¿¡¼­ first_name°ú last_name Çʵ带 ¸ðµÎ Ãâ·ÂÇÏ´Â ¹®ÀåÀ¸·Î where ÀýÀÌ ¾øÀ¸¹Ç·Î Àüü µ¥ÀÌÅ͸¦ Ãâ·ÂÇÑ´Ù.

      SELECT first_name, last_name FROM emp_details
      WHERE dept = 'finance'
      ORDER BY last_name, first_name DESC

    emp_details Å×ÀÌºí¿¡¼­ dept°¡ financeÀÎ ³ëµ¿ÀÚ¸¦ last_name°ú first_name ¼øÀ¸·Î first_name ±×¸®°í last_name À» Ãâ·ÂÇÑ´Ù.

      SELECT DISTINCT first_name, last_name FROM emp_details
      WHERE dept = 'finance'
      ORDER BY last_name, first_name DESC

    emp_details Å×ÀÌºí¿¡¼­ dept°¡ financeÀÎ ³ëµ¿ÀÚ¸¦ last_name°ú first_name ¼øÀ¸·Î first_name ±×¸®°í last_nameÀ» Áߺ¹ÀÌ ¾øÀÌ Ãâ·ÂÇÑ´Ù. ¿©±â¼­ Áߺ¹ÀÌ ¾ø´Ù´Â ¸»Àº ÇÑ Á÷Àå¿¡ ±è°æÈ£¶ó´Â °£ºÎ°¡ ¿ì¿¬È÷ °°Àº ºÎ¼­¿¡¼­ ÀÏÀ» ÇÏ°í ÀÖ´Ù¸é, DISTINCT ¿¹¾à¾î¸¦ ¾²Áö ¾Ê´Â´Ù¸é, ±è°æÈ£¶ó´Â À̸§Àº µÎ¹ø Ãâ·ÂÀÌ µÇ°ÚÁö¸¸, ÀÌ ¿¹¾à¾î¸¦ »ç¿ëÇϸé, ¿ÀÁ÷ Áߺ¹À» ¾ø¾Ø ±è°æÈ£¶ó´Â À̸§ÀÌ Çϳª¸¸ Ãâ·ÂÀÌ µÈ´Ù.

      SELECT first_name, last_name FROM emp_details
      WHERE dept = 'finance' and last_name like '_ughes'

    emp_details Å×ÀÌºí¿¡¼­ dept°¡ financeÀÎ ³ëµ¿ÀÚÁß last_nameÀÌ ?ughes¶ó´Â »ç¶÷ÀÇ  first_name last_name À» Ãâ·ÂÇÑ´Ù. À̶§ Like¿¡¼­ '_'  ¿¬»êÀÚ°¡ »ç¿ë µÇ¾ú´Ù.

      SELECT first_name, last_name FROM emp_details
      WHERE dept = 'finance' and last_name like 'Mc%'

    emp_details Å×ÀÌºí¿¡¼­ dept°¡ financeÀÎ ³ëµ¿ÀÚÁß last_nameÀÌ McÀ¸·Î ½ÃÀÛÇÏ´Â ¸ðµç »ç¶÷ÀÇ  first_name last_name À» Ãâ·ÂÇÑ´Ù. À̶§ Like¿¡¼­ '%' ¿¬»êÀÚ°¡ »ç¿ë µÇ¾ú´Ù.

    ´ÙÀ½Àº °ü°èÇü Äõ¸® ¾ð¾îÀÇ °¡Àå °­·ÂÇÑ ±â´ÉÁßÀÇ ÇϳªÀÎ °ü°è Á¶Àο¡ ´ëÇÑ ÁúÀǹ®ÀÌ´Ù. ¿©·¯ °³ÀÇ µ¥ÀÌÅÍ º£À̽º Å×À̺íÀ» MergingÀ» ÇÏ¿© MergeµÈ µ¥ÀÌÅÍ¿¡¼­ ƯÁ¤ÇÑ ·¹ÄÚµåµéÀ» ÃàÃâÇÏ´Â ±â´ÉÀÌ´Ù.

      SELECT emp_details.first_name, emp_details.last_name, project_details.project
      FROM emp_details, project_details
      WHERE emp_details.emp_id = project_details.emp_id
      ORDER BY emp_details.last_name, emp_details.first_name

    project Å×À̺í°ú emp_details Å×À̺íÀ» Á¶ÀÎÇÏ¿© emp_details Å×À̺íÀÇ emp_id°¡ project_details Å×À̺íÀÇ emp_id°¡ ÀÏÄ¡ÇÏ´Â »ç¶÷µéÀ» emp_details Å×À̺íÀÇ last_name¿Í first_name ¼øÀ¸·Î Á¤·ÄÇÏ¿© ±Ù¹«ÀÚÀÇ first_name, last_name, projectÀ» Ãâ·ÂÇÑ´Ù. ¿©±â¼­ Å×À̺íÀÇ Çʵå¸íÀ» C ¾ð¾î¿¡¼­ ¿Í °°ÀÌ dot ¿¬»êÀÚ·Î ¹­¾î¼­ ±¸Á¶Ã¼Ã³·³ »ç¿ëµÇ¾ú´Ù´Â °Í¿¡ ÁÖ¸ñÇØ¾ß ÇÑ´Ù. ÀÌ·¸°Ô »ç¿ëÇϸé, ´Ù¸¥ Å×À̺íÀÇ Çʵ带 ÂüÁ¶ÇÏ¿© ºñ±³¸¦ ÇÒ ¼ö ÀÖ´Ù.

    * Delete ¹®

    »èÁ¦ ±¸¹®Àº ÇϳªÀÇ µ¥ÀÌÅͺ£À̽º Å×ÀÌºí¿¡¼­ Çϳª ¶Ç´Â ±× ÀÌ»óÀÇ ·¹Äڵ带 »èÁ¦Çϱâ À§ÇÏ¿© »ç¿ëµÇ¾î Áø´Ù. ´õ ÀÌ»óÀÇ ÇÊ¿ä°¡ ¾ø´Â ·¹ÄÚµåµéÀº »èÁ¦ µÉ¶§ ÇÊ¿äÇÑ ±¸¹®ÀÌ´Ù.
     

    - ±âº» Çü½Ä

    DELETE FROM Å×À̺íÀ̸§
    WHERE Ä÷³ OPERATOR °ª
    [ AND | OR Ä÷³ OPERATOR °ª ]**

     

    ´ÙÀ½Àº  emp_details Å×ÀÌºí¿¡¼­ 'ÇÏ´Ã' À̶ó´Â À̸§ÀÌ Áߺ¹µÇ¾î À־ À̸¦ Á¦°ÅÇÏ´Â SQL ¹®ÀÌ ½ÇÇàµÇ°í ÀÖ´Â °ÍÀ» º¸¿© ÁØ´Ù.

     

    bash# msql empdb


    MSQL_DEBUG found. libmsql started with the following:-


    Welcome to the miniSQL monitor. Type ¡¬h for help.

    mSQL > delete from emp_details Where first_name = 'ÇÏ´Ã'¡¬
    Query OK. 2 row(s) modified or retrieved.

    mSQL >


    <±×¸² 11> emp_details Å×ÀÌºí¿¡¼­ Áߺ¹µÇ´Â ·¹Äڵ带 »èÁ¦ÇÑ´Ù.

    DELETE FROM emp_details WHERE emp_id = 12345

    : emp_details Å×À̺í·ÎºÎÅÍ emp_id°¡ 12345 »ç¶÷À» Á¦°ÅÇÑ´Ù.

    DELETE FROM emp_details WHERE salary > 20000 and salary < 30000

    : emp_details Å×À̺í·ÎºÎÅÍ salary°¡ 20000ÀÌ ³Ñ°í, salary°¡ 30000º¸´Ù ÀûÀº ºÀ±ÞÀ» ¹Þ´Â »ç¶÷µéÀ» ¸ðµÎ Á¦°ÅÇÑ´Ù.

    * Update ¹®

    SQL¿¡¼­ Update¹®Àº µ¥ÀÌÅͺ£À̽º¿¡ ÀÖ´Â Å×À̺íÀÇ ÀÓÀÇÀÇ ÇʵåÀÇ µ¥ÀÌÅ͸¦ ¼öÁ¤ÇÏ¿© ÃÖ½ÅÀÇ µ¥ÀÌÅ͸¦ À¯ÁöÇϱâ À§ÇÏ¿© ÁÖ·Î »ç¿ëµÇ¾î Áø´Ù. Update ¹®µµ ´Ù¸¥ SQL ¹®Àå°ú ¸¶Âù°¡Áö·Î ´ÙÀ½°ú °°Àº where ÀýÀ» °®´Â´Ù.

     

    - ±âº» Çü½Ä

    UPDATE Å×À̺íÀ̸§ SET Ä÷³=°ª [ ,Ä÷³n=°ªn ]**
    WHERE Ä÷³ OPERATOR °ª
    [ AND | OR Ä÷³ OPERATOR °ª ]**

     

    UPDATE emp_details SET salary=30000 WHERE emp_id = 1234

    emp_details Å×ÀÌºí¿¡ emp_id°¡ 1234ÀÎ »ç¶÷À» salary¸¦ 30000À¸·Î ºÀ±ÞÀ» ¿Ã·Á ÁÖ´Â °ÍÀÌ´Ù. °ü¸®ÀÚ°¡ ¾Æ¹«·¡µµ ºÀ±ÞÀ» ³Ê¹« Àû°Ô Áشٴ »ý°¢ÀÌ µé¾ú³ª º¸´Ù.

    UPDATE emp_details SET salary=35000, dept='Development' where emp_id = 1234

    emp_details Å×ÀÌºí¿¡ emp_id°¡ 1234ÀÎ »ç¶÷À» salary¸¦ 30000À¸·Î ºÀ±ÞÀ» ¿Ã·Á ÁÖ°í ±× »ç¶÷ÀÇ ¼Ò¼Ó(dept)¸¦ 'Development'·Î ¹Ù²Ù¾î ÁÖ´Â °ÍÀÌ´Ù. °ü¸®ÀÚ°¡ ¾Æ¹«·¡µµ ºÀ±ÞÀ» ³Ê¹« Àû°Ô Áشٴ »ý°¢ÀÌ µé¾ú³ª º¸´Ù.

 

7.  Mini SQL Utilities

    Àü¿¡ ¸ðµç µ¥ÀÌÅÍ º£À̽º °ü¸® ½Ã½ºÅÛ¿¡´Â ´ëºÎºÐÀÇ µ¥ÀÌÅÍ º£À̽º °ü¸®ÀÚ³ª °³¹ßÀÚ¸¦ À§ÇÑ À¯¿ëÇÑ ÅøÀÌ Á¸ÀçÇÑ´Ù. À̸¦ µ¥ÀÌÅͺ£À̽º À¯Æ¿¸®Æ¼¶ó°í Çϴµ¥ Mini SQL¿¡¼­µµ ¸¶Âù°¡Áö·Î ÀÌ·¯ÇÑ µ¥ÀÌÅÍ º£À̽º Àß °ü¸®Çϱâ À§ÇÑ À¯Æ¿¸®Æ¼¸¦ Áö¿øÇÏ°í ÀÖ´Ù. ±×·¯³ª ¿©ÀüÈ÷ ÅؽºÆ® ¹æ½Ä¿¡ ±×Ä¡°í À־ ¾ÈŸ±õ´Ù. º¸´Ù Áú ÁÁÀº ÀÎÅÍÆäÀ̽º°¡ °³¹ßµÇ¾îÁ®¾ß ÇÑ´Ù. ÀÌ ºÎºÐ¿¡ ´ëÇÏ¿©¼­´Â ¼ÖÁ÷È÷ mSQL °³¹ßÀÚ¿¡°Ô ºÒ¸¸ÀÌ ¸¹´Ù. Á÷Á¢ Á¦ÀÛÇÏ´Â °ÍÀÌ ÈξÀ ´õ Æí¸®ÇÑ °ÍÀÌ »ç½ÇÀ̱⠶§¹®ÀÌ´Ù.

    ¿ì¸®´Â ÀÌ¹Ì ½Ã½ºÅÛ À¯Æ¿¸®Æ¼ ÁßÀÇ ÇϳªÀÎ msql À̶ó´Â Monitor ÇÁ·Î±×·¥À» Á¢ÇØ º¸¾Ò´Ù. ¾Æ¸¶ ¿©·¯ºÐÀº SQLÀ» ¿¬½ÀÇϱâ À§ÇÏ¿© µ¥ÀÌÅÍ º£À̽º¸¦ ÇÑ °³ ÀÌ»óÀ» ¸¸µé¾úÀ¸¸ç, À̶§ msqladminÀ̶ó´Â µ¥ÀÌÅͺ£À̽º À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇß´Ù.  ¿©±â¼­´Â Á» ´õ ±í°Ô À¯Æ¿¸®Æ¼¸¦ ¾î¶»°Ô »ç¿ëÇØ¾ß ÇÏ´ÂÁö¿¡ ´ëÇÏ¿© ¾ð±ÞÇϱâ·Î ÇÑ´Ù.

    * msqladmin

    mSQL DBMS¿¡¼­ µ¥ÀÌÅÍ º£À̽º »ý¼º ¹× º¹»ç, Á¦°Å, mSQL µ¥¸óÀÇ Àç½ÃÀÛ ¹× ¼Ë ´Ù¿î µîÀÇ °ü¸®ÀÚ ¼öÁØÀÇ ±â´ÉµéÀ» Á¦°øÇÑ´Ù. »ç¿ë¹ýÀº ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÏ¸é µÈ´Ù.

      msqladmin -h host -f configfile -q Command

    -h host ¿É¼ÇÀº ´Ù¸¥ À¯Æ¿¸®Æ¼ ÇÁ·Î±×·¥¿¡¼­µµ ¸ðµÎ °°ÀÌ Àû¿ëÀÌ µÇ´Â ¿É¼Ç Áß¿¡ Çϳª·Î host´Â mSQL µ¥ÀÌÅͺ£À̽º ¼­¹ö°¡ ½ÇÇà Áß¿¡ ÀÖ´Â ¼­¹öÀÇ IP³ª È£½ºÆ® Àüü À̸§ÀÌ°í, -h ¿É¼ÇÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¸é null °ªÀ¸·Î ÀÎÁ¤ÇÏ¿© localhost °¡ ÀÚµ¿ÀûÀ¸·Î ÁöÁ¤µÈ´Ù.

    -f configfile ¿É¼ÇÀº ´Ù¸¥ À¯Æ¿¸®Æ¼ ÇÁ·Î±×·¥¿¡¼­µµ ¸ðµÎ °°ÀÌ Àû¿ëÀÌ µÇ´Â ¿É¼Ç Áß¿¡ Çϳª·Î mSQLÀÇ ´ÙÁß È¯°æ ¼³Á¤ ÆÄÀÏÀ» Àо ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Ù. Áï msql.conf ÆÄÀÏ¿¡ ¼³Á¤ÀÌ µÇ¾î ÀÖ´Â ¼­¹öÀÇ È¯°æÀÌ ¿øÇÏ´Â ÀÛ¾÷°ú °ü·ÃÀÌ Àû´Ù¸é, ´Ù½Ã »õ·Î¿î ¼³Á¤ ÆÄÀÏÀ» ¸¸µé¾î¼­ configfile¿¡ ÁöÁ¤ÇØ ÁÖ¸é µÈ´Ù.

    -q ¿É¼ÇÀº msqladmin ÇÁ·Î±×·¥ µ¿ÀÛÀº Á¶¿ëÇÏ°Ô ¸¸µé¾î ÁÖ´Â ¿ªÇÒÀ» Çϴµ¥ ¹®Á¦°¡ ¹ß»ýÇßÀ»¶§ À§ÇèÇϹǷΠÀÌ ¿É¼ÇÀº »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù.

    Command ¿É¼ÇÀº ´ÙÀ½°ú °°Àº °ÍµéÀÌ Á¸ÀçÇÑ´Ù. command´Â °ü¸®ÀÚ³ª ÇÁ·Î±×·¡¸Ó°¡ ´Ù·ç¾î¾ß ÇÏ´Â ¼º°ÝÀÇ ¸í·É¾î°¡ ÀÖ´Ù.

     

    ¸í·É¾î(command)

    ¼³           ¸í

    create dbmame

    dbnameÀ̶ó´Â µ¥ÀÌÅÍ º£À̽º¸¦ »ý¼ºÇÑ´Ù

    drop dbname

    dbnameÀ̶ó´Â µ¥ÀÌÅÍ º£À̽º¸¦ Æı«ÇÑ´Ù

    shutdown

    mSQL DBMS Server¸¦ Á¾·á½ÃŲ´Ù.

    reload

    ACL(Access Control List)¸¦ ´Ù½Ã ÀÐ¾î µé¿©  mSQL ServerÀÇ È¯°æÀ» ´Ù½Ã ¼³Á¤ÇÑ´Ù

    version

    mSQL Server ¹× ±âŸ ½Ã½ºÅÛ Á¤º¸¸¦ º¸¿© ÁØ´Ù.

    stats

    ServerÀÇ Åë°è·®À» º¸¿© ÁØ´Ù.

    copy srcdb destdb

    ±âÁ¸¿¡ Á¸ÀçÇÏ´Â srcdb¿¡¼­ destdb·Î µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÑ´Ù.

    move srcdb destdb

    ±âÁ¸¿¡ Á¸ÀçÇÏ´Âsrcdb¿¡¼­ destdb·Î µ¥ÀÌÅͺ£À̽º¸¦ À̸§À» º¯°æÇÑ´Ù.


    <Ç¥ 7> msqladmin¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ¿É¼Çµé

    ¿©·¯ °¡Áö  À¯¿ëÇÑ ±â´ÉµéÀÌ Ãß°¡µÈ °ÍÀ» ½±°Ô ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. À¯Æ¿¸®Æ¼ »ç¿ëÇÏ´Â °ÍÀº ¿©·¯ºÐµéÀÇ ¸òÀ¸·Î ³²°Ü µÐ´Ù.

    * msql

    msqlÀº ¸ð´ÏÅÍ ÇÁ·Î±×·¥À̶ó°í ÀÌ¹Ì ¾ð±ÞÇÑ ¹Ù°¡ ÀÖ´Ù. ÀÌ ÇÁ·Î±×·¥ÀÇ ¿ªÇÒÀº µ¥ÀÌÅͺ£À̽º ¼­¹ö¿Í »ç¿ëÀÚ°£ÀÇ Á÷Á¢ÀûÀÎ ´ëÈ­ ¼ö´Ü Áß¿¡ Çϳª·Î ½ÇÇàÇÑ ÈÄ¿¡ ÇÁ·ÒÇÁÆ®¿¡¼­ SQL ¹®À» »ç¿ëÇÏ¿© ÀÛ¾÷À» ÇÒ ¼ö ÀÖ°Ô ÇØ ÁØ´Ù. msql¿¡´Â SQL ¹® µÚ¿¡ ¹Ýµå½Ã \g¸¦ ÀÔ·ÂÇØ¾ß ÇÑ´Ù. ¸ð´ÏÅÍ ÇÁ·Î±×·¥Àº ÀÌ ¹®ÀÚ°¡ SQL ¹®ÀÇ ³¡ÀÎÁÙ ¾Ë°í »ç¿ëÀÚÀÇ SQL¹®À» Server·Î Àü´ÞÇÑ´Ù.. msql¿¡´Â ´ÙÀ½°ú °°Àº ±âº» ¸í·É¾î°¡ ÀÖ´Ù.

            msql -h host -f configfile database

    µ¿ÀÏÇÑ ¿É¼ÇÀº msqladmin°ú °°°í, msqlÀº ¹Ýµå½Ã database¸¦ ÁöÁ¤Çؼ­ ÁöÁ¤µÈ µ¥ÀÌÅͺ£À̽ºÀÇ Á¸Àç ¿©ºÎ¸¦ ¾Ë¾Æ³½ ÈÄ¿¡ »ç¿ëÀÚ·Î ÇÏ¿©±Ý µ¥ÀÌÅͺ£À̽º³»ÀÇ ¸ðµç Å×ÀÌºí¿¡ ´ëÇÏ¿© SQL ¿¬»êÀ» ÇÒ ¼ö ÀÖµµ·Ï ȯ°æÀ» ¸¸µé¾î ÁØ´Ù.

 

    ¸í·É¾î

    ¼³                 ¸í

    ¡¬q

    msql ¸ð´ÏÅÍ ÇÁ·Î±×·¥À» Á¾·áÇÑ´Ù. (Control-D)

    ¡¬g

    GO, Äõ¸®¸¦ ¼­¹ö·Î Àü´ÞÇÑ´Ù.

    ¡¬e

    ÀÌÀüÀÇ Äõ¸® ¹®(Äõ¸® ¹öÆÛ¿¡ ÀÖ´Â)À» ´Ù½Ã ÆíÁýÇÑ´Ù.

    ¡¬p

    ÇöÁ¦ Äõ¸® ¹öÆÛ¿¡ ÀÖ´Â(ÀÌÀü¿¡ ¼öÇàÇÑ) °ÍÀ» Ãâ·ÂÇÑ´Ù.


    <Ç¥ 8> msql ¸ð´ÏÅÍ ÇÁ·Î±×·¥¿¡¼­ »ç¿ëÇÏ´Â ¸í·É¾îµé

    * relshow

    mSQL µ¥ÀÌÅͺ£À̽ºµéÀÇ ±¸Á¶ÀÇ ³»¿ëÀ» º¸¿© ÁÖ´Â °ÍÀÌ´Ù. ¾Æ¹«·± ¿É¼ÇÀÌ ÁÖ¾îÁöÁö ¾ÊÀ¸¸é, ÇöÁ¦ Á¤ÀÇµÈ µ¥ÀÌÅÍ º£À̽ºµéÀÇ À̸§ÀÇ ¸®½ºÆ®¸¦ º¸¿© ÁØ´Ù. ³ª¸ÓÁö ¿É¼ÇÀº ¸ðµÎ µ¿ÀÏÇÏ°Ô »ç¿ëÇÏ¸é µÈ´Ù.

      relshow -h host -f configfile database

    ±×·¯³ª µ¥ÀÌÅͺ£À̽º ¸íÀ» ÁöÁ¤ÇØ ÁÖ¸é ÇØ´ç µ¥ÀÌÅÍ º£À̽ºÀÇ ±¸Á¶¸¦ º¸¿© ÁØ´Ù. ¿©·¯ºÐµéµµ º»ÀÎÀÌ ¸¸µç µ¥ÀÌÅÍ º£À̽ºÀÇ ±¸Á¶¸¦ º¸°í ½Í´Ù¸é,  relshow À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ¿© ½±°Ô º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

    * msqldump

    msqldump´Â µ¥ÀÌÅͺ£À̽º³»ÀÇ ±¸Á¶¸¦ SQL ¸í·É¹®À¸·Î º¸¿© ÁÖ°í,  ¸ðµç Å×ÀÌºí¿¡ ´ëÇÏ¿© µ¥ÀÌŸ¸¦ ·¹Äڵ帶´Ù INSERT TO ±¸¹®À» ³Ö¾î¼­ ÇÔ²² Ãâ·ÂÇØ ÁÖ´Â ¿ªÇÒÀ» ÇØ µ¥ÀÌÅͺ£À̽º ¼³°è ÈÄ¿¡ ¹é¾÷À» Çϱâ À§ÇÏ¿© ¸¹ÀÌ »ç¿ëµÈ´Ù.

      msqldump -h host -f configfile -c -v database or table

    -c ¿É¼ÇÀº µ¥ÀÌÅÍ º£À̽º³ª Å×À̺íÀÇ ÀÔ·ÂµÈ SQLÀ» º¸¿© ÁÙ¶§ INSERT¸í·É¿¡ ÇÊµå ¸íÀ» Ãß°¡ÇÏ¿© º¸¿© ÁØ´Ù.
    -v verbose ¸ðµå·Î ¼³Á¤ÇÑ´Ù. ÀÌ°ÍÀº Á¢¼ÓÀ̶óµç°¡ ÇÏ´Â °á°úµéÀ» ÀÚ¼¼ÇÏ°Ô º¸¿© ÁØ´Ù.
    ´ÙÀ½Àº empdb µ¥ÀÌÅͺ£À̽ºÀÇ ±¸Á¶¿Í emp_detailsÀÇ µ¥ÀÌÅ͵éÀ» ¸ðµÎ º¸¿© ÁÖ°í ÀÖ´Ù.

     

    #
    # Table structure for table 'emp_details'
    #
    CREATE TABLE emp_details (
         first_name CHAR(15) NOT NULL,
         last_name CHAR(15) NOT NULL,
         comment TEXT(50),
         dept CHAR(20),
         emp_id INT NOT NULL
    )¡¬g

    CREATE INDEX idxname ON emp_details (
               first_name,
               last_name
     )¡¬g

    CREATE UNIQUE INDEX idxemp_id ON emp_details (
              emp_id
      )¡¬g

    #
    # Dumping data for table 'emp_details'
    #

    INSERT INTO emp_details VALUES ('°æÈ£', '±è', '¾È³çÇϼ¼¿ä? mSQL SQL', 'ÄÄÇ»ÅÍ°øÇаú', 120000)¡¬g

    bash#


    < ±×¸² 12 >  empdb µ¥ÀÌÅÍ º£À̽ºÀÇ ±¸Á¶¸¦ º¸¿© ÁØ´Ù.

    ´ÙÀ½ÀÇ µ¥ÀÌÅͺ£À̽º À¯Æ¿¸®Æ¼´Â ÃÖ±Ù¿¡ Ãß°¡°¡ µÈ ¾ÆÁÖ À¯¿ëÇÑ À¯Æ¿¸®Æ¼·Î, µ¥ÀÌÅͺ£À̽º¿¡ ÀÔ·ÂÀ̳ª µ¥ÀÌÅͺ£À̽º ±¸Á¶¸¦ ¾ò°í ¹é¾÷À» Çϴµ¥ À¯¿ëÇÑ À¯Æ¿¸®Æ¼µéÀÌ´Ù.

    * msqlexport

    msqlexport´Â ¿øÇÏ´Â µ¥ÀÌÅͺ£À̽ºÀÇ Å×À̺íÀ» ASCII ÆÄÀÏ·Î ¸¸µé¾î ÁØ´Ù. µû¶ó¼­ µ¥ÀÌÅ͸¦ ¹é¾÷Çϰųª ¾Æ´Ï¸é, ´ÙÁßÀ¸·Î ¼öÁ¤À» ÇÒ¶§³ª ¾Æ´Ï¸é, °Ë»ç¸¦ ÇÒ¶§ msqlimport¸¦ °°ÀÌ »ç¿ëÇÏ¸é ¾ÆÁÖ À¯¿ëÇÏ´Ù.

    msqlexport -h host -f configfile -v database table

    ´ÙÀ½Àº msqlexport¸¦ ½ÇÇàÇÑ °ÍÀ» º¸¿© ÁÖ°í ÀÖ´Ù. ´ÙÀ½°ú °°Àº ¸í·ÉÀ» ÀÔ·ÂÇϸé, ¾Æ¸¶µµ ½±°Ô µ¥ÀÌÅ͵éÀ» º¸°üÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

    msqlexport empdb emp_details > emp_details.export

     

    bash# cat emp_details.export


    MSQL_DEBUG found. libmsql started with the following:-


    °æÈ£, ±è, ¾È³çÇϼ¼¿ä? mSQL SQL, ÄÄÇ»ÅÍ °øÇаú, 120000

    bash#

     

    * msqlimport

    ÀÌ ÇÁ·Î±×·¥Àº msqlexport¿Í ¹Ý´ëµÇ´Â ÇÁ·Î±×·¥À¸·Î ÀÌ¹Ì ÀÏÁ¤ÇÑ Çü½ÄÀ¸·Î ÀÛ¼º µÇ¾îÁø ASCII ÆÄÀÏÀ» ´Ù½Ã µ¥ÀÌÅÍ º£À̽ºÀÇ ÇØ´çµÇ´Â Å×ÀÌºí¿¡ ÀÔ·ÂÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù.

    msqlimport -h host -f configfile -v database table

    ´ÙÀ½Àº msqlimportÀÇ °­·ÂÇÑ ¸éÀ» º¸¿© ÁÖ°í Àִµ¥ ¸¹Àº µ¥ÀÌÅͶó¸é, ´ÙÀ½°ú °°Àº ÅؽºÆ® ÆÄÀÏ·Î ¸¸µé¾î ÁÖ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î¼­, msqlimport ÇÁ·Î±×·¥À» ÀÌ¿ëÇϸé ÁÁÀ» °Í °°´Ù. SQL¹®À» ÀÔ·ÂÇÏ´Â °Í¿¡ ÁöÃÆ´Ù¸é, ÇØ º¼¸¸ÇÑ ÀÏÀÌ´Ù.  ´ÙÀ½Àº emp_details Å×ÀÌºí¿¡ µ¥ÀÌÅÍ ÀÔ·ÂÀ» À§ÇÏ¿© vi ¿¡µðÅÍ·Î ÆíÁýÇÏ¿© emp_details.import ÆÄÀÏ·Î ÀúÀåÇÏ°í ´ÙÀ½°ú °°Àº ¸í·ÉÀ¸·Î ÀÔ·ÂÀ» Çϵµ·Ï ÇÑ °ÍÀÌ´Ù. ¾Æ¸¶µµ ÀÌ·¯ÇÑ ¹æ¹ýÀÌ ½±°Ô µ¥ÀÌÅÍ º£À̽º¿¡ µ¥ÀÌÅ͸¦ »¡¸® ä¿ï ¼ö ÀÖÀ» °ÍÀ̶ó°í »ý°¢ÇÑ´Ù.

     

    bash#
    bash#
    bash# cat emp_details.import
    ÇÏ´Ã,ÀÌ,Àú´Â ÀÌÇÏ´ÃÀÌ¿¹¿ä,°¡¼ö,1000
    ±æµ¿,È«,¹Ý°©½À´Ï´Ù.ȨÆäÀÌÁö°¡ ÁÁ±º¿ä.,ÀüÀÚ°øÇаú,1300
    ÆÛ¸Ç,½´,³ªµµ µé·È½À´Ï´Ù.ÀÌ»Ú³× Áõ¸».,Á¦¾î°èÃøÇаú,3200
    bash# msqlimport empdb emp_details.import


    MSQL_DEBUG found. libmsql started with the following:-


    importing into table 'emp_details'
    Field 1 is 'first_name' of type char
    Field 2 is 'last_name' of type char
    Field 3 is 'comment' of type text
    Field 4 is 'dept' of type char
    Field 5 is 'emp_id' of type int

    ...

    Done. 3 records processed.
    bash#


    <±×¸² 13> msqlimport¸¦ ÀÌ¿ëÇÏ¿© µ¥ÀÌÅ͵éÀ» ´ë·®À¸·Î ÀÔ·ÂÇÑ´Ù.

    imformix³ª ´Ù¸¥ °ü°èÇü µ¥ÀÌÅÍ º£À̽º´Â ÀÌ·¯ÇÑ ´ë·®ÀÇ ÀÔ·ÂÀ» À§ÇÏ¿© »ç¿ëÀÚ¿¡°Ô ½±°Ô ÀÔ·ÂÀ» ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇÏ°í ÀÖÁö¸¸, ¾ÆÁ÷ mSQLÀº ±×·± °ÍÀº Áö¿øµÇ°í ÀÖÁö ¾Ê´Ù. ¿¡·¯°¡ ¹ß»ýÇÑ ·¹ÄÚµå´Â ÀԷµÇÁö ¾Ê°í °è¼Ó ´ÙÀ½ µ¥ÀÌÅÍ ·¹ÄÚµå·Î ÁøÇàÇÑ´Ù.

 

7.  ¸ÎÀ½¸»

    Mini SQLÀÇ ¸» ±×´ë·Î 'ÀÛÀº' (Mini) SQL ¹®µé°ú Mini SQL µ¥ÀÌÅÍ º£À̽º °ü¸® ½Ã½ºÅÛ¿¡¼­ Áö¿øÇÏ°í ÀÖ´Â À¯Æ¿¸®Æ¼µéÀ» »ìÆì º¸°í ±âº»ÀûÀÎ µ¥ÀÌÅÍ º£À̽ºµµ ÇÔ²² ¸¸µé¾î º¸¾Ò´Ù. À̹ø ½Ã°£¿¡´Â ¿ø°í ¸¶°¨ ½Ã°£À» ÁöÅ°Áö ¸øÇØ, Á» ´õ ÀÚ¼¼ÇÑ °ÍµéÀ» ÇÏÁö ¸øÇØ ¾Æ½±±â¸¸ ÇÏ´Ù. ÇÏÁö¸¸ ´ÙÀ½ ¹ø ½Ã°£±îÁö ¿©·¯ºÐµéÀº ÇÊÀÚ º¸´Ùµµ ´õ ¸¹ÀÌ SQL¹®À» »ç¿ëÇؼ­ Àͼ÷ÇØ Á³À¸¸é ÇÏ´Â ¹Ù·¥ÀÌ´Ù. Çб³¿¡¼­ DBMS ¼ö¾÷ÀÌ ÀÖ´Â Çб³°¡ ÀÖÀ» °ÍÀ¸·Î »ý°¢ÀÌ µç´Ù. SQLÀº ´ëºÎºÐ ºñ½ÁÇϹǷΠ¸¹Àº µµ¿òÀÌ µÇ¾úÀ¸¸é ÁÁ°Ú´Ù. ´ÙÀ½ È£¿¡¼­´Â º¸´Ù ´õ ½ÇÁ¦ÀûÀ¸·Î À¥¿¡ Á¢±ÙÇÏ´Â °ÍÀ¸·Î Çغ¸µµ·Ï ÇÒ °ÍÀÌ´Ù. Á¡Á¡ ´õ Èï¹Ì°¡ ÀÖ´Â ÁÖÁ¦¸¦ °¡Áö°í ´Ù½Ã ¸¸³¯ °ÍÀ» ¾à¼ÓÇϸ鼭 ¿©±â¼­ ±ÛÀ» ¸¶Ä£´Ù.

    Âü°í¹®Çå ¹× Ãßõ µµ¼­
    Mini SQL Manual
    °ü°èÇü µ¥ÀÌÅÍ º£À̽º ¸ðµ¨¸µ ¹× ¼³°è±¸Ãà ½Ç¹«(83 page~179 page)-±¤¹®°¢

    ±è°æÈ£(zesus@edunet.nmc.nm.kr)




¡ã top

homeÀ¸·Î...