°úÁ¤ ¸ñÀû
º»
°úÁ¤¿¡¼´Â RDBMS(Relational Database Management System)¿Í ORDBMS(Object Relational
Database Management System)¸¦ ÀÌÇØ Çϵµ·Ï ÇÕ´Ï´Ù. ¶ÇÇÑ ´ÙÀ½À» ¼Ò°³ ÇÕ´Ï´Ù.
°ü°èÇü ¸ðµ¨
°ü°èÇü ¸ðµ¨ÀÇ ¿øÄ¢Àº 1970³â 6¿ù, E. F. Codd
¹Ú»çÀÇ ¡°A Relational Model of Data for Large Shared Data Banks¡± ¶ó´Â ³í¹®¿¡¼ óÀ½À¸·Î À±°ûÀ»
µå·¯³»¾ú°í, ÀÌ ³í¹®¿¡¼ Codd ¹Ú»ç´Â µ¥ÀÌÅͺ£À̽º
½Ã½ºÅÛ ¿¡ °ü°èÇü ¸ðµ¨ µµÀÔÀ» Á¦¾ÈÇß½À´Ï´Ù.
±× ´ç½Ã ¸¹ÀÌ »ç¿ëµÇ¾ú´ø ´ëÁßÀû ¸ðµ¨Àº °èÃþÇü, ³×Æ®¿÷Çü, ½ÉÁö¾î´Â
´Ü¼øÇüÅÂÀÇ ÆÄÀÏ µ¥ÀÌÅÍ ±¸Á¶ µîÀ̾úÀ¸³ª RDBMS (Relational Database Management Systems)°¡ ±¸Á¶»óÀÇ
À¯¿¬¼ºÀ̶óµç°¡, »ç¿ë»óÀÇ ÆíÀÇ·Î ÀÎÇØ ½±°Ô ´ëÁßÈ µÇ¾ú½À´Ï´Ù. °Ô´Ù°¡, ÃÑüÀû ÇØ°áÀ» Á¦°øÇÏ´Â °·ÂÇÑ ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß°ú »ç¿ëÀÚ Á¦Ç° ±ºµéÀ»
RDBMS·Î °¡´ÉÇÏ°Ô ÇØÁÖ´Â Oracle °°Àº Çõ½ÅÀûÀÎ ¾÷üµéÀÌ ´Ù¼ö ÀÖ¾ú½À´Ï´Ù.
°ü°èÇü ¸ðµ¨ÀÇ
±¸¼º¿ä¼Ò
º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾Ë°íÀÚ ÇÑ´Ù¸é, ´ÙÀ½À» ÂüÁ¶ÇϽʽÿÀ.
E. F. Codd, The
Relational Model for Database Management Version 2 (Reading, Mass.:
Addison-Wesley, 1990).
°ü°èÇü µ¥ÀÌÅͺ£À̽º
°ü°èÇü
µ¥ÀÌÅͺ£À̽º´Â Á¤º¸ ÀúÀåÀ» À§ÇØ °ü°è³ª 2Â÷¿ø Å×À̺íÀ» ÀÌ¿ëÇÕ´Ï´Ù.
¿¹¸¦ µé¾î, ȸ»ç´Â ±× ȸ»ç Á÷¿øµé¿¡ °üÇÑ Á¤º¸¸¦ ÀúÀåÇÒ ÇÊ¿ä°¡
Àִµ¥, °ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡¼´Â Á÷¿ø Å×À̺í, ºÎ¼ Å×À̺í, ±Þ¿© Å×ÀÌºí µî°ú °°Àº Á÷¿øµé¿¡ ´ëÇÑ °¢Á¾ Á¤º¸µéÀ» ÀúÀåÇϱâ À§ÇØ ¿©·¯ Å×À̺íÀ»
»ý¼ºÇÏ°Ô µË´Ï´Ù.
ER ¸ðµ¨¸µ
½ÇÁ¦
½Ã½ºÅÛ¿¡¼ µ¥ÀÌÅÍ´Â ¿£Æ¼Æ¼(entity) ´ÜÀ§·Î ºÐ·ùµÇ¾î ³ª´©¾îÁ®
ÀÖ½À´Ï´Ù. ER(Entity
Relationship)¸ðµ¨Àº ¾÷¹«»óÀÇ ´Ù¾çÇÑ ¿£Æ¼Æ¼(entity)¿Í ±×µé°£ÀÇ °ü°è(relationship)¸¦ ±×¸²À¸·Î ³ªÅ¸³½ °ÍÀÔ´Ï´Ù. ER ¸ðµ¨Àº ¾÷¹«
¿ä±¸³ª »ç¾çÀ¸·ÎºÎÅÍ À¯ÃâµÇ¸ç ½Ã½ºÅÛ °³¹ß »ý¼º Áֱ⠴ܰèÁß ºÐ¼® ´Ü°è¿¡¼ ¸¸µé¾îÁý´Ï´Ù. ER ¸ðµ¨Àº ¾î¶² ÇÑ ¾÷¹«³»¿¡¼ ¼öÇàµÇ´Â ÇÒµ¿ÀÌ ¿ä±¸ÇÏ´Â
Á¤º¸¸¦ ºÐ¸®½ÃÄÑ ÁÝ´Ï´Ù. ºñ·Ï ¾÷¹«´Â ±×µéÀÇ È°µ¿¿¡ º¯È¸¦ °¡ÇÒ ¼ö ÀÖÁö¸¸ Á¤º¸ÀÇ ÇüÅ´ ±×´ë·Î ³²À¸·Á´Â °æÇâÀÌ ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î µ¥ÀÌÅÍ
±¸Á¶µµ º¯ÇÔ¾øÀÌ ±×´ë·Î ÀÖÀ¸·Á°í ÇÕ´Ï´Ù.
ER ¸ðµ¨¸µÀÇ
ÀåÁ¡
°ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡¼ »ç¿ëµÇ´Â ¿ë¾î
°ü°èÇü µ¥ÀÌÅͺ£À̽º´Â ÇÑ °³ ÀÌ»óÀÇ Å×À̺íÀ» °¡Áö°í ÀÖ½À´Ï´Ù. Å×À̺íÀº RDBMS¿¡¼ÀÇ ±âº» ÀúÀå
±¸Á¶ÀÔ´Ï´Ù. Å×À̺íÀº Çö½Ç¼ÓÀÇ ¾î¶² »ç¹°¿¡ ´ëÇØ ÇÊ¿äÇÑ Á¤º¸¸¦ Áö´Ï°í Àִµ¥?¿¹¸¦ µé¸é, °í¿ëÀÎ, ¼ÛÀå, °í°´ µîÀÔ´Ï´Ù.
À§ÀÇ ½½¶óÀ̵å´Â EMP table ¶Ç´Â relationÀ» º¸¿© ÁÖ°í ÀÖ½À´Ï´Ù. °¢ ¼ýÀÚ´Â ´ÙÀ½À»
ÀǹÌÇÕ´Ï´Ù:
1. ƯÁ¤ Á¾¾÷¿ø¿¡ ´ëÇÑ ¸ðµç µ¥ÀÌÅ͸¦ ³ªÅ¸³»´Â ´ÜÀÏ row ¶Ç´Â tupleÀÔ´Ï´Ù. Å×ÀÌºí¿¡¼ °¢ ÇàÀº
Áߺ¹µÇÁö ¾Ê´Â ÇàÀ» Çã¿ëÇÏ´Â ±âº» Å°(primary key)¿¡ ÀÇÇØ ½Äº°µÇ¾îÁ®¾ß ÇÕ´Ï´Ù. ÇàÀÇ ¼ø¼´Â ¹«ÀǹÌÇÕ´Ï´Ù. µ¥ÀÌÅ͸¦ ÀÐ¾î µéÀÏ ¶§ Çà
¼ø¼¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
2. ±âº» Å°(primary key)ÀÎ Á¾¾÷¿ø ¹øÈ£¸¦ Æ÷ÇÔÇÏ´Â ¿ (column) ¶Ç´Â ¼Ó¼º
(attribute)ÀÔ´Ï´Ù. Á¾¾÷¿ø ¹øÈ£´Â EMP Å×ÀÌºí¿¡¼ À¯ÀÏÇÑ(unique) Á¾¾÷¿øÀ» ½Äº°ÇÕ´Ï´Ù. ±âº» Å°(primary key)´Â °ªÀ»
²À Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
3. Å° °ªÀÌ ¾Æ´Ñ ¿ÀÔ´Ï´Ù. ¿Àº Å×ÀÌºí¿¡¼ ÇÑ Á¾·ùÀÇ µ¥ÀÌÅ͸¦ ³ªÅ¸³À´Ï´Ù. À§ÀÇ ¿¹¿¡¼´Â ¸ðµç Á¾¾÷¿ø¿¡
´ëÇÑ ¾÷¹«¸í(JOB)ÀÌ ÇØ´çµË´Ï´Ù. ¿ ¼ø¼´Â µ¥ÀÌÅÍ ÀúÀå ½Ã¿¡´Â ¹«ÀǹÌÇÕ´Ï´Ù. µ¥ÀÌÅ͸¦ ÀÐ¾î µéÀÏ ¶§ ¿ ¼ø¼¸¦
ÁöÁ¤ÇϽʽÿÀ.
4. ºÎ¼¹øÈ£¸¦ Æ÷ÇÔÇÏ´Â ¿Àº ¿Ü·¡ Å°(foreign key)ÀÔ´Ï´Ù. ¿Ü·¡ Å°´Â Å×ÀÌºí °£¿¡ ¼·Î ¾î¶»°Ô °ü·ÃµÇ¾ú´Â°¡¸¦ Á¤ÀÇÇÕ´Ï´Ù. ¿Ü·¡ Å°´Â ´Ù¸¥ Å×À̺íÀÇ ±âº» Å° ¶Ç´Â
°íÀ¯ Å°¸¦ ÂüÁ¶ÇÕ´Ï´Ù. À§ÀÇ ¿¹¿¡¼, DEPTNO´Â DEPT Å×ÀÌºí¿¡¼ ºÎ¼¸¦ unique ÇÏ°Ô ½Äº°ÇÕ´Ï´Ù.
5.
Çʵå(field) ´Â Çà°ú ¿ÀÇ ±³Â÷µÇ´Â °÷¿¡ ¹ß°ßµÉ ¼ö ÀÖ½À´Ï´Ù. ±× ¾È¿¡´Â ÇϳªÀÇ °ª¸¸ÀÌ Á¸ÀçÇÕ´Ï´Ù.
6. Çʵå´Â ±× ¾È¿¡
°ªÀ» °¡ÁöÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº null value¶ó ºÒ¸³´Ï´Ù. EMP Å×ÀÌºí¿¡¼ ¿µ¾÷ »ç¿øÀÎ Á¾¾÷¿ø¸¸ÀÌ COMM
(commission) Çʵ忡¼ °ªÀ» °¡Áý´Ï´Ù.
ÁÖ: Null °ªÀº
ÈÄ¼Ó Àå¿¡¼ ÀÚ¼¼È÷ ´Ù·ì´Ï´Ù.
°ü°èÇü µ¥ÀÌÅͺ£À̽º ¼Ó¼º
°ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡¼´Â Å×À̺í·ÎÀÇ ¾×¼¼½º
·çÆ®¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸ç ¶Ç ¹°¸®ÀûÀ¸·Î µ¥ÀÌÅÍ°¡ ¾î¶»°Ô ³ª¿µÇ´ÂÁö ¾Ë ÇÊ¿ä°¡ ¾ø½À´Ï´Ù.
µ¥ÀÌÅͺ£À̽º¸¦ ÀÌ¿ëÇϱâ À§Çؼ´Â, °ü°èÇü
µ¥ÀÌÅͺ£À̽º¸¦ °¡µ¿½Ãų ¼ö ÀÖ´Â ANSI(American National Standards Institute) Ç¥ÁØ ¾ð¾îÀÎ
SQL(Structured Query Language)¹®À» ½ÇÇàÇØ¾ß ÇÕ´Ï´Ù. ÀÌ ¾ð¾î´Â °ü°è(relation)¸¦ Á¶ÇÕ, ºÐ¸® ½Ãų ¼ö ÀÖ´Â
ÀÏ·ÃÀÇ Å« ¿¬»êÀÚ ÁýÇÕÀ» Áö´Ï°í ÀÖ½À´Ï´Ù. µ¥ÀÌÅͺ£À̽º´Â SQL¹® »ç¿ëÀ¸·Î ¼öÁ¤µµ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
SQL ¹®Àå
SQL·Î
¼¹ö¿Í Åë½ÅÀÌ °¡´ÉÇÏ¸ç ´ÙÀ½ÀÇ ÀåÁ¡ µîÀ» Áö´Ï°í ÀÖ½À´Ï´Ù:
Oracle8 ¿¡ ´ëÇÏ¿©
Oracle8Àº ¿À¶óŬ¿¡ ÀÇÇØ °³¹ßµÈ ù ¹ø° °´Ã¼°¡´É µ¥ÀÌÅͺ£À̽º ÀÔ´Ï´Ù. ÀÌ°ÍÀº »õ·Î¿î ORDBMS¸¦ Áö¿ø Çϱâ À§ÇÏ¿©
Oracle7ÀÇ µ¥ÀÌÅÍ ¸ðµ¨¸µ
´É·ÂÀ» È®ÀåÇÕ´Ï´Ù. Oracle8Àº °´Ã¼ ÁöÇâ ÇÁ·Î±×·¡¹Ö, º¹ÀâÇÑ µ¥ÀÌÅÍ Å¸ÀÔ, º¹ÀâÇÑ ºñÁö´Ï½º °´Ã¼, ½Ç¼¼°è¿Í ¿ÏÀüÈ÷ ¾ç¸³ °¡´ÉÇÑ »õ ¿£ÁøÀ»
Á¦°øÇÕ´Ï´Ù.
Oracle8Àº ¸¹Àº ¸é¿¡¼ Oracle7À» È®ÀåÇÕ´Ï´Ù. ·±Å¸ÀÓ µ¥ÀÌÅͱ¸Á¶¸¦ ´õ ¸¹ÀÌ °øÀ¯ÇÏ°í, ´õ Å« ¹öÆÛ Ä³½¬¸¦ Àâ°í,
Á¦¾àÁ¶°ÇÀ» Áö¿¬ °¡´ÉÄÉ ÇÏ´Â µî OLTP(Online Transaction Processing)ÀÇ ±â´É¼º°ú ¼º´ÉÀ» Çâ»ó½Ãŵ´Ï´Ù. µ¥ÀÌÅÍ
¿þ¾îÇϿ콺 ¾îÇø®ÄÉÀ̼ÇÀº »ðÀÔ, °»½Å, »èÁ¦ÀÇ º´·Ä ¼öÇà, ºÐÇÒ, º´·Ä ÀνÄÁúÀÇ ÃÖÀûÈ °°Àº ¼º´É Çâ»ó Ãø¸é¿¡¼ ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù.
NCA(Network Computing Architecture) ÇÁ·¹ÀÓ¿öÅ©¿¡¼ ÀÛµ¿ÁßÀÎ Oracle8Àº ºÐ»êµÇ°í(distributed) ´ÙÁßÀ¸·Î
°íÁ¤µÈ(multitiered) Ŭ¶óÀ̾ðÆ®-¼¹ö¿Í À¥ ±â¹Ý ¾îÇø®ÄÉÀ̼ÇÀ» Áö¿øÇÕ´Ï´Ù.
Oracle8Àº ¼ö½Ê¸¸ÀÇ µ¿½Ã »ç¿ëÀÚ¸¦ Á¶Á¤ÇÒ
¼ö ÀÖ°í 512 petabytes ±îÁö Áö¿øÇϸç ÀüÅëÀûÀ¸·Î ±¸Á¶ÈµÈ µ¥ÀÌÅÍ »Ó¸¸ ¾Æ´Ï¶ó ÅؽºÆ®, °ø°£ À̹ÌÁö, »ç¿îµå, ºñµð¿À, ÀÏ·ÃÀÇ ½Ã°£À»
Æ÷ÇÔÇÏ´Â ¾î¶² ŸÀÔÀÇ µ¥ÀÌÅ͵µ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÚ¼¼ÇÑ ³»¿ëÀ» ¾Ë°íÀÚ ÇÑ´Ù¸é, ´ÙÀ½À» ÂüÁ¶ÇϽʽÿÀ.
Oracle
Server Concepts Manual, Release 7.3.
Oracle Server Concepts Manual, Release
8.0.
SQL ¹®Àå
¿À¶óŬ SQLÀº
»ê¾÷½ÂÀÎÇ¥ÁØÀ» µû¸¨´Ï´Ù. ¿À¶óŬ ȸ»ç´Â SQL Ç¥ÁØ À§¿øȸ¿¡ ÁÖ¿ä Àλ縦 Àû±ØÀûÀ¸·Î Æ÷ÇÔ½ÃÄÑ, º¯È, ¹ßÀüÇϴ ǥÁØ¿¡ ´ëÇÑ ¹Ì·¡ ¼ö¿ëÀ»
º¸ÁõÇÕ´Ï´Ù. »ê¾÷½ÂÀΠǥÁØÀ§¿øȸ´ÂANSI(American Standards Institute)¿Í ISO(International
Standards Organization) ÀÔ´Ï´Ù. ANSI ¿Í ISO ´Â °ü°èÇü µ¥ÀÌÅͺ£À̽º Ç¥ÁØ ¾ð¾î·Î SQLÀ» äÅÃÇß½À´Ï´Ù.
¹®Àå |
¼³¸í |
SELECT |
µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ µ¥ÀÌÅÍ °Ë»ö |
INSERT |
°³º°ÀûÀ¸·Î µ¥ÀÌÅͺ£À̽º Å×ÀÌºí¿¡¼ »õ·Î¿î ÇàÀ» ÀÔ·ÂÇÏ°í ±âÁ¸ÀÇ ÇàÀ» º¯°æÇÏ°í, ¿øÄ¡ ¾Ê´Â ÇàÀ»
Á¦°ÅÇÕ´Ï´Ù. ÃÑ°ýÇÏ¿© DML (data
manipulation language)À̶ó ºÎ¸¨´Ï´Ù. |
CREATE |
Å×À̺í·ÎºÎÅÍ µ¥ÀÌÅÍ ±¸Á¶¸¦ »ý¼º, º¯°æ, Á¦°Å¸¦ Çϸç DDL (data definition language)À̶ó ºÎ¸¨´Ï´Ù. |
COMMIT |
DML ¸í·É¹®À¸·Î ¸¸µç º¯°æÀ» °ü¸®. µ¥ÀÌÅÍ º¯°æÀº ³í¸®Àû Æ®·£Àè¼ÇÀ¸·Î ÇÔ²² ±×·ìÈ µÉ ¼ö
ÀÖ½À´Ï´Ù. |
GRANT |
¿À¶óŬ µ¥ÀÌÅͺ£À̽º¿Í ±× ±¸Á¶¿¡°Ô ¾×¼¼½º ±ÇÇÑÀ» Á¦°øÇϰųª Á¦°ÅÇÕ´Ï´Ù. À̸¦ DCL (data control language)À̶ó ºÎ¸¨´Ï´Ù. |
º» °úÁ¤¿¡ »ç¿ëµÇ´Â Å×À̺í
º» °úÁ¤¿¡¼ 3°¡ÁöÀÇ ÁÖ¿ä Å×À̺íÀÌ »ç¿ëµÉ
°ÍÀÔ´Ï´Ù: